/**
  * Return the value of a field in the current changeset
  *
  * @param Tracker_FormElement_Field $field The field
  *
  * @return Tracker_Artifact_ChangesetValue, or null if not found
  */
 public function getValue(Tracker_FormElement_Field $field)
 {
     $values = $this->getValues();
     if (isset($values[$field->getId()])) {
         return $values[$field->getId()];
     }
     return null;
 }
 /**
  * The Id of the (text) field used for initial_effort semantic
  *
  * @return int The Id of the (numeric) field used for initial_effort semantic, or 0 if no field
  */
 public function getFieldId()
 {
     if ($this->initial_effort_field) {
         return $this->initial_effort_field->getId();
     } else {
         return 0;
     }
 }
 /**
  * @return array of Cardwall_OnTop_Config_ValueMapping
  */
 public function getMappings(Tracker $tracker, Tracker $mapping_tracker, Tracker_FormElement_Field $mapping_field)
 {
     // Why does we return a collection indexed on value_id in the case of freestyle mappings, and a collection
     // indexed on column_id in the case of status mappings @see getStatusMappings?????????
     // Shouldn't we let TrackerMapping do the indexing so that code in TrackerMapping might exploit that?
     $mappings = $this->getMappingFieldValuesIndexedByTracker($tracker);
     if (isset($mappings[$mapping_tracker->getId()][$mapping_field->getId()])) {
         return $mappings[$mapping_tracker->getId()][$mapping_field->getId()];
     }
     return array();
 }
 /**
  *
  * @return int
  */
 public function getTargetFieldId()
 {
     if ($this->target_field_obj instanceof Tracker_FormElement_Field) {
         return $this->target_field_obj->getId();
     }
     return $this->target_field;
 }
 protected function getFullRESTRepresentation($value)
 {
     $classname_with_namespace = 'Tuleap\\Tracker\\REST\\Artifact\\ArtifactFieldValueFullRepresentation';
     $artifact_field_value_full_representation = new $classname_with_namespace();
     $artifact_field_value_full_representation->build($this->field->getId(), Tracker_FormElementFactory::instance()->getType($this->field), $this->field->getLabel(), $value);
     return $artifact_field_value_full_representation;
 }
 private function getStaticListDataValue(Tracker_FormElement_Field $field, $value)
 {
     if (isset($value['format']) && (string) $value['format'] === self::FORMAT_ID) {
         return $this->xml_fields_mapping->getNewValueId((int) $value);
     }
     $result = $this->static_value_dao->searchValueByLabel($field->getId(), (string) $value);
     $row = $result->getRow();
     return (int) $row['id'];
 }
 /**
  * @return \Tracker_Artifact_Changeset|null
  */
 public function getLastChangesetWithFieldValue(Tracker_Artifact $artifact, Tracker_FormElement_Field $field)
 {
     $dar = $this->dao->searchLastChangesetAndValueForArtifactField($artifact->getId(), $field->getId());
     if ($dar) {
         $row = $dar->getRow();
         $changeset = $this->getChangesetFromRow($artifact, $row);
         $value = $field->getChangesetValue($changeset, $row['value_id'], $row['has_changed']);
         $changeset->setFieldValue($field, $value);
         return $changeset;
     }
     return null;
 }
 /**
  * @return bool
  */
 private function isRequiredFieldsValid(Tracker $tracker, Tracker_FormElement_Field $title_field, Tracker_FormElement_Field $description_field)
 {
     $is_required_fields_valid = true;
     $form_elements = $tracker->getFormElementFields();
     reset($form_elements);
     while ($is_required_fields_valid && (list(, $form_element) = each($form_elements))) {
         if ($form_element->isRequired()) {
             $is_required_fields_valid = $form_element->getId() === $title_field->getId() || $form_element->getId() === $description_field->getId();
         }
     }
     return $is_required_fields_valid;
 }
 private function pushDefaultValueInSubmittedValues(Tracker_FormElement_Field $field, array &$fields_data)
 {
     $fields_data[$field->getId()] = $field->getDefaultValue();
 }
Beispiel #10
0
 private function getFieldValue($fields_data, Tracker_Artifact $artifact, Tracker_FormElement_Field $field)
 {
     $field_id = $field->getId();
     if (isset($fields_data[$field_id])) {
         return $fields_data[$field_id];
     }
     return $this->getFieldValueFromLastChangeset($artifact, $field);
 }
