add group settings to company transformer:

This commit is contained in:
David Bomba 2019-09-22 20:41:43 +10:00
parent 7382ff0b84
commit a9f4a5feaf
5 changed files with 64 additions and 4 deletions

View File

@ -112,6 +112,11 @@ class Company extends BaseModel
return $this->hasMany(ClientContact::class);
}
public function groups()
{
return $this->hasMany(GroupSetting::class);
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/

View File

@ -16,8 +16,10 @@ use App\Models\Account;
use App\Models\Client;
use App\Models\Company;
use App\Models\CompanyUser;
use App\Models\GroupSetting;
use App\Models\User;
use App\Transformers\CompanyUserTransformer;
use App\Transformers\GroupSettingTransformer;
use App\Utils\Traits\MakesHash;
/**
@ -50,6 +52,7 @@ class CompanyTransformer extends EntityTransformer
'expenses',
'payments',
'company_user',
'groups'
];
@ -88,7 +91,6 @@ class CompanyTransformer extends EntityTransformer
$transformer = new CompanyUserTransformer($this->serializer);
return $this->includeItem($company->company_users->where('user_id', auth()->user()->id)->first(), $transformer, CompanyUser::class);
}
public function includeUsers(Company $company)
@ -105,6 +107,13 @@ class CompanyTransformer extends EntityTransformer
return $this->includeCollection($company->clients, $transformer, Client::class);
}
public function includeGroups(Company $company)
{
$transformer = new GroupSettingTransformer($this->serializer);
return $this->includeCollection($company->groups, $transformer, GroupSetting::class);
}
public function includeInvoices(Company $company)
{
$transformer = new InvoiceTransformer($this->serializer);

View File

@ -0,0 +1,47 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com)
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2019. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://opensource.org/licenses/AAL
*/
namespace App\Transformers;
use App\Models\GroupSetting;
use App\Utils\Traits\MakesHash;
/**
* class ClientTransformer
*/
class GroupSettingTransformer extends EntityTransformer
{
use MakesHash;
protected $defaultIncludes = [
];
/**
* @var array
*/
protected $availableIncludes = [
];
/**
* @param Client $client
*
* @return array
*/
public function transform(GroupSetting $group_setting)
{
return [
'id' => $this->encodePrimaryKey($group_setting->id),
'name' => $group_setting->name ?: '',
'settings' => $group_setting->settings ?: '',
];
}
}

View File

@ -85,7 +85,6 @@ class Statics
return $industry->name;
})->values();
$data['countries'] = Cache::get('countries')->each(function ($country) {
$country->name = ctrans('texts.country_'.$country->name);
})->sortBy(function ($country) {

View File

@ -68,8 +68,8 @@ return [
'sizes' => 'App\Models\Size',
'industries' => 'App\Models\Industry',
'timezones' => 'App\Models\Timezone',
//'dateFormats' => 'App\Models\DateFormat',
//'datetimeFormats' => 'App\Models\DatetimeFormat',
'dateFormats' => 'App\Models\DateFormat',
'datetimeFormats' => 'App\Models\DatetimeFormat',
'languages' => 'App\Models\Language',
'payment_types' => 'App\Models\PaymentType',
'countries' => 'App\Models\Country',