Fixed the account role view.

This commit is contained in:
James Cole
2015-01-24 07:15:03 +01:00
parent 0905ceb1d5
commit b766d93d9a
3 changed files with 28 additions and 23 deletions

View File

@@ -52,7 +52,7 @@ class Account implements CUDInterface, CommonDatabaseCallsInterface, AccountInte
* Basic query:
*/
$query = $this->getUser()->accounts()->accountTypeIn($types)->withMeta()->orderBy('name', 'ASC');;
$set = $query->get(['accounts.*']);
$set = $query->get(['accounts.*', 'account_meta.data as accountRole']);
$set->each(
function (\Account $account) {
@@ -60,6 +60,7 @@ class Account implements CUDInterface, CommonDatabaseCallsInterface, AccountInte
* Get last activity date.
*/
$account->lastActivityDate = $this->getLastActivity($account);
$account->accountRole = \Config::get('firefly.accountRoles.' . json_decode($account->accountRole));
}
);
@@ -197,19 +198,19 @@ class Account implements CUDInterface, CommonDatabaseCallsInterface, AccountInte
}
\Event::fire('account.destroy', [$model]);
\Account::
leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')
->where(
function (EloquentBuilder $q) use ($model) {
$q->where('id', $model->id);
$q->orWhere(
leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')
->where(
function (EloquentBuilder $q) use ($model) {
$q->where('accounts.name', 'LIKE', '%' . $model->name . '%');
$q->where('account_types.type', 'Initial balance account');
$q->where('accounts.active', 0);
$q->where('id', $model->id);
$q->orWhere(
function (EloquentBuilder $q) use ($model) {
$q->where('accounts.name', 'LIKE', '%' . $model->name . '%');
$q->where('account_types.type', 'Initial balance account');
$q->where('accounts.active', 0);
}
);
}
);
}
)->delete();
)->delete();
return true;

View File

@@ -1,10 +1,10 @@
<?php
use Illuminate\Database\Eloquent\SoftDeletingTrait;
use Watson\Validating\ValidatingTrait;
use \Illuminate\Database\Eloquent\Model as Eloquent;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Model as Eloquent;
use Illuminate\Database\Eloquent\SoftDeletingTrait;
use Illuminate\Database\Query\JoinClause;
use Watson\Validating\ValidatingTrait;
/**
* Class Account
@@ -18,15 +18,15 @@ class Account extends Eloquent
* @var array
*/
public static $rules
= [
= [
'name' => ['required', 'between:1,100'],
'user_id' => 'required|exists:users,id',
'account_type_id' => 'required|exists:account_types,id',
'active' => 'required|boolean'
];
protected $dates = ['deleted_at', 'created_at', 'updated_at'];
protected $fillable = ['name', 'user_id', 'account_type_id', 'active'];
protected $dates = ['deleted_at', 'created_at', 'updated_at'];
protected $fillable = ['name', 'user_id', 'account_type_id', 'active'];
/**
* Account type.
@@ -67,7 +67,7 @@ class Account extends Eloquent
/**
*
* @param EloquentBuilder $query
* @param array $types
* @param array $types
*/
public function scopeAccountTypeIn(EloquentBuilder $query, array $types)
{
@@ -82,9 +82,13 @@ class Account extends Eloquent
*
* @param EloquentBuilder $query
*/
public function scopeWithMeta(EloquentBuilder $query)
public function scopeWithMeta(EloquentBuilder $query, $field = 'accountRole')
{
$query->with(['accountmeta']);
$query->leftJoin(
'account_meta', function (JoinClause $join) use ($field) {
$join->on('account_meta.account_id', '=', 'accounts.id')->where('account_meta.name', '=', $field);
}
);
}
/**

View File

@@ -31,7 +31,7 @@
@if($what == 'asset')
{{Form::ffBalance('openingbalance')}}
{{Form::ffDate('openingbalancedate', date('Y-m-d'))}}
@endif
@endif
{{Form::ffCheckbox('active','1',true)}}
{{Form::ffSelect('account_role',Config::get('firefly.accountRoles'))}}
</div>