HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/dev-beg.teky.com.co/app/Http/Controllers/ManagerPermisions.php
<?php

namespace App\Http\Controllers;

use App\Role;
use App\Permission;
use App\RolePermission;
use Illuminate\Http\Request;

class ManagerPermisions extends Controller
{
    public function newPermisions($nameModule)
    {
        if($nameModule && $nameModule != ''){
            $typePermissions = array(
                0 => 'create',
                1 => 'edit',
                2 => 'show',
                3 => 'destroy',
                4 => 'access',
                5 => 'field',
                6 => 'seeInfoRoot',
                7 => 'report',
            );

            foreach ($typePermissions as $permission) {
                if(!Permission::where("name", $nameModule."_".$permission,)->first()){
                    Permission::create([
                        "name" => $nameModule."_".$permission,
                        "description" => "user can ".$permission. " on ".$nameModule,
                    ]);
                }
            }
            dd("Ok");
        }
    }

    public function assignPermision($nameModule,$role_id)
    {
        $permissions = Permission::where('name', 'like', $nameModule.'_%')->get();
        if($role_id == 1){
            $types   = 'create,edit,show,destroy,access,field,seeInfoRoot,report';
        }else{
            $types  = 'create,edit,show,destroy,access';
        }
        foreach ($permissions as $permission) {
            $rolePermision = [
                "permission_id" => $permission->id,
                "role_id" => $role_id
            ];
            if(explode("_", $permission->name)[0] == $nameModule && in_array(explode("_", $permission->name)[1], explode(",", $types)) && !RolePermission::where($rolePermision)->first()){
                RolePermission::create(
                    $rolePermision
                );
            }
        }

        dd("Ok");
    }
}