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; }
public function getFullRESTValue(PFUser $user, Tracker_Artifact_Changeset $changeset) { $classname_with_namespace = 'Tuleap\\Tracker\\REST\\Artifact\\ArtifactFieldValueFullRepresentation'; $artifact_field_value_full_representation = new $classname_with_namespace(); $artifact_field_value_full_representation->build($this->getId(), Tracker_FormElementFactory::instance()->getType($this), $this->getLabel(), (int) $changeset->getArtifact()->getPerTrackerArtifactId()); return $artifact_field_value_full_representation; }
/** * build pie chart properties * * @param Pie_Engine $engine object */ function buildProperties($engine) { parent::buildProperties($engine); $engine->data = array(); $engine->legend = null; $result = array(); $ff = Tracker_FormElementFactory::instance(); $af = $ff->getFormElementById($this->chart->getField_base()); if ($af && $af->userCanRead()) { $select = " SELECT count(a.id) AS nb, " . $af->getQuerySelect(); $from = " FROM tracker_artifact AS a INNER JOIN tracker_changeset AS c ON (c.artifact_id = a.id) " . $af->getQueryFrom(); $where = " WHERE a.id IN (" . $this->artifacts['id'] . ") \n AND c.id IN (" . $this->artifacts['last_changeset_id'] . ") "; $sql = $select . $from . $where . ' GROUP BY ' . $af->getQueryGroupBy(); $res = db_query($sql); while ($data = db_fetch_array($res)) { if ($data[$af->name] !== null) { $engine->data[] = $data['nb']; $engine->legend[] = $af->fetchRawValue($data[$af->name]); } else { $engine->data[] = $data['nb']; $engine->legend[] = $GLOBALS['Language']->getText('global', 'none'); } } } return $result; }
public function __construct(AgileDashboard_Kanban $kanban, PFUser $user, $user_is_kanban_admin, $language, $project_id) { $user_preferences = new AgileDashboard_KanbanUserPreferences(); $kanban_representation_builder = new Tuleap\AgileDashboard\REST\v1\Kanban\KanbanRepresentationBuilder($user_preferences, new AgileDashboard_KanbanColumnFactory(new AgileDashboard_KanbanColumnDao(), $user_preferences), TrackerFactory::instance(), Tracker_FormElementFactory::instance()); $this->kanban_representation = json_encode($kanban_representation_builder->build($kanban, $user)); $this->user_is_kanban_admin = (int) $user_is_kanban_admin; $this->language = $language; $this->project_id = $project_id; }
public function activatePlugins() { $this->activatePlugin('tracker'); $this->activatePlugin('agiledashboard'); $this->activatePlugin('cardwall'); PluginManager::instance()->loadPlugins(); $this->tracker_artifact_factory = Tracker_ArtifactFactory::instance(); $this->tracker_formelement_factory = Tracker_FormElementFactory::instance(); $this->tracker_factory = TrackerFactory::instance(); return $this; }
public function getConfigFactory() { if (!$this->config_factory) { require_once 'OnTop/ConfigFactory.class.php'; require_once TRACKER_BASE_DIR . '/Tracker/TrackerFactory.class.php'; $tracker_factory = TrackerFactory::instance(); $element_factory = Tracker_FormElementFactory::instance(); $this->config_factory = new Cardwall_OnTop_ConfigFactory($tracker_factory, $element_factory); } return $this->config_factory; }
/** * The singleton method * * @return WorkflowFactory */ public static function instance() { if (!isset(self::$_instance)) { $formelement_factory = Tracker_FormElementFactory::instance(); $logger = new WorkflowBackendLogger(new BackendLogger()); $trigger_rules_manager = new Tracker_Workflow_Trigger_RulesManager(new Tracker_Workflow_Trigger_RulesDao(), $formelement_factory, new Tracker_Workflow_Trigger_RulesProcessor(UserManager::instance()->getUserById(Tracker_Workflow_WorkflowUser::ID), $logger), $logger); $c = __CLASS__; self::$_instance = new $c(TransitionFactory::instance(), TrackerFactory::instance(), $formelement_factory, $trigger_rules_manager, $logger); } return self::$_instance; }
public function __construct($tracker, $label, $name, $value, $with_none = false, $onchange = "", $desc = "") { parent::__construct($label, $name, $value, $with_none, $onchange, $desc); require_once TRACKER_BASE_DIR . '/Tracker/FormElement/Tracker_FormElementFactory.class.php'; $aff = Tracker_FormElementFactory::instance(); foreach ($aff->getUsedDateFields($tracker) as $field) { if ($field->userCanRead()) { $selected = $this->value == $field->id; $this->addOption(new HTML_Element_Option($field->getLabel(), $field->id, $selected)); } } }
public function __construct(Cardwall_PaneInfo $info, Planning_Milestone $milestone, Cardwall_OnTop_Config $config, PFUser $user, Planning_MilestoneFactory $milestone_factory) { $this->info = $info; $this->milestone = $milestone; $this->config = $config; $this->user = $user; $this->milestone_factory = $milestone_factory; $this->artifact_factory = Tracker_ArtifactFactory::instance(); $this->tracker_form_element_factory = Tracker_FormElementFactory::instance(); $this->user_manager = UserManager::instance(); $this->planning_factory = PlanningFactory::build(); }
public function __construct(AgileDashboard_Kanban $kanban, PFUser $user, $user_is_kanban_admin, $language, $project_id) { $user_preferences = new AgileDashboard_KanbanUserPreferences(); $kanban_representation_builder = new Tuleap\AgileDashboard\REST\v1\Kanban\KanbanRepresentationBuilder($user_preferences, new AgileDashboard_KanbanColumnFactory(new AgileDashboard_KanbanColumnDao(), $user_preferences), new AgileDashboard_KanbanActionsChecker(TrackerFactory::instance(), new AgileDashboard_PermissionsManager(), Tracker_FormElementFactory::instance())); $this->kanban_representation = json_encode($kanban_representation_builder->build($kanban, $user)); $this->user_is_kanban_admin = (int) $user_is_kanban_admin; $this->language = $language; $this->project_id = $project_id; $this->user_id = $user->getId(); $this->view_mode = $user->getPreference('agiledashboard_kanban_item_view_mode_' . $kanban->getId()); $this->nodejs_server = ForgeConfig::get('nodejs_server'); }
/** * build pie chart properties * * @param Pie_Engine $engine object */ function buildProperties($engine) { parent::buildProperties($engine); $engine->data = array(); $engine->xaxis = null; $engine->labels = null; $engine->legend = null; $result = array(); $ff = Tracker_FormElementFactory::instance(); /** @var Tracker_FormElement_Field_List $af */ $af = $ff->getFormElementById($this->chart->getField_base()); if ($af && $af->userCanRead()) { $select_group = $from_group = $group_group = $order_group = ''; if ($this->chart->getField_group()) { $gf = $ff->getFormElementById($this->chart->getField_group()); if ($gf && $gf->userCanRead()) { $select_group = ', ' . $gf->getQuerySelect(); $from_group = ' ' . $gf->getQueryFrom(); $group_group = ', ' . $gf->getQueryGroupBy(); $order_group = ', ' . $gf->getQueryOrderby(); } } $select = " SELECT count(a.id) AS nb, " . $af->getQuerySelectWithDecorator() . $select_group; $from = " FROM tracker_artifact AS a \n INNER JOIN tracker_changeset AS c ON (c.artifact_id = a.id) " . $af->getQueryFromWithDecorator() . $from_group; $where = " WHERE a.id IN (" . $this->artifacts['id'] . ") \n AND c.id IN (" . $this->artifacts['last_changeset_id'] . ") "; $sql = $select . $from . $where . ' GROUP BY ' . $af->getQueryGroupBy() . $group_group . ' ORDER BY ' . $af->getQueryOrderby() . $order_group; //echo($sql); $none = $GLOBALS['Language']->getText('global', 'none'); $res = db_query($sql); while ($data = db_fetch_array($res)) { $color = $this->getColor($data); if ($select_group) { $engine->colors[$data[$af->name]] = $color; $engine->data[$data[$af->name]][$data[$gf->name]] = $data['nb']; $engine->xaxis[$data[$gf->name]] = $none; $engine->labels[$data[$gf->name]] = $none; if ($data[$gf->name] !== null) { $engine->xaxis[$data[$gf->name]] = $gf->fetchRawValue($data[$gf->name]); $engine->labels[$data[$gf->name]] = $gf->fetchRawValue($data[$gf->name]); } } else { $engine->colors[] = $color; $engine->data[] = $data['nb']; } $engine->legend[$data[$af->name]] = $none; if ($data[$af->name] !== null) { $engine->legend[$data[$af->name]] = $af->fetchRawValue($data[$af->name]); } } } return $result; }
public function activatePlugins() { $this->activatePlugin('tracker'); $this->activatePlugin('agiledashboard'); $this->activatePlugin('cardwall'); PluginManager::instance()->invalidateCache(); PluginManager::instance()->loadPlugins(); $this->tracker_artifact_factory = Tracker_ArtifactFactory::instance(); $this->tracker_formelement_factory = Tracker_FormElementFactory::instance(); $this->tracker_factory = TrackerFactory::instance(); $this->hierarchy_checker = new AgileDashboard_HierarchyChecker(PlanningFactory::build(), new AgileDashboard_KanbanFactory($this->tracker_factory, new AgileDashboard_KanbanDao()), $this->tracker_factory); return $this; }
public function setUp() { parent::setUp(); ForgeConfig::store(); ForgeConfig::set('codendi_log', dirname(__FILE__)); if (!self::$defect_tracker_converted && $this->thisTestIsNotUnderDevelopment()) { $this->convertTrackers(); } $this->form_element_factory = Tracker_FormElementFactory::instance(); $this->tracker_factory = TrackerFactory::instance(); $this->defect_tracker = $this->tracker_factory->getTrackerById(self::$defect_tracker_id); $this->task_tracker = $this->tracker_factory->getTrackerById(self::$task_tracker_id); }
/** * @return Tracker_Artifact_XMLImport */ public function build(User\XML\Import\IFindUserFromXMLReference $user_finder) { $artifact_factory = Tracker_ArtifactFactory::instance(); $formelement_factory = Tracker_FormElementFactory::instance(); $fields_validator = new Tracker_Artifact_Changeset_AtGivenDateFieldsValidator($formelement_factory); $changeset_dao = new Tracker_Artifact_ChangesetDao(); $changeset_comment_dao = new Tracker_Artifact_Changeset_CommentDao(); $logger = new Log_ConsoleLogger(); $send_notifications = false; $artifact_creator = new Tracker_ArtifactCreator($artifact_factory, $fields_validator, new Tracker_Artifact_Changeset_InitialChangesetAtGivenDateCreator($fields_validator, $formelement_factory, $changeset_dao, $artifact_factory, EventManager::instance())); $new_changeset_creator = new Tracker_Artifact_Changeset_NewChangesetAtGivenDateCreator($fields_validator, $formelement_factory, $changeset_dao, $changeset_comment_dao, $artifact_factory, EventManager::instance(), ReferenceManager::instance()); return new Tracker_Artifact_XMLImport(new XML_RNGValidator(), $artifact_creator, $new_changeset_creator, Tracker_FormElementFactory::instance(), $user_finder, new Tracker_FormElement_Field_List_Bind_Static_ValueDao(), $logger, $send_notifications); }
/** * build burndown chart properties * * @param Burndown_Engine $engine object */ public function buildProperties($engine) { parent::buildProperties($engine); $form_element_factory = Tracker_FormElementFactory::instance(); $effort_field = $form_element_factory->getFormElementById($this->chart->getFieldId()); $type = $form_element_factory->getType($effort_field); if ($this->isValidEffortField($effort_field, $type) && $this->isValidType($type)) { $engine->data = $this->getBurnDownData($effort_field->getId(), $type); } $engine->legend = null; $engine->start_date = $this->chart->getStartDate(); $engine->duration = $this->chart->getDuration(); }
/** * Build a Cardwall_Board taking account of Mapped Fieds * * @param PFUser $user * @param Tracker_ArtifactFactory $artifact_factory * @param Planning_Milestone $milestone * @param Cardwall_OnTop_Config $config * @param Cardwall_OnTop_Config_ColumnCollection $columns * * @return Cardwall_Board */ public function buildBoardUsingMappedFields(PFUser $user, Tracker_ArtifactFactory $artifact_factory, Planning_Milestone $milestone, Cardwall_OnTop_Config $config, Cardwall_OnTop_Config_ColumnCollection $columns) { $planning = $milestone->getPlanning(); $field_provider = new Cardwall_OnTop_Config_MappedFieldProvider($config, new Cardwall_FieldProviders_SemanticStatusFieldRetriever()); $column_preferences = new Cardwall_UserPreferences_Autostack_AutostackDashboard($user, $config->getTracker()); $column_autostack = new Cardwall_UserPreferences_UserPreferencesAutostackFactory(); $column_autostack->setAutostack($columns, $column_preferences); $mapping_collection = $this->getMappingCollection($planning, $columns, $field_provider, $config); $presenter_builder = new Cardwall_CardInCellPresenterBuilder(new Cardwall_CardInCellPresenterFactory($field_provider, $mapping_collection), new Cardwall_CardFields(UserManager::instance(), Tracker_FormElementFactory::instance()), $this->getDisplayPreferences($milestone, $user), $user); $swimline_factory = new Cardwall_SwimlineFactory($config, $field_provider); $pane_board_builder = new Cardwall_PaneBoardBuilder($presenter_builder, $artifact_factory, new AgileDashboard_BacklogItemDao(), $swimline_factory); $board = $pane_board_builder->getBoard($user, $milestone->getArtifact(), $columns, $mapping_collection); return $board; }
/** * build bar chart data * * @param Gantt_Engine object * @return array data array */ function buildData($engine) { $engine->data = array(); $ff = Tracker_FormElementFactory::instance(); $field_start = $this->chart->getField_start() ? $ff->getFormElementById($this->chart->getField_start()) : null; $field_due = $this->chart->getField_due() ? $ff->getFormElementById($this->chart->getField_due()) : null; $field_finish = $this->chart->getField_finish() ? $ff->getFormElementById($this->chart->getField_finish()) : null; $field_percentage = $this->chart->getField_percentage() ? $ff->getFormElementById($this->chart->getField_percentage()) : null; $field_righttext = $this->chart->getField_righttext() ? $ff->getFormElementById($this->chart->getField_righttext()) : null; $field_summary = $this->chart->getSummary() ? $ff->getFormElementById($this->chart->getSummary()) : null; $af = Tracker_ArtifactFactory::instance(); $changesets = explode(',', $this->artifacts['last_changeset_id']); foreach (explode(',', $this->artifacts['id']) as $i => $aid) { if ($artifact = $af->getArtifactByid($aid)) { if ($changeset = $artifact->getChangeset($changesets[$i])) { $data = array('id' => $aid, 'summary' => '#' . $aid, 'start' => 0, 'due' => 0, 'finish' => 0, 'progress' => 0, 'right' => '', 'hint' => '#' . $aid, 'links' => TRACKER_BASE_URL . '/?aid=' . $aid); if ($field_start) { $data['start'] = $field_start->fetchRawValueFromChangeset($changeset); } if ($field_due) { $data['due'] = $field_due->fetchRawValueFromChangeset($changeset); } if ($field_finish) { $data['finish'] = $field_finish->fetchRawValueFromChangeset($changeset); } if ($field_percentage) { $data['progress'] = $field_percentage->fetchRawValueFromChangeset($changeset); } if ($field_righttext) { $data['right'] = $field_righttext->fetchRawValueFromChangeset($changeset); } if ($field_summary) { $data['hint'] = $data['summary'] = $field_summary->fetchRawValueFromChangeset($changeset); } if ($data['progress'] < 0) { $data['progress'] = 0; } else { if ($data['progress'] > 100) { $data['progress'] = 1; } else { $data['progress'] = $data['progress'] / 100; } } $engine->data[] = $data; } } } usort($engine->data, array($this, 'sortByDate')); return $engine->data; }
public function process(TrackerManager $engine, Codendi_Request $request, PFUser $current_user) { $workflow_factory = WorkflowFactory::instance(); if ($request->get('func') == Workflow::FUNC_ADMIN_RULES) { $token = new CSRFSynchronizerToken(TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_RULES))); $rule_date_factory = new Tracker_Rule_Date_Factory(new Tracker_Rule_Date_Dao(), Tracker_FormElementFactory::instance()); $action = new Tracker_Workflow_Action_Rules_EditRules($this->tracker, $rule_date_factory, $token); } elseif ($request->get('func') == Workflow::FUNC_ADMIN_CROSS_TRACKER_TRIGGERS) { $token = new CSRFSynchronizerToken(TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_CROSS_TRACKER_TRIGGERS))); $renderer = TemplateRendererFactory::build()->getRenderer(TRACKER_BASE_DIR . '/../templates'); $action = new Tracker_Workflow_Action_Triggers_EditTriggers($this->tracker, $token, $renderer, $workflow_factory->getTriggerRulesManager()); } else { if ($request->get('func') == Workflow::FUNC_ADMIN_GET_TRIGGERS_RULES_BUILDER_DATA) { $action = new Tracker_Workflow_Action_Triggers_GetTriggersRulesBuilderData($this->tracker, Tracker_FormElementFactory::instance()); } else { if ($request->get('func') == Workflow::FUNC_ADMIN_ADD_TRIGGER) { $action = new Tracker_Workflow_Action_Triggers_AddTrigger($this->tracker, Tracker_FormElementFactory::instance(), $workflow_factory->getTriggerRulesManager()); } else { if ($request->get('func') == Workflow::FUNC_ADMIN_DELETE_TRIGGER) { $action = new Tracker_Workflow_Action_Triggers_DeleteTrigger($this->tracker, $workflow_factory->getTriggerRulesManager()); } else { if ($request->get('create')) { $action = new Tracker_Workflow_Action_Transitions_Create($this->tracker, $workflow_factory); } else { if ($request->get('edit_transition')) { $action = new Tracker_Workflow_Action_Transitions_EditTransition($this->tracker, TransitionFactory::instance(), new Transition_PostActionFactory()); } else { if ($request->get('delete')) { $action = new Tracker_Workflow_Action_Transitions_Delete($this->tracker, $workflow_factory); } else { if ($request->get('transitions')) { $action = new Tracker_Workflow_Action_Transitions_CreateMatrix($this->tracker, $workflow_factory, Tracker_FormElementFactory::instance()); } else { if ($request->get('workflow_details')) { $action = new Tracker_Workflow_Action_Transitions_Details($this->tracker, TransitionFactory::instance()); } else { $action = new Tracker_Workflow_Action_Transitions_DefineWorkflow($this->tracker, WorkflowFactory::instance(), Tracker_FormElementFactory::instance()); } } } } } } } } } $action->process($engine, $request, $current_user); }
/** * Process the form * * @param Tracker_SemanticManager $sm The semantic manager * @param TrackerManager $tracker_manager The tracker manager * @param Codendi_Request $request The request * @param PFUser $current_user The user who made the request * * @return void */ public function process(Tracker_SemanticManager $sm, TrackerManager $tracker_manager, Codendi_Request $request, PFUser $current_user) { if ($request->get('add-field') && (int) $request->get('field')) { //retrieve the field if used $f = Tracker_FormElementFactory::instance()->getUsedFormElementById($request->get('field')); //store the new field $this->getDao()->add($this->tracker->id, $f->id, 'end'); } else { if ((int) $request->get('remove')) { //retrieve the field if used $f = Tracker_FormElementFactory::instance()->getUsedFormElementById($request->get('remove')); //store the new field $this->getDao()->remove($this->tracker->id, $f->id); } } $this->displayAdmin($sm, $tracker_manager, $request, $current_user); }
public function __construct(array $linked_artifacts, $remaining_effort_field_name, User $user) { $form_element_factory = Tracker_FormElementFactory::instance(); $artifact_ids_by_tracker = array(); foreach ($linked_artifacts as $linked_artifact) { $tracker_id = $linked_artifact->getTracker()->getId(); $artifact_id = $linked_artifact->getId(); $artifact_ids_by_tracker[$tracker_id][] = $artifact_id; $this->artifact_ids[] = $artifact_id; } foreach ($artifact_ids_by_tracker as $tracker_id => $artifact_ids) { $effort_field = $form_element_factory->getUsedFieldByNameForUser($tracker_id, $remaining_effort_field_name, $user); if ($effort_field) { $effort_field_id = $effort_field->getId(); $effort_field_type = $form_element_factory->getType($effort_field); $this->setRemainingEffort($effort_field_id, $effort_field_type, $artifact_ids); } } }
/** * build cumulative_flow chart properties * * @param CumulativeFlow_Engine $engine object */ public function buildProperties($engine) { parent::buildProperties($engine); $form_element_factory = Tracker_FormElementFactory::instance(); $observed_field = $form_element_factory->getFormElementById($this->chart->getFieldId()); $type = $form_element_factory->getType($observed_field); $this->observed_field_id = $observed_field->getId(); $this->timeFiller = array(GraphOnTrackersV5_Chart_CumulativeFlow::SCALE_DAY => 3600 * 24, GraphOnTrackersV5_Chart_CumulativeFlow::SCALE_WEEK => 3600 * 24 * 7, GraphOnTrackersV5_Chart_CumulativeFlow::SCALE_MONTH => 3600 * 24 * 30.45); $this->startDate = $this->chart->getStartDate(); $this->stopDate = $this->chart->getStopDate() ? $this->chart->getStopDate() : time(); $this->scale = $this->chart->getScale(); $this->nbSteps = ceil(($this->stopDate - $this->startDate) / $this->timeFiller[$this->scale]); if ($this->isValidObservedField($observed_field, $type) && $this->isValidType($type)) { $engine->data = $this->getCumulativeFlowData($engine); } $engine->legend = null; $engine->start_date = $this->chart->getStartDate(); $engine->scale = $this->chart->getScale(); $engine->stop_date = $this->chart->getStopDate(); }
/** * build burnup chart properties * * @param Burnup_Engine $engine object */ function buildProperties($engine) { parent::buildProperties($engine); $data = array(); $remaining = array(); $engine->legend = null; $result = array(); $ff = Tracker_FormElementFactory::instance(); $remaining_f = $ff->getFormElementById($this->chart->getRemainingField()); $done_f = $ff->getFormElementById($this->chart->getDoneField()); $ids = array_map(create_function('$a', 'return $a["id"];'), $this->artifacts); if ($remaining_f && $remaining_f->userCanRead(user_getid()) && $done_f && $done_f->userCanRead(user_getid())) { $sql = "SELECT c.artifact_id AS id, \n TO_DAYS(FROM_UNIXTIME(submitted_on)) - TO_DAYS(FROM_UNIXTIME(0)) as day, \n f.value as remaining,\n done_f.value as done\n FROM tracker_changeset AS c \n INNER JOIN tracker_changeset_value AS v ON(v.changeset_id = c.id)\n INNER JOIN tracker_field_int_value AS f ON(f.field_id = v.field_id and v.value_id = f.id)\n INNER JOIN tracker_changeset_value AS done_v ON(done_v.changeset_id = c.id)\n INNER JOIN tracker_field_int_value AS done_f ON(done_f.field_id = done_v.field_id and done_v.value_id = done_f.id)\n WHERE c.artifact_id IN (" . implode(',', $ids) . ")\n AND v.field_id = {$remaining_f->id}\n AND done_v.field_id = {$done_f->id}"; //syntax($sql, 'sql'); $res = db_query($sql); $data = $this->extractDataFromResult($res, $ids, 'done'); $remaining = $this->extractDataFromResult($res, $ids, 'remaining'); } $engine->data = $data; $engine->remaining = $remaining; return $data; }
/** * Returns the Form Element Factory * * @return Tracker_FormElementFactory The factory */ protected function getFormElementFactory() { return Tracker_FormElementFactory::instance(); }
public function __construct(Transition $transition, Workflow_Transition_Condition_FieldNotEmpty_Dao $dao, Tracker_Artifact $artifact = null) { parent::__construct($transition); $this->dao = $dao; $this->formElementFactory = Tracker_FormElementFactory::instance(); }
private function clearFormElementCache() { $this->tracker_formelement_factory->clearInstance(); $this->tracker_formelement_factory->instance(); }
/** * Returns a Tracker_FormElementFactory instance * * @return Tracker_FormElementFactory */ protected function getFormElementFactory() { if (empty($this->formElementFactory)) { $this->formElementFactory = Tracker_FormElementFactory::instance(); } return $this->formElementFactory; }
/** * Load an instance of a Tracker_Semantic_Status * * @param Tracker $tracker the tracker * * @return Tracker_Semantic_Status */ public static function load(Tracker $tracker) { if (!isset(self::$_instances[$tracker->getId()])) { $field_id = null; $open_values = array(); $dao = new Tracker_Semantic_StatusDao(); foreach ($dao->searchByTrackerId($tracker->getId()) as $row) { $field_id = $row['field_id']; $open_values[] = $row['open_value_id']; } if (!$open_values) { $open_values[] = 100; } $fef = Tracker_FormElementFactory::instance(); $field = $fef->getFieldById($field_id); self::$_instances[$tracker->getId()] = new Tracker_Semantic_Status($tracker, $field, $open_values); } return self::$_instances[$tracker->getId()]; }
/** * @return PlanningFactory */ public static function build() { return new PlanningFactory(new PlanningDao(), TrackerFactory::instance(), Tracker_FormElementFactory::instance(), new PlanningPermissionsManager()); }
/** * Add an artefact in the tracker * * @param Tracker $tracker The tracker this artifact belongs to * @param array $fields_data The data of the artifact to create * @param PFUser $user The user that want to create the artifact * @param string $email The email if the user is anonymous (null if anonymous) * @param boolean $send_notification true if a notification must be sent, false otherwise * * @return Tracker_Artifact or false if an error occured */ public function createArtifact(Tracker $tracker, $fields_data, PFUser $user, $email, $send_notification = true) { $formelement_factory = Tracker_FormElementFactory::instance(); $fields_validator = new Tracker_Artifact_Changeset_InitialChangesetFieldsValidator($formelement_factory); $changeset_creator = new Tracker_Artifact_Changeset_InitialChangesetCreator($fields_validator, $formelement_factory, new Tracker_Artifact_ChangesetDao(), $this, EventManager::instance()); $creator = new Tracker_ArtifactCreator($this, $fields_validator, $changeset_creator); if ($user->isAnonymous()) { $user->setEmail($email); } $submitted_on = $_SERVER['REQUEST_TIME']; return $creator->create($tracker, $fields_data, $user, $submitted_on, $send_notification); }
private function getBacklogItemCollectionFactory() { return new AgileDashboard_Milestone_Backlog_BacklogItemCollectionFactory(new AgileDashboard_BacklogItemDao(), $this->getArtifactFactory(), Tracker_FormElementFactory::instance(), $this->getMilestoneFactory(), $this->getPlanningFactory(), new AgileDashboard_Milestone_Backlog_BacklogItemBuilder()); }