public function EditCategory($CategoryID = '') { $this->Permission('Vanilla.Categories.Manage'); $RoleModel = new Gdn_RoleModel(); $PermissionModel = Gdn::PermissionModel(); $this->Form->SetModel($this->CategoryModel); $this->Category = $this->CategoryModel->GetID($CategoryID); $this->AddJsFile('/js/library/jquery.gardencheckboxgrid.js'); $this->Title(Translate('Edit Category')); $this->AddSideMenu('vanilla/settings/managecategories'); // Make sure the form knows which item we are editing. $this->Form->AddHidden('CategoryID', $CategoryID); // Load all roles with editable permissions $this->RoleArray = $RoleModel->GetArray(); if ($this->Form->AuthenticatedPostBack() === FALSE) { $this->Form->SetData($this->Category); } else { if ($this->Form->Save()) { // Report success $this->StatusMessage = Gdn::Translate('The category was saved successfully.'); $this->RedirectUrl = Url('vanilla/settings/managecategories'); } } // Get all of the currently selected role/permission combinations for this junction $Permissions = $PermissionModel->GetJunctionPermissions(array('JunctionID' => $CategoryID), 'Category'); $Permissions = $PermissionModel->UnpivotPermissions($Permissions, TRUE); $this->SetData('PermissionData', $Permissions, TRUE); $this->Render(); }