本文整理汇总了PHP中RoleModel::deleteAndReplace方法的典型用法代码示例。如果您正苦于以下问题:PHP RoleModel::deleteAndReplace方法的具体用法?PHP RoleModel::deleteAndReplace怎么用?PHP RoleModel::deleteAndReplace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RoleModel
的用法示例。
在下文中一共展示了RoleModel::deleteAndReplace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: delete
/**
* Remove a role.
*
* @since 2.0.0
* @access public
*/
public function delete($RoleID = false)
{
if (!$this->_permission($RoleID)) {
return;
}
$this->title(t('Delete Role'));
$this->addSideMenu('dashboard/role');
$Role = $this->RoleModel->getByRoleID($RoleID);
if ($Role->Deletable == '0') {
$this->Form->addError('You cannot delete this role.');
}
// Make sure the form knows which item we are deleting.
$this->Form->addHidden('RoleID', $RoleID);
// Figure out how many users will be affected by this deletion
$this->AffectedUsers = $this->RoleModel->getUserCount($RoleID);
// Figure out how many users will be orphaned by this deletion
$this->OrphanedUsers = $this->RoleModel->getUserCount($RoleID, true);
// Get a list of roles other than this one that can act as a replacement
$this->ReplacementRoles = $this->RoleModel->getByNotRoleID($RoleID);
if ($this->Form->authenticatedPostBack()) {
// Make sure that a replacement role has been selected if there were going to be orphaned users
if ($this->OrphanedUsers > 0) {
$Validation = new Gdn_Validation();
$Validation->applyRule('ReplacementRoleID', 'Required', 'You must choose a replacement role for orphaned users.');
$Validation->validate($this->Form->formValues());
$this->Form->setValidationResults($Validation->results());
}
if ($this->Form->errorCount() == 0) {
// Go ahead and delete the Role
$this->RoleModel->deleteAndReplace($RoleID, $this->Form->getValue('ReplacementRoleID'));
$this->RedirectUrl = url('dashboard/role');
$this->informMessage(t('Deleting role...'));
}
}
$this->render();
}