diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index feef880a2ab7..149c06aaeaba 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -11,35 +11,36 @@ namespace App\Http\Controllers; -use App\Models\Account; -use App\Models\BankIntegration; -use App\Models\BankTransaction; -use App\Models\BankTransactionRule; +use App\Models\User; +use App\Utils\Ninja; use App\Models\Client; -use App\Models\CompanyGateway; use App\Models\Design; -use App\Models\ExpenseCategory; -use App\Models\GroupSetting; -use App\Models\PaymentTerm; +use App\Utils\Statics; +use App\Models\Account; +use App\Models\TaxRate; +use App\Models\Webhook; use App\Models\Scheduler; use App\Models\TaskStatus; -use App\Models\TaxRate; -use App\Models\User; -use App\Models\Webhook; -use App\Transformers\ArraySerializer; -use App\Transformers\EntityTransformer; -use App\Utils\Ninja; -use App\Utils\Statics; -use App\Utils\Traits\AppSetup; -use Illuminate\Contracts\Container\BindingResolutionException; -use Illuminate\Database\Eloquent\Builder; -use Illuminate\Support\Facades\Auth; +use App\Models\PaymentTerm; use Illuminate\Support\Str; use League\Fractal\Manager; -use League\Fractal\Pagination\IlluminatePaginatorAdapter; -use League\Fractal\Resource\Collection; +use App\Models\GroupSetting; +use Illuminate\Http\Response; +use App\Models\CompanyGateway; +use App\Utils\Traits\AppSetup; +use App\Models\BankIntegration; +use App\Models\BankTransaction; +use App\Models\ExpenseCategory; use League\Fractal\Resource\Item; +use App\Models\BankTransactionRule; +use Illuminate\Support\Facades\Auth; +use App\Transformers\ArraySerializer; +use App\Transformers\EntityTransformer; +use League\Fractal\Resource\Collection; +use Illuminate\Database\Eloquent\Builder; use League\Fractal\Serializer\JsonApiSerializer; +use League\Fractal\Pagination\IlluminatePaginatorAdapter; +use Illuminate\Contracts\Container\BindingResolutionException; /** * Class BaseController. @@ -293,8 +294,7 @@ class BaseController extends Controller * Refresh API response with latest cahnges * * @param Builder $query - * @property App\Models\User auth()->user() - * @return Builer + * @return Builder */ protected function refreshResponse($query) { @@ -557,7 +557,6 @@ class BaseController extends Controller { if (request()->has('per_page')) { return min(abs((int)request()->input('per_page', 20)), 5000); - // return abs((int)request()->input('per_page', 20)); } return 20; diff --git a/app/Transformers/CompanyTransformer.php b/app/Transformers/CompanyTransformer.php index 3338c1c26a8e..36f543c7abf5 100644 --- a/app/Transformers/CompanyTransformer.php +++ b/app/Transformers/CompanyTransformer.php @@ -151,7 +151,8 @@ class CompanyTransformer extends EntityTransformer 'matomo_id' => (string) $company->matomo_id ?: '', 'enabled_item_tax_rates' => (int) $company->enabled_item_tax_rates, 'client_can_register' => (bool) $company->client_can_register, - 'is_large' => (bool) $company->is_large, + // 'is_large' => (bool) $company->is_large, + 'is_large' => (bool) $this->isLarge($company), 'is_disabled' => (bool) $company->is_disabled, 'enable_shop_api' => (bool) $company->enable_shop_api, 'mark_expenses_invoiceable'=> (bool) $company->mark_expenses_invoiceable, @@ -198,6 +199,17 @@ class CompanyTransformer extends EntityTransformer ]; } + private function isLarge(Company $company): bool + { + //if the user is attached to more than one company AND they are not an admin across all companies + if ($company->is_large || (auth()->user()->company_users()->count() > 1 && (auth()->user()->company_users()->where('is_admin', 1)->count() != auth()->user()->company_users()->count()))) + { + return true; + } + + return false; + } + public function includeExpenseCategories(Company $company) { $transformer = new ExpenseCategoryTransformer($this->serializer); diff --git a/lang/en/texts.php b/lang/en/texts.php index 0767486b4695..43259336c3fb 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -5058,7 +5058,8 @@ $LANG = array( 'converted_payment_balance' => 'Converted Payment Balance', 'total_hours' => 'Total Hours', 'date_picker_hint' => 'Use +days to set the date in the future', - 'app_help_link' => 'More information', + 'app_help_link' => 'More information ', + 'here' => 'here', );