2 namespace wcf\data\user\group\assignment
;
3 use wcf\data\AbstractDatabaseObjectAction
;
4 use wcf\data\IToggleAction
;
5 use wcf\system\condition\ConditionHandler
;
8 * Executes user group assignment-related actions.
10 * @author Matthias Schmidt
11 * @copyright 2001-2018 WoltLab GmbH
12 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
13 * @package WoltLabSuite\Core\Data\User\Group\Assignment
15 * @method UserGroupAssignment create()
16 * @method UserGroupAssignmentEditor[] getObjects()
17 * @method UserGroupAssignmentEditor getSingleObject()
19 class UserGroupAssignmentAction
extends AbstractDatabaseObjectAction
implements IToggleAction
{
23 protected $permissionsDelete = ['admin.user.canManageGroupAssignment'];
28 protected $permissionsUpdate = ['admin.user.canManageGroupAssignment'];
33 protected $requireACP = ['create', 'delete', 'toggle', 'update'];
38 public function delete() {
39 ConditionHandler
::getInstance()->deleteConditions('com.woltlab.wcf.condition.userGroupAssignment', $this->objectIDs
);
41 return parent
::delete();
47 public function toggle() {
48 foreach ($this->getObjects() as $assignment) {
50 'isDisabled' => $assignment->isDisabled ?
0 : 1
58 public function validateToggle() {
59 parent
::validateUpdate();