Esempio n. 1
0
 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();
 }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
 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();
 }
Esempio n. 5
0
 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;
 }
Esempio n. 6
0
 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;
 }