private function assertFieldIsStaticSelectbox(Tracker_FormElement $field) { if (!($field instanceof Tracker_FormElement_Field_Selectbox && $field->getBind() instanceof Tracker_FormElement_Field_List_Bind_Static)) { $exception_message = $GLOBALS['Language']->getText('plugin_tracker_formelement_exception', 'field_must_be_static'); throw new Exception($exception_message); } }
public function build(Tracker_FormElement $field, $type, array $permissions) { $this->field_id = JsonCast::toInt($field->getId()); $this->name = $field->getName(); $this->label = $field->getLabel(); if ($field instanceof Tracker_FormElement_Field) { $this->required = JsonCast::toBoolean($field->isRequired()); $this->collapsed = false; } else { $this->required = false; $this->collapsed = (bool) $field->isCollapsed(); } $this->default_value = $field->getDefaultValue(); $this->type = $type; $this->values = null; if ($field->getRESTAvailableValues()) { $this->values = $field->getRESTAvailableValues(); } $bindings = $field->getSoapBindingProperties(); $this->bindings = array(self::BIND_TYPE => $bindings[Tracker_FormElement_Field_List_Bind::SOAP_TYPE_KEY], self::BIND_LIST => array_map(function ($binding) { return array(Tracker_REST_FieldRepresentation::BIND_ID => $binding[Tracker_FormElement_Field_List_Bind_Users::SOAP_BINDING_LIST_ID], Tracker_REST_FieldRepresentation::BIND_LABEL => $binding[Tracker_FormElement_Field_List_Bind_Users::SOAP_BINDING_LIST_LABEL]); }, $bindings[Tracker_FormElement_Field_List_Bind::SOAP_LIST_KEY])); $this->permissions = array_map(function ($permission) { switch ($permission) { case Tracker_FormElement::SOAP_PERMISSION_READ: return Tracker_REST_FieldRepresentation::PERM_READ; case Tracker_FormElement::SOAP_PERMISSION_UPDATE: return Tracker_REST_FieldRepresentation::PERM_UPDATE; case Tracker_FormElement::SOAP_PERMISSION_SUBMIT: return Tracker_REST_FieldRepresentation::PERM_CREATE; } }, $permissions); }
protected function displayFullPage(TrackerManager $tracker_manager, $breadcrumbsLabel, $url, $title, $form) { $breadcrumbs = array(array('title' => $breadcrumbsLabel, 'url' => $url)); $this->element->getTracker()->displayAdminFormElementsHeader($tracker_manager, $title, $breadcrumbs); echo '<h2>' . $title . '</h2>'; echo $form; $this->element->getTracker()->displayFooter($tracker_manager); }
protected function displayFullPage(TrackerManager $tracker_manager, $breadcrumbsLabel, $url, $title, $form) { $breadcrumbs = array(array('title' => $breadcrumbsLabel, 'url' => $url)); $this->element->getTracker()->displayAdminFormElementsHeader($tracker_manager, $title, $breadcrumbs); $purifier = Codendi_HTMLPurifier::instance(); echo '<h2>' . $purifier->purify($title) . '</h2>'; echo $form; $this->element->getTracker()->displayFooter($tracker_manager); }
public function setUp() { parent::setUp(); $tracker = stub('Tracker')->getId()->returns(123); $this->field_status = $this->setUpField($tracker, 1001); $this->field_start_date = $this->setUpField($tracker, 1002); $this->field_close_date = $this->setUpField($tracker, 1003); $this->field_due_date = $this->setUpField($tracker, 1004); $workflow = mock('Workflow'); stub($workflow)->getFieldId()->returns($this->field_status->getId()); $this->transition_factory = mock('TransitionFactory'); stub($this->transition_factory)->isFieldUsedInTransitions($this->field_start_date)->returns(false); stub($this->transition_factory)->isFieldUsedInTransitions($this->field_close_date)->returns(true); $this->workflow_factory = partial_mock('WorkflowFactory', array('getWorkflowByTrackerId'), array($this->transition_factory, mock('TrackerFactory'), mock('Tracker_FormElementFactory'), mock('Tracker_Workflow_Trigger_RulesManager'), mock('WorkflowBackendLogger'))); stub($this->workflow_factory)->getWorkflowByTrackerId($tracker->getId())->returns($workflow); }
public function fetchSharedUsage() { $html = ''; $fields = $this->formElement->getSharedTargets(); if ($fields) { $trackers = array(); foreach ($fields as $field) { $t = $field->getTracker(); $trackers[$t->getId()] = '<a href="' . TRACKER_BASE_URL . '/?tracker=' . $t->getId() . '&func=admin-formElements">' . $t->getName() . ' (' . $t->getProject()->getPublicName() . ')</a>'; } $html .= $GLOBALS['Language']->getText('plugin_tracker_include_type', 'field_copied_to'); $html .= '<ul><li>'; $html .= implode('</li><li>', $trackers); $html .= '</li></ul>'; } return $html; }
/** * @return bool */ private function fieldHasChanged(array $mapping_fields, Tracker $mapping_tracker = null, Tracker_FormElement $field = null) { return !isset($mapping_fields[$mapping_tracker->getId()]) || $mapping_fields[$mapping_tracker->getId()] != $field->getId(); }
/** @return bool */ public function isUsedInFieldDependency(Tracker_FormElement $field) { $field_id = $field->getId(); $list_rules = $this->getAllListRulesByTrackerWithOrder($this->tracker->getId()); $date_rules = $this->getAllDateRulesByTrackerId($this->tracker->getId()); $rules = array_merge($list_rules, $date_rules); foreach ($rules as $rule) { if ($rule->isUsedInRule($field->getId())) { return true; } } return false; }
public function getOriginalFieldId() { if ($this->original_field) { return $this->original_field->getId(); } return 0; }
/** * @return Tracker_FormElement */ public function getFieldFromTrackerAndSharedField(Tracker $tracker, Tracker_FormElement $shared) { $dar = $this->getDao()->searchFieldFromTrackerIdAndSharedFieldId($tracker->getId(), $shared->getId()); return $this->getInstanceFromDar($dar); }
/** * Continue the initialisation from an xml (FormElementFactory is not smart enough to do all stuff. * Polymorphism rulez!!! * * @param SimpleXMLElement $xml containing the structure of the imported Tracker_FormElement * @param array &$xmlMapping where the newly created formElements indexed by their XML IDs are stored (and values) * * @return void */ public function continueGetInstanceFromXML($xml, &$xmlMapping, User\XML\Import\IFindUserFromXMLReference $user_finder) { parent::continueGetInstanceFromXML($xml, $xmlMapping, $user_finder); // add children if ($xml->formElements) { foreach ($xml->formElements->formElement as $elem) { $this->formElements[] = $this->getFormElementFactory()->getInstanceFromXML($this->getTracker(), $elem, $xmlMapping, $user_finder); } } }
/** * Continue the initialisation from an xml (FormElementFactory is not smart enough to do all stuff. * Polymorphism rulez!!! * * @param SimpleXMLElement $xml containing the structure of the imported Tracker_FormElement * @param array &$xmlMapping where the newly created formElements indexed by their XML IDs are stored (and values) * * @return void */ public function continueGetInstanceFromXML($xml, &$xmlMapping) { parent::continueGetInstanceFromXML($xml, $xmlMapping); // add children if ($xml->formElements) { foreach ($xml->formElements->formElement as $elem) { $this->formElements[] = $this->getFormElementFactory()->getInstanceFromXML($this->getTracker(), $elem, $xmlMapping); } } }