diff --git a/app/Http/Controllers/Auth/Users.php b/app/Http/Controllers/Auth/Users.php
index 3f5016311..f3d6a6926 100644
--- a/app/Http/Controllers/Auth/Users.php
+++ b/app/Http/Controllers/Auth/Users.php
@@ -282,7 +282,7 @@ class Users extends Controller
}
// Redirect to items
- return redirect('items/items');
+ return redirect('common/items');
}
public function autocomplete(ARequest $request)
diff --git a/app/Http/Controllers/Expenses/Bills.php b/app/Http/Controllers/Expenses/Bills.php
index d314b4e90..5c7a99c66 100644
--- a/app/Http/Controllers/Expenses/Bills.php
+++ b/app/Http/Controllers/Expenses/Bills.php
@@ -66,9 +66,15 @@ class Bills extends Controller
$paid = 0;
foreach ($bill->payments as $item) {
- $item->default_currency_code = $bill->currency_code;
+ $amount = $item->amount;
- $paid += $item->getDynamicConvertedAmount();
+ if ($bill->currency_code != $item->currency_code) {
+ $item->default_currency_code = $bill->currency_code;
+
+ $amount = $item->getDynamicConvertedAmount();
+ }
+
+ $paid += $amount;
}
$bill->paid = $paid;
@@ -607,7 +613,7 @@ class Bills extends Controller
for ($i = 0; $i < $currency->precision; $i++) {
$multiplier *= 10;
}
-
+
$amount *= $multiplier;
$total_amount *= $multiplier;
@@ -713,9 +719,15 @@ class Bills extends Controller
$paid = 0;
foreach ($bill->payments as $item) {
- $item->default_currency_code = $bill->currency_code;
+ $amount = $item->amount;
- $paid += $item->getDynamicConvertedAmount();
+ if ($bill->currency_code != $item->currency_code) {
+ $item->default_currency_code = $bill->currency_code;
+
+ $amount = $item->getDynamicConvertedAmount();
+ }
+
+ $paid += $amount;
}
$bill->paid = $paid;
diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php
index d8849096f..044a2c670 100644
--- a/app/Http/Controllers/Incomes/Invoices.php
+++ b/app/Http/Controllers/Incomes/Invoices.php
@@ -675,9 +675,15 @@ class Invoices extends Controller
$paid = 0;
foreach ($invoice->payments as $item) {
- $item->default_currency_code = $invoice->currency_code;
+ $amount = $item->amount;
- $paid += $item->getDynamicConvertedAmount();
+ if ($invoice->currency_code != $item->currency_code) {
+ $item->default_currency_code = $invoice->currency_code;
+
+ $amount = $item->getDynamicConvertedAmount();
+ }
+
+ $paid += $amount;
}
$amount = $invoice->amount - $paid;
@@ -691,7 +697,7 @@ class Invoices extends Controller
$request['payment_method'] = setting('general.default_payment_method', 'offlinepayment.cash.1');
$request['currency_code'] = $invoice->currency_code;
$request['amount'] = $amount;
- $request['paid_at'] = Date::now();
+ $request['paid_at'] = Date::now()->format('Y-m-d');
$request['_token'] = csrf_token();
$this->payment($request);
diff --git a/app/Http/Controllers/Reports/ExpenseSummary.php b/app/Http/Controllers/Reports/ExpenseSummary.php
index a72c03ee1..ff19da333 100644
--- a/app/Http/Controllers/Reports/ExpenseSummary.php
+++ b/app/Http/Controllers/Reports/ExpenseSummary.php
@@ -101,6 +101,12 @@ class ExpenseSummary extends Controller
private function setAmount(&$graph, &$totals, &$expenses, $items, $type, $date_field)
{
foreach ($items as $item) {
+ if ($item['table'] == 'bill_payments') {
+ $bill = $item->bill;
+
+ $item->category_id = $bill->category_id;
+ }
+
$date = Date::parse($item->$date_field)->format('F');
if (!isset($expenses[$item->category_id])) {
diff --git a/app/Http/Controllers/Reports/IncomeExpenseSummary.php b/app/Http/Controllers/Reports/IncomeExpenseSummary.php
index c8a65b73e..b09cc7dc1 100644
--- a/app/Http/Controllers/Reports/IncomeExpenseSummary.php
+++ b/app/Http/Controllers/Reports/IncomeExpenseSummary.php
@@ -138,6 +138,12 @@ class IncomeExpenseSummary extends Controller
private function setAmount(&$graph, &$totals, &$compares, $items, $type, $date_field)
{
foreach ($items as $item) {
+ if ($item['table'] == 'bill_payments' || $item['table'] == 'invoice_payments') {
+ $type_item = $item->$type;
+
+ $item->category_id = $type_item->category_id;
+ }
+
$date = Date::parse($item->$date_field)->format('F');
$group = (($type == 'invoice') || ($type == 'revenue')) ? 'income' : 'expense';
diff --git a/app/Http/Controllers/Reports/IncomeSummary.php b/app/Http/Controllers/Reports/IncomeSummary.php
index 16f05aa73..0d72c6ecc 100644
--- a/app/Http/Controllers/Reports/IncomeSummary.php
+++ b/app/Http/Controllers/Reports/IncomeSummary.php
@@ -101,6 +101,12 @@ class IncomeSummary extends Controller
private function setAmount(&$graph, &$totals, &$incomes, $items, $type, $date_field)
{
foreach ($items as $item) {
+ if ($item['table'] == 'invoice_payments') {
+ $invoice = $item->invoice;
+
+ $item->category_id = $invoice->category_id;
+ }
+
$date = Date::parse($item->$date_field)->format('F');
if (!isset($incomes[$item->category_id])) {
diff --git a/app/Http/Controllers/Reports/ProfitLoss.php b/app/Http/Controllers/Reports/ProfitLoss.php
index 1726aeb18..96cecddb1 100644
--- a/app/Http/Controllers/Reports/ProfitLoss.php
+++ b/app/Http/Controllers/Reports/ProfitLoss.php
@@ -155,6 +155,12 @@ class ProfitLoss extends Controller
private function setAmount(&$totals, &$compares, $items, $type, $date_field)
{
foreach ($items as $item) {
+ if ($item['table'] == 'bill_payments' || $item['table'] == 'invoice_payments') {
+ $type_item = $item->$type;
+
+ $item->category_id = $type_item->category_id;
+ }
+
$date = Date::parse($item->$date_field)->quarter;
$group = (($type == 'invoice') || ($type == 'revenue')) ? 'income' : 'expense';
diff --git a/app/Http/Controllers/Reports/TaxSummary.php b/app/Http/Controllers/Reports/TaxSummary.php
index 45e74ab60..5638c05e6 100644
--- a/app/Http/Controllers/Reports/TaxSummary.php
+++ b/app/Http/Controllers/Reports/TaxSummary.php
@@ -103,6 +103,12 @@ class TaxSummary extends Controller
private function setAmount(&$items, &$totals, $rows, $type, $date_field)
{
foreach ($rows as $row) {
+ if ($row['table'] == 'bill_payments' || $row['table'] == 'invoice_payments') {
+ $type_row = $row->$type;
+
+ $row->category_id = $type_row->category_id;
+ }
+
$date = Date::parse($row->$date_field)->format('M');
if ($date_field == 'paid_at') {
diff --git a/app/Utilities/Info.php b/app/Utilities/Info.php
index 3f9e33534..1f20c86f7 100644
--- a/app/Utilities/Info.php
+++ b/app/Utilities/Info.php
@@ -36,9 +36,14 @@ class Info
{
return phpversion();
}
+
+ public static function mysqlVersion()
+ {
+ if(env('DB_CONNECTION') === 'mysql')
+ {
+ return DB::selectOne('select version() as mversion')->mversion;
+ }
- public static function mysqlVersion()
- {
- return DB::selectOne('select version() as mversion')->mversion;
- }
+ return "N/A";
+ }
}
\ No newline at end of file
diff --git a/database/migrations/2017_12_09_000000_add_currency_columns.php b/database/migrations/2017_12_09_000000_add_currency_columns.php
index e5f282112..1d6aeef23 100644
--- a/database/migrations/2017_12_09_000000_add_currency_columns.php
+++ b/database/migrations/2017_12_09_000000_add_currency_columns.php
@@ -26,13 +26,15 @@ class AddCurrencyColumns extends Migration
* @return void
*/
public function down()
- {
- Schema::table('currencies', function ($table) {
- $table->dropColumn('precision');
- $table->dropColumn('symbol');
- $table->dropColumn('symbol_first');
- $table->dropColumn('decimal_mark');
- $table->dropColumn('thousands_separator');
- });
- }
+ {
+ Schema::table('currencies', function ($table) {
+ $table->dropColumn([
+ 'precision',
+ 'symbol',
+ 'symbol_first',
+ 'decimal_mark',
+ 'thousands_separator',
+ ]);
+ });
+ }
}
diff --git a/database/migrations/2018_04_23_000000_add_category_column_invoices_bills.php b/database/migrations/2018_04_23_000000_add_category_column_invoices_bills.php
index dd8b4fca0..c23ed4c46 100644
--- a/database/migrations/2018_04_23_000000_add_category_column_invoices_bills.php
+++ b/database/migrations/2018_04_23_000000_add_category_column_invoices_bills.php
@@ -4,21 +4,21 @@ use Illuminate\Database\Migrations\Migration;
class AddCategoryColumnInvoicesBills extends Migration
{
- /**
- * Run the migrations.
- *
- * @return void
- */
- public function up()
- {
- Schema::table('invoices', function ($table) {
- $table->integer('category_id');
- });
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::table('invoices', function ($table) {
+ $table->integer('category_id')->default();
+ });
- Schema::table('bills', function ($table) {
- $table->integer('category_id');
- });
- }
+ Schema::table('bills', function ($table) {
+ $table->integer('category_id')->default();
+ });
+ }
/**
* Reverse the migrations.
diff --git a/public/css/app.css b/public/css/app.css
index e618ec239..86e7ca968 100644
--- a/public/css/app.css
+++ b/public/css/app.css
@@ -662,3 +662,14 @@ input[type="number"] {
border-bottom: 20px solid transparent;
border-left: 20px solid #ecf0f5;
}
+
+@-moz-document url-prefix() {
+ .show-calendar .calendar-table .table-condensed > tbody > tr > td,
+ .show-calendar .calendar-table .table-condensed > tbody > tr > th,
+ .show-calendar .calendar-table .table-condensed > tfoot > tr > td,
+ .show-calendar .calendar-table .table-condensed > tfoot > tr > th,
+ .show-calendar .calendar-table .table-condensed > thead > tr > td,
+ .show-calendar .calendar-table .table-condensed > thead > tr > th {
+ padding: 0;
+ }
+}
diff --git a/resources/lang/en-GB/notifications.php b/resources/lang/en-GB/notifications.php
new file mode 100644
index 000000000..55bf2f46b
--- /dev/null
+++ b/resources/lang/en-GB/notifications.php
@@ -0,0 +1,11 @@
+ 'Whoops!',
+ 'hello' => 'Hello!',
+ 'salutation' => 'Regards,
:company_name',
+ 'subcopy' => 'If you’re having trouble clicking the ":text" button, copy and paste the URL below
+into your web browser: [:url](:url)',
+
+];
diff --git a/resources/views/banking/transfers/create.blade.php b/resources/views/banking/transfers/create.blade.php
index a5c6cd64f..ccf03fa75 100644
--- a/resources/views/banking/transfers/create.blade.php
+++ b/resources/views/banking/transfers/create.blade.php
@@ -14,7 +14,7 @@
{{ Form::textGroup('amount', trans('general.amount'), 'money') }}
- {{ Form::textGroup('transferred_at', trans('general.date'), 'calendar',['id' => 'transferred_at', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => ''], Date::now()->toDateString()) }}
+ {{ Form::textGroup('transferred_at', trans('general.date'), 'calendar',['id' => 'transferred_at', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => '', 'autocomplete' => 'off'], Date::now()->toDateString()) }}
{{ Form::textareaGroup('description', trans('general.description')) }}
diff --git a/resources/views/banking/transfers/edit.blade.php b/resources/views/banking/transfers/edit.blade.php
index 11ebad5a1..31a25c5ea 100644
--- a/resources/views/banking/transfers/edit.blade.php
+++ b/resources/views/banking/transfers/edit.blade.php
@@ -18,7 +18,7 @@
{{ Form::textGroup('amount', trans('general.amount'), 'money') }}
- {{ Form::textGroup('transferred_at', trans('general.date'), 'calendar',['id' => 'transferred_at', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => 'yyyy-mm-dd']) }}
+ {{ Form::textGroup('transferred_at', trans('general.date'), 'calendar',['id' => 'transferred_at', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => 'yyyy-mm-dd', 'autocomplete' => 'off']) }}
{{ Form::textareaGroup('description', trans('general.description')) }}
diff --git a/resources/views/expenses/bills/create.blade.php b/resources/views/expenses/bills/create.blade.php
index 6e713b3d0..cb81ab142 100644
--- a/resources/views/expenses/bills/create.blade.php
+++ b/resources/views/expenses/bills/create.blade.php
@@ -22,9 +22,9 @@
{{ Form::selectGroup('currency_code', trans_choice('general.currencies', 1), 'exchange', $currencies, setting('general.default_currency')) }}
- {{ Form::textGroup('billed_at', trans('bills.bill_date'), 'calendar',['id' => 'billed_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy/mm/dd\'', 'data-mask' => ''],Date::now()->toDateString()) }}
+ {{ Form::textGroup('billed_at', trans('bills.bill_date'), 'calendar',['id' => 'billed_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy/mm/dd\'', 'data-mask' => '', 'autocomplete' => 'off'],Date::now()->toDateString()) }}
- {{ Form::textGroup('due_at', trans('bills.due_date'), 'calendar',['id' => 'due_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy/mm/dd\'', 'data-mask' => ''],Date::now()->toDateString()) }}
+ {{ Form::textGroup('due_at', trans('bills.due_date'), 'calendar',['id' => 'due_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy/mm/dd\'', 'data-mask' => '', 'autocomplete' => 'off'],Date::now()->toDateString()) }}
{{ Form::textGroup('bill_number', trans('bills.bill_number'), 'file-text-o') }}
diff --git a/resources/views/expenses/bills/edit.blade.php b/resources/views/expenses/bills/edit.blade.php
index 861807e95..b774324f6 100644
--- a/resources/views/expenses/bills/edit.blade.php
+++ b/resources/views/expenses/bills/edit.blade.php
@@ -12,9 +12,9 @@
{{ Form::selectGroup('currency_code', trans_choice('general.currencies', 1), 'exchange', $currencies) }}
- {{ Form::textGroup('billed_at', trans('bills.bill_date'), 'calendar', ['id' => 'billed_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => ''], Date::parse($bill->billed_at)->toDateString()) }}
+ {{ Form::textGroup('billed_at', trans('bills.bill_date'), 'calendar', ['id' => 'billed_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => '', 'autocomplete' => 'off'], Date::parse($bill->billed_at)->toDateString()) }}
- {{ Form::textGroup('due_at', trans('bills.due_date'), 'calendar', ['id' => 'due_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => ''], Date::parse($bill->due_at)->toDateString()) }}
+ {{ Form::textGroup('due_at', trans('bills.due_date'), 'calendar', ['id' => 'due_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy-mm-dd\'', 'data-mask' => '', 'autocomplete' => 'off'], Date::parse($bill->due_at)->toDateString()) }}
{{ Form::textGroup('bill_number', trans('bills.bill_number'), 'file-text-o') }}
diff --git a/resources/views/expenses/bills/show.blade.php b/resources/views/expenses/bills/show.blade.php
index 57b78fd71..9355e93be 100644
--- a/resources/views/expenses/bills/show.blade.php
+++ b/resources/views/expenses/bills/show.blade.php
@@ -334,7 +334,7 @@
html += ' {!! Form::label('paid_at', trans('general.date'), ['class' => 'control-label']) !!}';
html += '