diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index aa80d2cead..b26b5778eb 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -116,6 +116,24 @@ class MassController extends Controller Session::flash('gaEventCategory', 'transactions'); Session::flash('gaEventAction', 'mass-edit'); + // set some values to be used in the edit routine: + $journals->each( + function (TransactionJournal $journal) { + $journal->amount = TransactionJournal::amountPositive($journal); + $sources = TransactionJournal::sourceAccountList($journal); + $destinations = TransactionJournal::destinationAccountList($journal); + $journal->transaction_count = $journal->transactions()->count(); + if (!is_null($sources->first())) { + $journal->source_account_id = $sources->first()->id; + $journal->source_account_name = $sources->first()->name; + } + if (!is_null($destinations->first())) { + $journal->destination_account_id = $destinations->first()->id; + $journal->destination_account_name = $destinations->first()->name; + } + } + ); + return view('transactions.mass-edit', compact('journals', 'subTitle', 'accountList')); } diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index 949d028148..873d5826d4 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -47,15 +47,15 @@ use Watson\Validating\ValidatingTrait; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournal after($date) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournal before($date) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournal transactionTypes($types) - * @property-read string $transaction_type_type + * @property string $transaction_type_type * @property-read string $transaction_currency_code * @property-read string $destination_amount - * @property-read string $destination_account_id - * @property-read string $destination_account_name + * @property string $destination_account_id + * @property string $destination_account_name * @property-read string $destination_account_type * @property-read string $source_amount - * @property-read string $source_account_id - * @property-read string $source_account_name + * @property string $source_account_id + * @property string $source_account_name * @property-read string $source_account_type * @property \Carbon\Carbon $process_date * @property int $account_id @@ -178,20 +178,6 @@ class TransactionJournal extends TransactionJournalSupport return $value; } - /** - * @param $value - * - * @return string - */ - public function getDestinationAccountNameAttribute($value) - { - if (!is_null($value) && strlen(strval($value)) > 0) { - return Crypt::decrypt($value); - } - - return null; - } - /** * * @param string $fieldName @@ -209,21 +195,6 @@ class TransactionJournal extends TransactionJournalSupport return ''; } - /** - * @param $value - * - * @return string - */ - public function getSourceAccountNameAttribute($value) - { - if (!is_null($value) && strlen(strval($value)) > 0) { - return Crypt::decrypt($value); - } - - return null; - - } - /** * @return bool */ @@ -322,17 +293,6 @@ class TransactionJournal extends TransactionJournalSupport return $query->where('transaction_journals.date', '<=', $date->format('Y-m-d 00:00:00')); } - /** - * @param EloquentBuilder $query - */ - public function scopeSortCorrectly(EloquentBuilder $query) - { - $query->orderBy('transaction_journals.date', 'DESC'); - $query->orderBy('transaction_journals.order', 'ASC'); - $query->orderBy('transaction_journals.id', 'DESC'); - - } - /** * @param EloquentBuilder $query */ @@ -351,6 +311,17 @@ class TransactionJournal extends TransactionJournalSupport $query->with(['categories', 'budgets', 'attachments', 'bill', 'transactions']); } + /** + * @param EloquentBuilder $query + */ + public function scopeSortCorrectly(EloquentBuilder $query) + { + $query->orderBy('transaction_journals.date', 'DESC'); + $query->orderBy('transaction_journals.order', 'ASC'); + $query->orderBy('transaction_journals.id', 'DESC'); + + } + /** * * @param EloquentBuilder $query diff --git a/resources/views/transactions/mass-edit.twig b/resources/views/transactions/mass-edit.twig index bdc9831de1..45fe55359d 100644 --- a/resources/views/transactions/mass-edit.twig +++ b/resources/views/transactions/mass-edit.twig @@ -27,61 +27,58 @@