예제 #1
0
 /**
  * @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;
 }