mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-03 19:04:36 -04:00
add group settings to company transformer:
This commit is contained in:
parent
7382ff0b84
commit
a9f4a5feaf
@ -112,6 +112,11 @@ class Company extends BaseModel
|
|||||||
return $this->hasMany(ClientContact::class);
|
return $this->hasMany(ClientContact::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function groups()
|
||||||
|
{
|
||||||
|
return $this->hasMany(GroupSetting::class);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
||||||
*/
|
*/
|
||||||
|
@ -16,8 +16,10 @@ use App\Models\Account;
|
|||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
use App\Models\Company;
|
use App\Models\Company;
|
||||||
use App\Models\CompanyUser;
|
use App\Models\CompanyUser;
|
||||||
|
use App\Models\GroupSetting;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Transformers\CompanyUserTransformer;
|
use App\Transformers\CompanyUserTransformer;
|
||||||
|
use App\Transformers\GroupSettingTransformer;
|
||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -50,6 +52,7 @@ class CompanyTransformer extends EntityTransformer
|
|||||||
'expenses',
|
'expenses',
|
||||||
'payments',
|
'payments',
|
||||||
'company_user',
|
'company_user',
|
||||||
|
'groups'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
@ -88,7 +91,6 @@ class CompanyTransformer extends EntityTransformer
|
|||||||
$transformer = new CompanyUserTransformer($this->serializer);
|
$transformer = new CompanyUserTransformer($this->serializer);
|
||||||
|
|
||||||
return $this->includeItem($company->company_users->where('user_id', auth()->user()->id)->first(), $transformer, CompanyUser::class);
|
return $this->includeItem($company->company_users->where('user_id', auth()->user()->id)->first(), $transformer, CompanyUser::class);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function includeUsers(Company $company)
|
public function includeUsers(Company $company)
|
||||||
@ -105,6 +107,13 @@ class CompanyTransformer extends EntityTransformer
|
|||||||
return $this->includeCollection($company->clients, $transformer, Client::class);
|
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)
|
public function includeInvoices(Company $company)
|
||||||
{
|
{
|
||||||
$transformer = new InvoiceTransformer($this->serializer);
|
$transformer = new InvoiceTransformer($this->serializer);
|
||||||
|
47
app/Transformers/GroupSettingTransformer.php
Normal file
47
app/Transformers/GroupSettingTransformer.php
Normal 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 ?: '',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@ -85,7 +85,6 @@ class Statics
|
|||||||
return $industry->name;
|
return $industry->name;
|
||||||
})->values();
|
})->values();
|
||||||
|
|
||||||
|
|
||||||
$data['countries'] = Cache::get('countries')->each(function ($country) {
|
$data['countries'] = Cache::get('countries')->each(function ($country) {
|
||||||
$country->name = ctrans('texts.country_'.$country->name);
|
$country->name = ctrans('texts.country_'.$country->name);
|
||||||
})->sortBy(function ($country) {
|
})->sortBy(function ($country) {
|
||||||
|
@ -68,8 +68,8 @@ return [
|
|||||||
'sizes' => 'App\Models\Size',
|
'sizes' => 'App\Models\Size',
|
||||||
'industries' => 'App\Models\Industry',
|
'industries' => 'App\Models\Industry',
|
||||||
'timezones' => 'App\Models\Timezone',
|
'timezones' => 'App\Models\Timezone',
|
||||||
//'dateFormats' => 'App\Models\DateFormat',
|
'dateFormats' => 'App\Models\DateFormat',
|
||||||
//'datetimeFormats' => 'App\Models\DatetimeFormat',
|
'datetimeFormats' => 'App\Models\DatetimeFormat',
|
||||||
'languages' => 'App\Models\Language',
|
'languages' => 'App\Models\Language',
|
||||||
'payment_types' => 'App\Models\PaymentType',
|
'payment_types' => 'App\Models\PaymentType',
|
||||||
'countries' => 'App\Models\Country',
|
'countries' => 'App\Models\Country',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user