/** * @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']]); }
public function revokePermissionById($perm_id) { $perm = UserSightPermissionType::findOrFail($perm_id); return $perm->delete(); }