public function process(Tracker_Artifact $artifact, array $fields_data) { $tracker_data = array(); //only when a previous changeset exists if (!$artifact->getLastChangeset() instanceof Tracker_Artifact_Changeset_Null) { foreach ($artifact->getLastChangeset()->getValues() as $key => $field) { if ($field instanceof Tracker_Artifact_ChangesetValue_Date || $field instanceof Tracker_Artifact_ChangesetValue_List) { $tracker_data[$key] = $field->getValue(); } } } //replace where appropriate with submitted values foreach ($fields_data as $key => $value) { $tracker_data[$key] = $value; } //addlastUpdateDate and submitted on if available foreach ($this->formelement_factory->getAllFormElementsForTracker($artifact->getTracker()) as $field) { if ($field instanceof Tracker_FormElement_Field_LastUpdateDate) { $tracker_data[$field->getId()] = date("Y-m-d"); } if ($field instanceof Tracker_FormElement_Field_SubmittedOn) { $tracker_data[$field->getId()] = $artifact->getSubmittedOn(); } if ($field instanceof Tracker_FormElement_Field_Date && !array_key_exists($field->getId(), $tracker_data)) { //user doesn't have access to field $tracker_data[$field->getId()] = $field->getValue($field->getId()); } } return $tracker_data; }
public function extractArtifactDateFields(Tracker_Artifact $artifact, Tracker_Artifact_Changeset $last_changeset, array &$properties) { $tracker = $artifact->getTracker(); $custom_date_fields = $this->form_element_factory->getUsedCustomDateFields($tracker); foreach ($custom_date_fields as $date_field) { $last_changeset_value = $last_changeset->getValue($date_field); if ($last_changeset->getValue($date_field) && $last_changeset_value) { $properties[$date_field->getName()] = date('c', $last_changeset_value->getTimestamp()); } } $core_date_fields = $this->form_element_factory->getCoreDateFields($tracker); foreach ($core_date_fields as $date_field) { if ($date_field instanceof Tracker_FormElement_Field_SubmittedOn) { $properties[$date_field->getName()] = date('c', $artifact->getSubmittedOn()); } elseif ($date_field instanceof Tracker_FormElement_Field_LastUpdateDate) { $properties[$date_field->getName()] = date('c', $artifact->getLastUpdateDate()); } } $last_modified = $artifact->getLastUpdateDate(); if ($last_modified === -1) { $last_modified = $artifact->getSubmittedOn(); } $properties[self::LAST_UPDATE_PROPERTY] = date('c', $last_modified); }
/** * Retreive The last date Field value * * @param Tracker_Artifact $artifact The artifact * * @return date */ public function getLastValue(Tracker_Artifact $artifact) { return date(Tracker_FormElement_DateFormatter::DATE_FORMAT, $artifact->getSubmittedOn()); }
/** * Retreive The last date Field value * * @param Tracker_Artifact $artifact The artifact * * @return date */ public function getLastValue(Tracker_Artifact $artifact) { return date("Y-m-d", $artifact->getSubmittedOn()); }