コード例 #1
0
 public function indexAction()
 {
     $edit = false;
     if ($id = $this->params->get('id')) {
         $edit = true;
     }
     if ($edit) {
         $this->view->title = $this->translate('Edit sync property rule');
         $this->getTabs()->add('edit', array('url' => 'director/syncproperty/edit' . '?id=' . $id, 'label' => $this->view->title))->activate('edit');
     } else {
         $this->view->title = $this->translate('Add sync property rule');
         $this->getTabs()->add('add', array('url' => 'director/syncproperty/add', 'label' => $this->view->title))->activate('add');
     }
     $form = $this->view->form = $this->loadForm('syncProperty')->setDb($this->db());
     if ($edit) {
         $form->loadObject($id);
         $rule_id = $form->getObject()->rule_id;
         $form->setRule(SyncRule::load($rule_id, $this->db()));
     } elseif ($rule_id = $this->params->get('rule_id')) {
         $form->setRule(SyncRule::load($rule_id, $this->db()));
     }
     $form->setSuccessUrl('director/syncrule/property', array('rule_id' => $rule_id));
     $form->handleRequest();
     $this->render('object/form', null, true);
 }
コード例 #2
0
 public function addpropertyAction()
 {
     $this->view->stayHere = true;
     $edit = false;
     if ($id = $this->params->get('id')) {
         $edit = true;
     }
     $form = $this->view->form = $this->loadForm('syncProperty')->setDb($this->db());
     if ($edit) {
         $form->loadObject($id);
         $rule_id = $form->getObject()->rule_id;
         $form->setRule(SyncRule::load($rule_id, $this->db()));
     } elseif ($rule_id = $this->params->get('rule_id')) {
         $form->setRule(SyncRule::load($rule_id, $this->db()));
     }
     $form->setSuccessUrl('director/syncrule/property', array('rule_id' => $rule_id));
     $form->handleRequest();
     $tabs = $this->getTabs()->add('edit', array('url' => 'director/syncrule/edit', 'urlParams' => array('id' => $rule_id), 'label' => $this->translate('Edit sync rule')));
     if ($edit) {
         $tabs->add('property', array('label' => $this->translate('Properties'), 'url' => 'director/syncrule/property', 'urlParams' => array('rule_id' => $rule_id)));
     } else {
         $tabs->add('property', array('label' => $this->translate('Properties'), 'url' => 'director/syncrule/property', 'urlParams' => array('rule_id' => $rule_id)));
     }
     $tabs->activate('property');
     $this->view->title = $this->translate('Sync property');
     // add/edit
     $this->view->table = $this->loadTable('syncproperty')->enforceFilter(Filter::where('rule_id', $rule_id))->setConnection($this->db());
     $this->render('list/table', null, true);
 }
コード例 #3
0
 protected function getRowClasses($row)
 {
     if (!$this->revalidate) {
         return array();
     }
     try {
         // $mod = Sync::hasModifications(
         $mod = Sync::getExpectedModifications(SyncRule::load($row->id, $this->connection()));
         if (count($mod) > 0) {
             $row->rule_name = $row->rule_name . ' (' . count($mod) . ')';
             return 'pending-changes';
         } else {
             return 'in-sync';
         }
     } catch (Exception $e) {
         $row->rule_name = $row->rule_name . ' (' . $e->getMessage() . ')';
         return 'failing';
     }
 }