/** * @param RedBeanModel $model * @param string $groupByAttribute * @param RedBeanModel $relatedModel * @param string $relatedModelClassName * @throws NotSupportedException */ public function __construct(RedBeanModel $model, $groupByAttribute, $relatedModel, $relatedModelClassName) { $this->model = $model; $this->groupByAttribute = $groupByAttribute; $this->groupByDataAndTranslatedLabels = KanbanItem::getTypeDropDownArray(); $this->groupByAttributeVisibleValues = array_keys($this->groupByDataAndTranslatedLabels); $this->relatedModel = $relatedModel; $this->relatedModelClassName = $relatedModelClassName; }
/** * Get active project information for dashboard * @param array $project * @return string */ public static function getActiveProjectInformationForDashboard(Project $project) { $content = static::resolveProjectLinkWithRedirectURl($project->name, $project->id); $stats = static::groupTasksByKanbanTypeAndGetStats($project); $kanbanTypes = KanbanItem::getTypeDropDownArray(); foreach ($stats as $key => $value) { if ($key != 'completionPercent') { $content .= ZurmoHtml::tag('div', array('class' => 'project-stats'), ZurmoHtml::tag('strong', array(), $value) . ZurmoHtml::tag('span', array(), $kanbanTypes[$key])); } else { $label = '% ' . Zurmo::t('Core', 'Complete'); $color = (int) $value > 0 ? 'percent-yellow' : 'percent-red'; $color = (int) $value == 100 ? 'percent-green' : $color; $content .= ZurmoHtml::tag('div', array('class' => 'project-stats percent-complete ' . $color), ZurmoHtml::tag('strong', array(), $value) . ZurmoHtml::tag('span', array(), $label)); } } return $content; }