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: * Basic query:
*/ */
$query = $this->getUser()->accounts()->accountTypeIn($types)->withMeta()->orderBy('name', 'ASC');; $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( $set->each(
function (\Account $account) { function (\Account $account) {
@@ -60,6 +60,7 @@ class Account implements CUDInterface, CommonDatabaseCallsInterface, AccountInte
* Get last activity date. * Get last activity date.
*/ */
$account->lastActivityDate = $this->getLastActivity($account); $account->lastActivityDate = $this->getLastActivity($account);
$account->accountRole = \Config::get('firefly.accountRoles.' . json_decode($account->accountRole));
} }
); );

View File

@@ -1,10 +1,10 @@
<?php <?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\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 * Class Account
@@ -82,9 +82,13 @@ class Account extends Eloquent
* *
* @param EloquentBuilder $query * @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);
}
);
} }
/** /**