Management of links and first form for link storing #616

This commit is contained in:
James Cole
2017-08-21 07:13:03 +02:00
parent c5cdd748fc
commit 35ab4a5ff4
25 changed files with 948 additions and 31 deletions

View File

@@ -16,6 +16,7 @@ namespace FireflyIII\Models;
use Illuminate\Database\Eloquent\Model;
/**
* @property int $journalCount
* Class LinkType
*
* @package FireflyIII\Models
@@ -35,4 +36,8 @@ class LinkType extends Model
'editable' => 'boolean',
];
public function transactionJournalLinks() {
return $this->hasMany(TransactionJournalLink::class);
}
}

View File

@@ -372,6 +372,21 @@ class TransactionJournal extends Model
return $entry;
}
/**
* @return HasMany
*/
public function sourceJournalLinks(): HasMany
{
return $this->hasMany(TransactionJournalLink::class, 'source_id');
}
/**
* @return HasMany
*/
public function destinationJournalLinks(): HasMany
{
return $this->hasMany(TransactionJournalLink::class, 'destination_id');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/

View File

@@ -0,0 +1,53 @@
<?php
/**
* TransactionJournalLink.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Models;
use Illuminate\Database\Eloquent\Model;
/**
* Class TransactionJournalLink
*
* @package FireflyIII\Models
*/
class TransactionJournalLink extends Model
{
protected $table = 'journal_links';
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function linkType()
{
return $this->belongsTo(LinkType::class);
}
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function source()
{
return $this->belongsTo(TransactionJournal::class,'source_id');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function destination()
{
return $this->belongsTo(TransactionJournal::class,'destination_id');
}
}