public function render($tpl = null) { //get model and retrieve info $model = new EventModel(); if (TemplateHelper::isMobile()) { $model->set('current_events', true); } $events = $model->getEvents(); $eventDock = ViewHelper::getView('events', 'dashboard_event_dock', 'phtml', array('events' => $events)); $dealModel = new DealModel(); $dealModel->set('_view', 'dashboard'); $dealModel->set('recent', true); $dealModel->set('archived', 0); $recentDeals = $dealModel->getDeals(); $doc = JFactory::getDocument(); //get data for sales graphs $model = new GraphsModel(); $graph_data = $model->getGraphData(); $activityHelper = new ActivityHelper(); $activity = $activityHelper->getActivity(); //assign results to view $this->eventDock = $eventDock; $this->graph_data = $graph_data; $this->recentDeals = $recentDeals; $this->activity = $activity; $json = TRUE; $peopleModel = new PeopleModel(); if (TemplateHelper::isMobile()) { $dealModel->set('recent', false); $totalDeals = $dealModel->getTotal(); $peopleModel->set('type', 'leads'); $totalLeads = $peopleModel->getTotal(); $peopleModel->set('type', 'not_leads'); $totalContacts = $peopleModel->getTotal(); $companyModel = new CompanyModel(); $totalCompanies = $companyModel->getTotal(); $user = UsersHelper::getLoggedInUser(); $this->first_name = $user->first_name; $this->numEvents = count($events); $this->numDeals = $totalDeals; $this->numLeads = $totalLeads; $this->numContacts = $totalContacts; $this->numCompanies = $totalCompanies; } $peopleNames = $peopleModel->getPeopleNames($json); $doc->addScriptDeclaration("var people_names=" . $peopleNames . ";"); $dealModel = new DealModel(); $dealNames = $dealModel->getDealNames($json); $doc->addScriptDeclaration("var deal_names=" . $dealNames . ";"); /** get latest activities **/ $this->latest_activities = ViewHelper::getView('dashboard', 'latest_activities', 'phtml'); $this->latest_activities->activity = $activity; $activityHelper = new ActivityHelper(); $activity = $activityHelper->getActivity(); //display return parent::render(); }
public function render($tpl = null) { $app = JFactory::getApplication(); $document = JFactory::getDocument(); //event model $model = new EventModel(); $view = $app->input->get('view'); $layout = $this->getLayout(); switch ($layout) { case 'event_dock': break; case 'edit_event': case 'edit_task': break; case 'default': default: $event_id = $app->input->get('id'); if ($app->input->get('loc')) { $events = $model->getEvents($app->input->get('loc'), null, $app->input->get($app->input->get('loc') . '_id')); } else { $events = $model->getEvents(); } $state = $model->getState(); $this->event_statuses = EventHelper::getEventStatuses(); $this->event_types = EventHelper::getEventTypes(); $this->event_categories = EventHelper::getCategories(TRUE); $this->event_due_dates = EventHelper::getEventDueDates(); $this->event_associations = EventHelper::getEventAssociations(); $this->event_users = UsersHelper::getUsers(NULL, TRUE); $this->event_teams = UsersHelper::getTeams(); $this->dataTableColumns = $model->getDataTableColumns(); $document->addScriptDeclaration("\n loc = 'events';\n order_url = 'index.php?view=events&layout=list&format=raw&tmpl=component';\n order_dir = '" . $state->get('Event.' . $view . '_' . $layout . '_' . 'filter_order_Dir') . "';\n order_col = '" . $state->get('Event.' . $view . '_' . $layout . '_' . 'filter_order') . "';\n var dataTableColumns = " . json_encode($this->dataTableColumns) . ";"); $this->state = $state; break; } if ($layout != 'edit_task' || $layout != "edit_event") { if (TemplateHelper::isMobile()) { $model->set('current_events', true); $document->addScriptDeclaration('loc="events";'); } } if (TemplateHelper::isMobile() && isset($event_id)) { $person_model = new PeopleModel(); $person_model->set('event_id', $event_id); $person_model->set('recent', false); $person_model->set('_id', null); $this->people = $person_model->getPeople(); } $document->addScriptDeclaration('var layout="' . $layout . '"'); //assign results to view $this->events = $events; $this->member_role = UsersHelper::getRole(); $this->user_id = UsersHelper::getUserId(); $this->team_id = UsersHelper::getTeamId(); //display return parent::render(); }
public function render($tpl = null) { $app = JFactory::getApplication(); $deal_id = $app->input->get('deal_id'); $event_id = $app->input->get('event_id'); $companyId = $app->input->get('company_id'); $model = new PeopleModel(); $model->set('deal_id', $deal_id); $model->set('event_id', $event_id); $model->set('company_id', $companyId); $contacts = $model->getContacts(); $this->contacts = $contacts; if ($deal_id) { $primary_contact_id = DealHelper::getPrimaryContact($deal_id); $this->primary_contact_id = $primary_contact_id; } //display view echo parent::render(); }
public function render() { $app = JFactory::getApplication(); $document = JFactory::getDocument(); $id = $app->input->get('id') ? $app->input->get('id') : null; $company_id = $app->input->get('company_id'); //retrieve people from model $model = new PeopleModel(); $model->set('company_id', $company_id); $layout = $this->getLayout(); $this->total = $model->getTotal(); $this->pagination = $model->getPagination(); //assign refs switch ($layout) { case "entry": $this->k = 0; $this->person = $model->getPerson(); break; case "add": case "edit": $this->person = $model->getPerson(); $this->edit_custom_fields_view = ViewHelper::getView('custom', 'edit', 'phtml', array('type' => 'people', 'item' => $this->person)); $companyModel = new CompanyModel(); $json = TRUE; $companyNames = $companyModel->getCompanyNames($json); $document->addScriptDeclaration("var company_names=" . $companyNames . ";"); break; case "people_dock_list": $people = $model->getPeople($id); $this->people = $people; break; default: $people = $model->getPeople($id); $this->people = $people; $this->state = $model->getState(); break; } //display view echo parent::render(); }
public function getDealDetails(&$deal) { $closed_stages = DealHelper::getClosedStages(); $deal->closed = in_array($deal->stage_id, $closed_stages) ? TRUE : FALSE; $deal_id = $deal->id; /** ------------------------------------------ * Join contacts */ $peopleModel = new People(); $peopleModel->set('deal_id', $deal_id); $people = $peopleModel->getContacts(); //assign results to company $deal->people = $people; /** ------------------------------------------ * Join conversations */ $convoModel = new Conversation(); $convoModel->set('deal_id', $deal_id); $conversations = $convoModel->getConversations(); $deal->conversations = $conversations; /** ------------------------------------------ * Join notes */ $notesModel = new Note(); $deal->notes = $notesModel->getNotes($deal_id, 'deal'); /** ------------------------------------------ * Join documents */ $docModel = new Document(); $docModel->set('deal_id', $deal_id); $deal->documents = $docModel->getDocuments(); /** ------------------------------------------ * Join tasks & events */ $eventModel = new Event(); $eventModel->set('deal_id', $deal_id); $events = $eventModel->getEvents(); $deal->events = $events; }
public function getCompanies($id = null, $type = null, $user = null, $team = null) { $app = \Cobalt\Container::fetch('app'); $this->_id = $id; $this->_type = $type; $this->_user = $user; $this->_team = $team; //get query string $query = $this->_buildQuery(); /** ------------------------------------------ * Set query limits and load results */ if (!TemplateHelper::isMobile()) { $limit = $this->getState($this->_view . '_limit'); $limitStart = $this->getState($this->_view . '_limitstart'); if (!$this->_id && $limit != 0) { if ($limitStart >= $this->getTotal()) { $limitStart = 0; $limit = 10; $limitStart = $limit != 0 ? floor($limitStart / $limit) * $limit : 0; $this->state->set($this->_view . '_limit', $limit); $this->state->set($this->_view . '_limitstart', $limitStart); } $query .= " LIMIT " . $limit . " OFFSET " . $limitStart; } } //run query and grab results of companies $companies = $this->db->setQuery($query)->loadAssocList(); //generate query to join people if (count($companies)) { $export = $app->input->get('export'); if (!$export) { foreach ($companies as $key => $company) { /* Tweets */ if ($company['twitter_user'] != "" && $company['twitter_user'] != " ") { $companies[$key]['tweets'] = TweetsHelper::getTweets($company['twitter_user']); } //generate people query $peopleModel = new People(); $peopleModel->set('company_id', $company['id']); $companies[$key]['people'] = $peopleModel->getContacts(); //generate deal query $dealModel = new Deal(); $dealModel->set('company_id', $company['id']); $deals = $dealModel->getDeals(); $companies[$key]['pipeline'] = 0; $companies[$key]['won_deals'] = 0; for ($i = 0; $i < count($deals); $i++) { $deal = $deals[$i]; $companies[$key]['pipeline'] += $deal->amount; if ($deal->percent == 100) { $companies[$key]['won_deals'] += $deal->amount; } } $companies[$key]['deals'] = $deals; //Get Associated Notes $notesModel = new Note(); $companies[$key]['notes'] = $notesModel->getNotes($company['id'], 'company'); // Get Associated Documents $documentModel = new Document(); $documentModel->set('company_id', $company['id']); $companies[$key]['documents'] = $documentModel->getDocuments(); $companies[$key]['address_formatted'] = strlen($company['address_1']) > 0 ? $company['address_1'] . $company['address_2'] . ", " . $company['address_city'] . ' ' . $company['address_state'] . ', ' . $company['address_zip'] . ' ' . $company['address_country'] : ""; } } } //$app->triggerEvent('onCompanyLoad',array(&$companies)); return $companies; }