From 5ed53d5f0414a24f46d931023d79b819fc9b2f66 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 8 Apr 2016 20:36:11 +0200 Subject: [PATCH] Some new code for CSV. --- app/Models/TransactionJournal.php | 2 +- app/Models/TransactionJournalMeta.php | 24 ++++++++++++- .../2016_04_08_181054_changes_for_v383.php | 36 +++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 database/migrations/2016_04_08_181054_changes_for_v383.php diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index cae98cc4d3..c87e3f426d 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -216,7 +216,7 @@ class TransactionJournal extends TransactionJournalSupport * * @return string */ - public function getMeta($fieldName): string + public function getMeta($fieldName) { foreach ($this->transactionjournalmeta as $meta) { if ($meta->name == $fieldName) { diff --git a/app/Models/TransactionJournalMeta.php b/app/Models/TransactionJournalMeta.php index 2ebe924c1f..19687815cf 100644 --- a/app/Models/TransactionJournalMeta.php +++ b/app/Models/TransactionJournalMeta.php @@ -31,14 +31,36 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournalMeta whereName($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournalMeta whereData($value) * @mixin \Eloquent + * @property string $hash + * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\TransactionJournalMeta whereHash($value) */ class TransactionJournalMeta extends Model { protected $dates = ['created_at', 'updated_at']; - protected $fillable = ['transaction_journal_id', 'name', 'data']; + protected $fillable = ['transaction_journal_id', 'name', 'data','hash']; protected $table = 'journal_meta'; + /** + * @param $value + * + * @return mixed + */ + public function getDataAttribute($value) + { + return json_decode($value); + } + + /** + * @param $value + */ + public function setDataAttribute($value) + { + $data = json_encode($value); + $this->attributes['data'] = $data; + $this->attributes['hash'] = hash('sha256', $data); + } + /** * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo diff --git a/database/migrations/2016_04_08_181054_changes_for_v383.php b/database/migrations/2016_04_08_181054_changes_for_v383.php new file mode 100644 index 0000000000..d39dcf77fd --- /dev/null +++ b/database/migrations/2016_04_08_181054_changes_for_v383.php @@ -0,0 +1,36 @@ +string('hash', 64)->nullable(); + } + ); + } +}