コード例 #1
0
 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;
 }