示例#1
0
 public static function create($params, $currentUser, $con)
 {
     // check role's permission
     $permission = RolePermissionQuery::create()->select('create_role')->findOneById($currentUser->role_id, $con);
     if (!$permission || $permission != 1) {
         throw new \Exception('Akses ditolak. Anda tidak mempunyai izin untuk melakukan operasi ini.');
     }
     // check whether role is already exist
     $role = RoleQuery::create()->filterByStatus('Active')->filterByName($params->name)->count($con);
     if ($role != 0) {
         throw new \Exception('Jabatan ' . $params->name . ' sudah ada dalam data');
     }
     // create new role
     $role = new Role();
     $role->setName($params->name)->save($con);
     // create new role permission with default value
     $rolePermission = new RolePermission();
     $rolePermission->setId($role->getId())->save($con);
     // log history
     $rowHistory = new RowHistory();
     $rowHistory->setRowId($role->getId())->setData('role')->setTime(time())->setOperation('create')->setUserId($currentUser->id)->save($con);
     $params->id = $role->getId();
     $results['success'] = true;
     $results['data'] = $params;
     return $results;
 }