public function actionDetails($id) { $contact = static::getModelAndCatchNotFoundAndDisplayError('Contact', intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($contact); if (!LeadsUtil::isStateALead($contact->state)) { $urlParams = array('/contacts/' . $this->getId() . '/details', 'id' => $contact->id); $this->redirect($urlParams); } else { AuditEvent::logAuditEvent('ZurmoModule', ZurmoModule::AUDIT_EVENT_ITEM_VIEWED, array(strval($contact), 'LeadsModule'), $contact); $getData = GetUtil::getData(); $isKanbanBoardInRequest = ArrayUtil::getArrayValue($getData, 'kanbanBoard'); if ($isKanbanBoardInRequest == 0 || $isKanbanBoardInRequest == null || Yii::app()->userInterface->isMobile() === true) { $breadCrumbView = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($this, 'LeadsSearchView', $contact); $detailsAndRelationsView = $this->makeDetailsAndRelationsView($contact, 'LeadsModule', 'LeadDetailsAndRelationsView', Yii::app()->request->getRequestUri(), $breadCrumbView); $view = new LeadsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $detailsAndRelationsView)); } else { $kanbanItem = new KanbanItem(); $kanbanBoard = new TaskKanbanBoard($kanbanItem, 'type', $contact, get_class($contact)); $kanbanBoard->setIsActive(); $params['relationModel'] = $contact; $params['relationModuleId'] = $this->getModule()->getId(); $params['redirectUrl'] = null; $listView = new TasksForLeadKanbanView($this->getId(), 'tasks', 'Task', null, $params, null, array(), $kanbanBoard); $view = new LeadsPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $listView)); } echo $view->render(); } }
/** * Resolve task kanban view for relation * @param RedBeanModel $model * @param string $moduleId * @param ZurmoModuleController $controller * @param TasksForRelatedKanbanView $kanbanView * @param ZurmoDefaultPageView $pageView * @return ZurmoDefaultPageView */ public static function resolveTaskKanbanViewForRelation($model, $moduleId, $controller, $kanbanView, $pageView) { assert('$model instanceof RedBeanModel'); assert('is_string($moduleId)'); assert('$controller instanceof ZurmoModuleController'); assert('is_string($kanbanView)'); assert('is_string($pageView)'); $breadCrumbLinks = array(StringUtil::getChoppedStringContent(strval($model), 25)); $kanbanItem = new KanbanItem(); $kanbanBoard = new TaskKanbanBoard($kanbanItem, 'type', $model, get_class($model)); $kanbanBoard->setIsActive(); $params['relationModel'] = $model; $params['relationModuleId'] = $moduleId; $params['redirectUrl'] = null; $listView = new $kanbanView($controller->getId(), 'tasks', 'Task', null, $params, null, array(), $kanbanBoard); $view = new $pageView(ZurmoDefaultViewUtil::makeViewWithBreadcrumbsForCurrentUser($controller, $listView, $breadCrumbLinks, 'KanbanBoardBreadCrumbView')); return $view; }