public function manageGroupAccessForm() { $form = Form::load('logbook.views.ManageGroupAccess'); $group_access_options = array(new FormOption(LogbookAccess::VIEW, 'View'), new FormOption(LogbookAccess::EDIT, 'Edit'), new FormOption(LogbookAccess::DELETE, 'Delete'), new FormOption(LogbookAccess::MANAGE_ACCESS, 'Manage Access')); $form->setOptions('group_access_options', $group_access_options); if (is_object($this->group_to_manage_for) && is_object($this->entry_to_manage_for)) { $form->setInputValue('author_id', $this->entry_to_manage_for->get('author_id')); $form->setInputValue('entry_id', $this->entry_to_manage_for->id()); $form->setInputValue('group_id', $this->group_to_manage_for->id()); $ega = new EntryGroupAccess(); $ega->clause('author_id', $this->entry_to_manage_for->get('author_id')); $ega->clause('entry_id', $this->entry_to_manage_for->id()); $ega->clause('group_id', $this->group_to_manage_for->id()); if ($ega->id()) { $option_values = array(); if ($ega->get(LogbookAccess::VIEW)) { $option_values[] = new FormOption(LogbookAccess::VIEW, $ega->get(LogbookAccess::VIEW)); } if ($ega->get(LogbookAccess::EDIT)) { $option_values[] = new FormOption(LogbookAccess::EDIT, $ega->get(LogbookAccess::EDIT)); } if ($ega->get(LogbookAccess::DELETE)) { $option_values[] = new FormOption(LogbookAccess::DELETE, $ega->get(LogbookAccess::DELETE)); } if ($ega->get(LogbookAccess::MANAGE_ACCESS)) { $option_values[] = new FormOption(LogbookAccess::MANAGE_ACCESS, $ega->get(LogbookAccess::MANAGE_ACCESS)); } if (count($option_values)) { $form->setInputValue('group_access_options', $option_values); } } } return $form; }