![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/Corals/modules/Medad/Classes/ |
<?php namespace Corals\Modules\Medad\Classes; use Corals\Modules\Medad\DataTables\Scopes\UsersPerCompanyScope; use Corals\Modules\Medad\Facades\Medad; use Corals\Modules\Medad\Http\Middleware\IsCompanyConfirmed; use Corals\User\Models\User; class MedadHooks { public function get_roles_list_query($rolesQB) { $roles = ['medad_company_admin', 'superuser']; if (isSuperUser()) { $user = request()->route('user'); if ($user && request()->is('*edit')) { $roles = $this->checkUserRole($roles, $user); } return $rolesQB->whereIn('name', $roles); } return $rolesQB->whereNotIn('name', $roles); } public function checkUserRole($roles, $user) { foreach ($user->roles as $role) { if (in_array($role->name, $roles)) { return $roles; } } return $user->roles->pluck('name'); } public function user_just_created($user) { if (user()->hasRole('medad_company_admin')) { $company = \Medad::getUserCompany(); if (!$company) { return; } $company->users()->attach($user->id); } } public function datatable_scopes_user($scopes, $queryClass) { if (user()->cannot('admin', User::class)) { $company = \Medad::getUserCompany(); $scopes[] = new UsersPerCompanyScope($company); } return $scopes; } public function acting_as_page_header() { $company = Medad::getUserCompany(); if (!$company) { return; } if (user() && user()->cannot('admin', User::class)) { $branches = Medad::getUserBranches($company); if (count($branches) > 1) { $print = '<li class="dropdown" style="margin-right: 20px"><a href="#" class="dropdown-toggle" data-toggle="dropdown">' . trans('Medad::module.branch.title') . '<i class="fa fa-angle-down"></i></a> <ul class="dropdown-menu">'; foreach ($branches as $branch) { $print .= '<li><a href="' . $branch->getShowURL() . '" class="dropdown-item">' . $branch->presentStripTags('name') . '</a></li>'; } $print .= '</ul></li>'; echo $print; } } if ($company->type == 'both' && Medad::getCurrentCompanyType()) { $companyType = data_get(trans('Medad::attributes.company.type_options'), Medad::getCurrentCompanyType()); $print = '<li><a href="' . url('medad/select-acting-company-type') . '" data-action = "modal-load">' . trans('Medad::attributes.acting_as', ['type' => $companyType]) . '</a></li>'; echo $print; } } /** * @param $middleware * @param $request * @return array */ public function usersCompanyConfirmed($middleware, $request) { if ($request->is('users*')) { $middleware[] = IsCompanyConfirmed::class; } return $middleware; } }