Beispiel #11
0
 /** @return bool */
 public function isFieldUsedInConditions(Tracker_FormElement_Field $field)
 {
     return $this->dao->isFieldUsed($field->getId());
 }
 /**
  * Get the value of bypass_permissions
  *
  * @param Tracker_FormElement_Field $field
  *
  * @return boolean
  */
 public function bypassPermissions(Tracker_FormElement_Field $field)
 {
     return $this->getFieldId() == $field->getId() && $this->bypass_permissions;
 }
 /**
  * @return bool
  */
 protected function isFieldSubmitted(Tracker_FormElement_Field $field, array $fields_data)
 {
     return isset($fields_data[$field->getId()]);
 }
Beispiel #14
0
 /**
  * Set field
  *
  * @param Tracker_FormElement_Field $field Field
  */
 public function setField(Tracker_FormElement_Field $field)
 {
     $this->field = $field;
     $this->field_id = $field->getId();
 }
 /**
  * Say if a field is used to define a workflow
  *
  * @param Tracker_FormElement_Field $field The field
  *
  * @return bool
  */
 public function isWorkflowField(Tracker_FormElement_Field $field)
 {
     $workflow = $this->getWorkflowByTrackerId($field->getTracker()->getId());
     if ($workflow) {
         return $field->getId() == $workflow->getFieldId();
     }
     return false;
 }
 /**
  * Get the value of bypass_permissions
  *
  * @param Tracker_FormElement_Field $field
  *
  * @return boolean
  */
 public function bypassPermissions($field)
 {
     return $this->getFieldId() == $field->getId() && $this->bypass_permissions;
 }
 /**
  * Set field
  *
  * @param Tracker_FormElement_Field $field Field
  *
  * @return Void
  */
 protected function setField(Tracker_FormElement_Field $field)
 {
     $this->field = $field;
     $this->fieldId = $field->getId();
 }
 /**
  * @see Transition_PostActionSubFactory::isFieldUsedInPostActions()
  */
 public function isFieldUsedInPostActions(Tracker_FormElement_Field $field)
 {
     foreach (array_keys($this->post_actions_classes) as $shortname) {
         if ($this->getDao($shortname)->countByFieldId($field->getId()) > 0) {
             return true;
         }
     }
     return false;
 }
 private function fetchAddAggregatesButton($read_only, Tracker_FormElement_Field $field, PFUser $current_user, array $used_aggregates, $is_first)
 {
     $aggregate_functions = $field->getAggregateFunctions();
     if ($read_only || !$this->report->userCanUpdate($current_user)) {
         return;
     }
     if (!$aggregate_functions) {
         return;
     }
     $html = '';
     $html .= '<div class="btn-group">';
     $html .= '<a href="#"
         class="btn btn-mini dropdown-toggle"
         title="' . $GLOBALS['Language']->getText('plugin_tracker_aggregate', 'toggle') . '"
         data-toggle="dropdown">';
     $html .= '<i class="icon-plus"></i> ';
     $html .= '<span class="caret"></span>';
     $html .= '</a>';
     $html .= '<ul class="dropdown-menu ' . ($is_first ? '' : 'pull-right') . '">';
     foreach ($aggregate_functions as $function) {
         $is_used = isset($used_aggregates[$field->getId()]) && in_array($function, $used_aggregates[$field->getId()]);
         $url = $this->getAggregateURL($field, $function);
         $html .= '<li>';
         $html .= '<a href="' . $url . '">';
         if ($is_used) {
             $html .= '<i class="icon-ok"></i> ';
         }
         $html .= $GLOBALS['Language']->getText('plugin_tracker_aggregate', $function);
         $html .= '</a>';
         $html .= '</li>';
     }
     $html .= '</ul>';
     $html .= '</div>';
     return $html;
 }
 public function setFieldValue(Tracker_FormElement_Field $field, Tracker_Artifact_ChangesetValue $value = null)
 {
     $this->values[$field->getId()] = $value;
 }
 private function getSelectedValues(Tracker_FormElement_Field $field, $request_criteria)
 {
     $current_value = array();
     if (isset($request_criteria[$field->getId()]['values'])) {
         $current_value = $request_criteria[$field->getId()]['values'];
     }
     return $current_value;
 }