akaunting 3.0 (the last dance)
This commit is contained in:
		| @@ -5,6 +5,7 @@ namespace App\Traits; | ||||
| use App\Models\Auth\Permission; | ||||
| use App\Models\Auth\Role; | ||||
| use App\Traits\SearchString; | ||||
| use App\Traits\Translations; | ||||
| use App\Utilities\Reports; | ||||
| use App\Utilities\Widgets; | ||||
| use Illuminate\Routing\Route; | ||||
| @@ -13,7 +14,7 @@ use Illuminate\Support\Str; | ||||
|  | ||||
| trait Permissions | ||||
| { | ||||
|     use SearchString; | ||||
|     use SearchString, Translations; | ||||
|  | ||||
|     public function getActionsMap() | ||||
|     { | ||||
| @@ -248,13 +249,37 @@ trait Permissions | ||||
|  | ||||
|     public function createRole($name, $display_name = null, $description = null) | ||||
|     { | ||||
|         $display_name = $display_name ?? Str::title($name); | ||||
|         $alias = !empty($this->alias) ? $this->alias : $name; | ||||
|  | ||||
|         if (empty($display_name)) { | ||||
|             $display_name = $this->findTranslation([ | ||||
|                 'auth.roles.' . Str::replace('-', '_', $name) . '.name', | ||||
|                 $alias . '::permissions.roles.' . Str::replace('-', '_', $name) . '.name', | ||||
|                 $alias . '::auth.roles.' . Str::replace('-', '_', $name) . '.name', | ||||
|             ]); | ||||
|  | ||||
|             if (empty($display_name)) { | ||||
|                 $display_name = Str::title(Str::replace('-', ' ', $name)); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (empty($description)) { | ||||
|             $description = $this->findTranslation([ | ||||
|                 'auth.roles.' . Str::replace('-', '_', $name) . '.description', | ||||
|                 $alias . '::permissions.roles.' . Str::replace('-', '_', $name) . '.description', | ||||
|                 $alias . '::auth.roles.' . Str::replace('-', '_', $name) . '.description', | ||||
|             ]); | ||||
|  | ||||
|             if (empty($description)) { | ||||
|                 $description = $display_name; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return Role::firstOrCreate([ | ||||
|             'name' => $name, | ||||
|         ], [ | ||||
|             'display_name' => $display_name, | ||||
|             'description' => $description ?? $display_name, | ||||
|             'description' => $description, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
| @@ -408,24 +433,24 @@ trait Permissions | ||||
|         $table = request()->isApi() ? request()->segment(2) : ''; | ||||
|  | ||||
|         // Find the proper controller for common API endpoints | ||||
|         if (in_array($table, ['contacts', 'documents', 'transactions'])) { | ||||
|         if (in_array($table, ['contacts', 'documents'])) { | ||||
|             $controller = ''; | ||||
|  | ||||
|             // Look for type in search variable like api/contacts?search=type:customer | ||||
|             $type = $this->getSearchStringValue('type'); | ||||
|  | ||||
|             if (!empty($type)) { | ||||
|                 $alias = config('type.' . $type . '.alias'); | ||||
|                 $group = config('type.' . $type . '.group'); | ||||
|                 $prefix = config('type.' . $type . '.permission.prefix'); | ||||
|             if (! empty($type)) { | ||||
|                 $alias = config('type.' . Str::singular($table) . '.' . $type . '.alias'); | ||||
|                 $group = config('type.' . Str::singular($table) . '.' . $type . '.group'); | ||||
|                 $prefix = config('type.' . Str::singular($table) . '.' . $type . '.permission.prefix'); | ||||
|  | ||||
|                 // if use module set module alias | ||||
|                 if (!empty($alias)) { | ||||
|                 if (! empty($alias)) { | ||||
|                     $controller .= $alias . '-'; | ||||
|                 } | ||||
|  | ||||
|                 // if controller in folder it must | ||||
|                 if (!empty($group)) { | ||||
|                 if (! empty($group)) { | ||||
|                     $controller .= $group . '-'; | ||||
|                 } | ||||
|  | ||||
| @@ -449,7 +474,7 @@ trait Permissions | ||||
|             } | ||||
|  | ||||
|             // Add folder | ||||
|             if (!in_array(strtolower($arr[1]), ['api', 'controllers'])) { | ||||
|             if (! in_array(strtolower($arr[1]), ['api', 'controllers'])) { | ||||
|                 $controller .= Str::kebab($arr[1]) . '-'; | ||||
|             } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user