/**
  * @param \Illuminate\Database\Eloquent\Model $type
  * @param Integer $target_id
  * @param Input $data
  *
  * @return int
  */
 protected function sight_perm_add($type, $target_id, $data)
 {
     foreach (['read', 'write', 'link', 'delete'] as $p_type) {
         array_key_exists($p_type . 'Permission', $data) ?: ($data[$p_type . 'Permission'] = false);
     }
     $target = $type::findOrFail($target_id);
     $className_tmp = UserSightPermissionType::findOrFail($data['permissionType']);
     $className = $className_tmp->objectName;
     if (!($target instanceof User || $target instanceof UserGroup)) {
         return;
     }
     $target->grantPermission($className::findOrFail($data['appObjectId']), ['r' => $data['readPermission'], 'w' => $data['writePermission'], 'l' => $data['linkPermission'], 'd' => $data['deletePermission']]);
 }
Exemple #2
0
 public function revokePermissionById($perm_id)
 {
     $perm = UserSightPermissionType::findOrFail($perm_id);
     return $perm->delete();
 }