public static function resolveUserDefaultPermissionsByUser(User $user, RedBeanModel $model = null) { $defaultPermissionSettings = UserConfigurationFormAdapter::resolveAndGetDefaultPermissionSetting($user); $nonEveryoneGroup = UserConfigurationFormAdapter::resolveAndGetValue($user, 'defaultPermissionGroupSetting', false); $type = DerivedExplicitReadWriteModelPermissionsElement::resolveUserPermissionConfigurationToPermissionType($defaultPermissionSettings); $explicitReadWriteModelPermissions = compact('type', 'nonEveryoneGroup'); $permissions = compact('explicitReadWriteModelPermissions'); if ($model === null || $model instanceof OwnedSecurableItem) { $owner = array('id' => $user->id); $permissions = compact('owner', 'explicitReadWriteModelPermissions'); } return $permissions; }
public static function setContactModelPermissionsByContactWebForm(SecurableItem $model, ContactWebForm $contactWebForm) { if ($model instanceof SecurableItem && count($model->permissions) === 0) { $defaultPermission = ContactWebFormAdapter::resolveAndGetDefaultPermissionSetting($contactWebForm); $nonEveryoneGroup = $contactWebForm->defaultPermissionGroupSetting; $type = DerivedExplicitReadWriteModelPermissionsElement::resolveUserPermissionConfigurationToPermissionType($defaultPermission); $postData = array('explicitReadWriteModelPermissions' => compact('type', 'nonEveryoneGroup')); $explicitReadWritePermissions = self::resolveAndMakeExplicitReadWriteModelPermissions($postData, $model); $updated = ExplicitReadWriteModelPermissionsUtil::resolveExplicitReadWriteModelPermissions($model, $explicitReadWritePermissions); if (!$updated) { throw new NotSupportedException(); } } }
/** * @param int $selectedType * @return mixed */ public static function resolveUserPermissionConfigurationToPermissionType($selectedType) { return DerivedExplicitReadWriteModelPermissionsElement::resolveUserPermissionConfigurationToPermissionType($selectedType); }