예제 #1
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();
 }
예제 #2
0
 public function render($tpl = null)
 {
     //authenticate the current user to make sure they are an admin
     UsersHelper::authenticateAdmin();
     //application
     $app = \Cobalt\Container::fetch('app');
     //display title
     $document = JFactory::getDocument();
     //load model
     $layout = $this->getLayout();
     $model = new UsersModel();
     $model->set("_layout", $layout);
     //add toolbar buttons to manage users
     if ($layout == 'default') {
         $this->toolbar = new Toolbar();
         $this->toolbar->addNew();
         $this->toolbar->addDeleteRow();
         //get users
         $users = $model->getUsers();
         // Initialise variables.
         $this->state = $model->getState();
         //assign refs
         $this->users = $users;
         $this->listOrder = $this->state->get('Users.filter_order');
         $this->listDirn = $this->state->get('Users.filter_order_Dir');
     } elseif ($this->getLayout() == 'edit') {
         $model = new UserModel();
         $model->set("_layout", $layout);
         $this->toolbar = new Toolbar();
         $this->toolbar->save();
         $this->toolbar->cancel();
         //get id
         $id = $app->input->getInt('id', null);
         //plugins
         //$app->triggerEvent('onBeforeCRMUserEdit', array(&$id));
         //get user
         $this->user = $model->getUser($id);
         //view data
         $roles = DropdownHelper::getMemberRoles();
         $teamId = UsersHelper::getTeamId($id);
         $teams = UsersHelper::getTeams($teamId);
         $managers = DropdownHelper::getManagers($id);
         $this->member_roles = $roles;
         $this->teams = $teams;
         $this->managers = $managers;
     }
     /** Menu Links **/
     $menu = MenuHelper::getMenuModules();
     $this->menu = $menu;
     //display
     return parent::render();
 }
예제 #3
0
 public function render()
 {
     //app
     $this->app = JFactory::getApplication();
     //load reports menu bar
     $this->menu = TemplateHelper::loadReportMenu();
     //get document
     $this->document = JFactory::getDocument();
     //determine view layout
     $this->layout = $this->getLayout();
     $func = "_display_" . $this->layout;
     if (method_exists($this, $func)) {
         $this->{$func}();
     }
     //assign user filter priviliges
     $this->member_role = UsersHelper::getRole();
     $this->user_id = UsersHelper::getUserId();
     $this->team_id = UsersHelper::getTeamId();
     //if the user is not basic then they are able to filter through company/team/user data
     if ($this->member_role != 'basic') {
         //exec can see teams
         if ($this->member_role == 'exec') {
             $this->teams = UsersHelper::getTeams();
         }
         //manager and exec users
         $this->users = UsersHelper::getUsers();
     }
     //assign team names for drop downs
     $this->team_names = DropdownHelper::getTeamNames();
     //assign user names for drop downs
     $this->user_names = DropdownHelper::getUserNames();
     //assign categories for drop downs
     $this->categories = NoteHelper::getCategories();
     //display
     return parent::render();
 }
예제 #4
0
 public function render()
 {
     $app = JFactory::getApplication();
     //determine the type of goal we are creating//editing
     $type = $app->input->get('type');
     //edit layout
     if ($this->getLayout() == 'edit') {
         switch ($type) {
             case "win_cash":
                 $header = ucwords(TextHelper::_('COBALT_WIN_MORE_CASH'));
                 break;
             case "win_deals":
                 $header = ucwords(TextHelper::_('COBALT_WIN_MORE_DEALS'));
                 break;
             case "move_deals":
                 $header = ucwords(TextHelper::_('COBALT_MOVE_DEALS_FORWARD'));
                 break;
             case "complete_tasks":
                 $header = ucwords(TextHelper::_('COBALT_COMPLETE_TASKS'));
                 break;
             case "write_notes":
                 $header = ucwords(TextHelper::_('COBALT_WRITE_NOTES'));
                 break;
             case "create_deals":
                 $header = ucwords(TextHelper::_('COBALT_CREATE_DEALS'));
                 break;
             default:
                 $app->redirect('index.php?view=goals');
                 break;
         }
         $this->header = $header;
     } elseif ($this->getLayout() != 'add') {
         //load model
         $model = new GoalModel();
         //get all goals from model depending on user type
         $member_role = UsersHelper::getRole();
         //basic members
         if ($member_role == 'basic') {
             $individual_goals = $model->getIndividualGoals();
             $team_goals = $model->getTeamGoals();
             $company_goals = $model->getCompanyGoals();
             $leaderboards = $model->getLeaderBoards();
         }
         //managers
         if ($member_role == 'manager') {
             // $individual_goals = $model->getManagerIndividualGoals();
             $individual_goals = $model->getIndividualGoals();
             $team_goals = $model->getTeamGoals();
             $company_goals = $model->getCompanyGoals();
             $leaderboards = $model->getLeaderBoards();
         }
         //executives
         if ($member_role == 'exec') {
             // $individual_goals = $model->getExecIndividualGoals();
             $individual_goals = $model->getIndividualGoals();
             // $team_goals = $model->getExecTeamGoals();
             $team_goals = $model->getTeamGoals();
             $company_goals = $model->getCompanyGoals();
             $leaderboards = $model->getLeaderBoards();
         }
         //assign goals to global goal object to pass through to view
         $goals = new \stdClass();
         $goals->individual_goals = $individual_goals;
         $goals->team_goals = $team_goals;
         $goals->company_goals = $company_goals;
         $goals->leaderboards = $leaderboards;
         //if we get results then load the default goals page else show the add goals page
         $goal_count = false;
         foreach ($goals as $goal_list) {
             if (count($goal_list) > 0) {
                 $goal_count = true;
             }
         }
         if ($goal_count) {
             //set layout
             $this->setLayout('default');
             //assign view refs
             $this->goals = $goals;
         } else {
             //add goal layout
             $this->setLayout('add');
         }
     }
     //load java libs
     $doc = JFactory::getDocument();
     $doc->addScript(JURI::base() . 'src/Cobalt/media/js/goal_manager.js');
     //get associated members and teams
     $teams = UsersHelper::getTeams();
     $users = UsersHelper::getUsers();
     $member_role = UsersHelper::getRole();
     $user_id = UsersHelper::getUserId();
     $team_id = UsersHelper::getTeamId();
     //assign view refs
     $this->type = $type;
     $this->teams = $teams;
     $this->users = $users;
     $this->user_id = $user_id;
     $this->team_id = $team_id;
     $this->member_role = $member_role;
     $this->leaderboard_list = DropdownHelper::getLeaderBoards();
     //display
     return parent::render();
 }
예제 #5
0
 /**
  * Get team names for dropdowns
  * @param mixed $return array of team names for dropdown
  */
 public static function getTeamNames()
 {
     //get all teams
     $teams = UsersHelper::getTeams();
     //generate array
     $return = array();
     $managerTeam = UsersHelper::getTeamId();
     if (is_array($teams) && count($teams) > 0) {
         foreach ($teams as $key => $value) {
             $return[$value['team_id']] = $value['team_name'] . TextHelper::_('COBALT_TEAM_APPEND');
         }
     }
     unset($return[$managerTeam]);
     //return array
     return $return;
 }
예제 #6
0
 public function render()
 {
     $app = \Cobalt\Container::fetch('app');
     //retrieve deal list from model
     $model = new DealModel();
     $state = $model->getState();
     $dealList = array();
     $deal = array();
     $doc = JFactory::getDocument();
     //session info
     $session = JFactory::getSession();
     $member_role = UsersHelper::getRole();
     $user_id = UsersHelper::getUserId();
     $team_id = UsersHelper::getTeamId();
     //determine if we are requesting a specific deal or all deals
     //if id requested
     if ($app->input->get('id')) {
         $model->set('_id', $app->input->get('id'));
         $dealList = $model->getDeals();
         if (is_null($dealList[0]->id)) {
             $app->redirect(RouteHelper::_('index.php?view=deals'), TextHelper::_('COBALT_NOT_AUTHORIZED'));
         }
         //display remove and assign primary contact to deal
         $app->input->set('loc', 'deal');
     } else {
         //else load all deals
         if ($app->input->get('layout') != 'edit') {
             if (TemplateHelper::isMobile()) {
                 $model->set('ordering', 'd.name ASC');
             }
             $dealList = $model->getDeals();
         }
     }
     //determine if we are editing an existing deal entry
     if (count($dealList) == 1) {
         //grab deal object
         $deal = $dealList[0];
         $deal->header = ucwords(TextHelper::_('COBALT_DEAL_EDIT'));
     } else {
         //else we are creating a new entry
         $deal = new \stdClass();
         $deal->name = "";
         $deal->summary = "";
         $deal->company_id = $app->input->get('company_id') ? $app->input->get('company_id') : null;
         $deal->person_id = $app->input->get('person_id') ? $app->input->get('person_id') : null;
         //get company name to prefill data and hidden fields
         if ($deal->company_id) {
             $company = CompanyHelper::getCompany($deal->company_id);
             $deal->company_name = $company[0]['name'];
             $deal->company_id = $company[0]['id'];
         }
         //if a person is specified prefill data
         if ($deal->person_id) {
             $person = PeopleHelper::getPerson($deal->person_id);
             $deal->person_name = $person[0]['last_name'] . ', ' . $person[0]['first_name'];
             $deal->person_id = $person[0]['id'];
             //assign company if person is associated with company
             if ($person[0]['company_id']) {
                 $deal->company_id = $person[0]['company_id'];
                 $deal->company_name = $person[0]['company_name'];
             }
         }
         //assign rest of null data
         $deal->amount = "";
         $deal->stage_id = 0;
         $deal->source_id = 0;
         $deal->probability = 0;
         $deal->status_id = 0;
         $deal->expected_close = "";
         $deal->header = ucwords(TextHelper::_('COBALT_DEAL_HEADER'));
     }
     //load javalibs
     if (!TemplateHelper::isMobile()) {
         $doc->addScript(JURI::base() . 'src/Cobalt/media/js/deal_manager.js');
     }
     //dropdown info
     //get deal type filters
     $deal_types = DealHelper::getDealTypes();
     $deal_type_name = $session->get('deal_type_filter');
     $deal_type_name = array_key_exists($deal_type_name, $deal_types) ? $deal_types[$deal_type_name] : $deal_types[''];
     //get column filters
     $column_filters = DealHelper::getColumnFilters();
     $selected_columns = DealHelper::getSelectedColumnFilters();
     //get member access info
     $teams = UsersHelper::getTeams();
     $users = UsersHelper::getUsers();
     $stages = DealHelper::getStages();
     //get deal stage filters
     $stage_name = $session->get('deal_stage_filter');
     $stage_name = $stage_name ? $stages[$stage_name] : $stages['all'];
     //get session data to prefill filters
     $user_filter = $session->get('deal_user_filter');
     $team_filter = $session->get('deal_team_filter');
     if ($user_filter == "all" && $user_filter != $user_id) {
         $user_name = TextHelper::_('COBALT_ALL_USERS');
     } elseif ($user_filter == "all") {
         $user_name = TextHelper::_('COBALT_ME');
     } elseif ($user_filter and $user_filter != $user_id and $user_filter != 'all') {
         $user_info = UsersHelper::getUsers($user_filter);
         $user_info = $user_info[0];
         $user_name = $user_info['first_name'] . " " . $user_info['last_name'];
     } elseif ($team_filter) {
         $team_info = UsersHelper::getTeams($team_filter);
         $team = $team_info[0];
         $user_name = $team['team_name'] . TextHelper::_('COBALT_TEAM_APPEND');
     } else {
         $user_name = TextHelper::_('COBALT_ME');
     }
     //get closing time filters
     $closing_names = DealHelper::getClosing();
     $closing_name = $session->get('deal_close_filter');
     $closing_name = $closing_name ? $closing_names[$closing_name] : $closing_names['all'];
     //get total deals associated with user
     $total_deals = UsersHelper::getDealCount($user_id, $team_id, $member_role);
     //Load Events & Tasks for person
     $layout = $this->getLayout();
     if ($layout == "deal") {
         $model = new EventModel();
         $events = $model->getEvents("deal", null, $app->input->get('id'));
         $this->event_dock = ViewHelper::getView('events', 'event_dock', 'phtml', array('events' => $events));
         $primary_contact_id = DealHelper::getPrimaryContact($dealList[0]->id);
         $this->contact_info = ViewHelper::getView('contacts', 'default', 'phtml', array('contacts' => $dealList[0]->people, 'primary_contact_id' => $primary_contact_id));
         $this->document_list = ViewHelper::getView('documents', 'list', 'phtml', array('documents' => $deal->documents, 'total' => $total, 'pagination' => $pagination));
         //$this->document_list = ViewHelper::getView('documents','document_row','phtml',array('documents'=>$deal->documents));
         $this->custom_fields_view = ViewHelper::getView('custom', 'default', 'phtml', array('type' => 'deal', 'item' => $dealList[0]));
     }
     if ($layout == "default") {
         $this->dataTableColumns = $model->getDataTableColumns();
         $pagination = $model->getPagination();
         $total = $model->getTotal();
         $this->deal_list = ViewHelper::getView('deals', 'list', 'phtml', array('dealList' => $dealList, 'total' => $total, 'pagination' => $pagination));
         $this->state = $state;
         $doc->addScriptDeclaration("\n            loc = 'deals';\n            order_url = 'index.php?view=deals&layout=list&format=raw&tmpl=component';\n            order_dir = '" . $state->get('Deal.filter_order_Dir') . "';\n            order_col = '" . $state->get('Deal.filter_order') . "';\n            var dataTableColumns = " . json_encode($this->dataTableColumns) . ";");
         $deal_name = $state->get('Deal.deals_name');
         $this->deal_filter = $deal_name;
     }
     if (TemplateHelper::isMobile()) {
         $this->add_note = ViewHelper::getView('note', 'edit', 'phtml');
         $this->add_task = ViewHelper::getView('events', 'edit_task', 'phtml', array('association_type' => 'deal', 'assocation_id' => $app->input->get('id')));
     }
     if ($layout == "edit") {
         $item = $app->input->get('id') && array_key_exists(0, $dealList) ? $dealList[0] : array('id' => '');
         $this->edit_custom_fields_view = ViewHelper::getView('custom', 'edit', 'phtml', array('type' => 'deal', 'item' => $item));
         $json = TRUE;
         $companyModel = new CompanyModel();
         $companyNames = $companyModel->getCompanyNames($json);
         $doc->addScriptDeclaration("var company_names=" . $companyNames . ";");
         $peopleModel = new PeopleModel();
         $peopleNames = $peopleModel->getPeopleNames($json);
         $doc->addScriptDeclaration("var people_names=" . $peopleNames . ";");
     }
     $closed_stages = DealHelper::getClosedStages();
     //assign results to view
     $this->closed_stages = $closed_stages;
     $this->dealList = $dealList;
     $this->totalDeals = $total_deals;
     $this->deal = $deal;
     $this->deal_types = $deal_types;
     $this->deal_type_name = $deal_type_name;
     $this->user_id = $user_id;
     $this->member_role = $member_role;
     $this->teams = $teams;
     $this->users = $users;
     $this->stages = $stages;
     $this->stage_name = $stage_name;
     $this->user_name = $user_name;
     $this->closing_names = $closing_names;
     $this->closing_name = $closing_name;
     $this->state = $state;
     $this->column_filters = $column_filters;
     $this->selected_columns = $selected_columns;
     //display
     return parent::render();
 }
예제 #7
0
파일: Raw.php 프로젝트: houzhenggang/cobalt
 public function render($tpl = null)
 {
     $app = JFactory::getApplication();
     //if we are deleting goals determine which goals the user is allowed to delete
     if ($this->getLayout() == 'delete') {
         //get type of goal we are requesting to delete
         $type = $app->input->get('goal_type');
         //get member role to determine what goals the user can see
         $member_role = UsersHelper::getRole();
         //get model
         $model = new GoalModel();
         //show individual goals
         if ($type == 'member') {
             $this->header = TextHelper::_("COBALT_INDIVIDUAL_GOALS");
             //show goals for exectuvies
             if ($member_role == 'exec') {
                 $goals = $model->getExecIndividualGoals();
             }
             //show goals for managers
             if ($member_role == 'manager') {
                 $goals = $model->getManagerIndividualGoals();
             }
             //show goals for basic users
             if ($member_role == 'basic') {
                 $goals = $model->getIndividualGoals();
             }
         }
         //show team goals
         if ($type == 'team') {
             $this->header = TextHelper::_("COBALT_TEAM_GOALS");
             //show all goals to exectuvies
             if ($member_role == 'exec') {
                 $goals = $model->getExecTeamGoals();
             } else {
                 $goals = $model->getTeamGoals();
             }
         }
         //show company goals
         if ($type == 'company') {
             $this->header = TextHelper::_("COBALT_COMPANY_GOALS");
             $goals = $model->getCompanyGoals();
         }
         //assign view references
         $this->goals = $goals;
     } elseif ($this->getLayout() == 'edit') {
         //get type of goal we are requesting to delete
         $type = $app->input->get('type');
         $id = $app->input->getInt('id');
         if ($id) {
             $model = new GoalModel();
             $goal = $model->getGoal($id);
             $this->goal = $goal;
         }
         switch ($type) {
             case "win_cash":
                 $header = ucwords(TextHelper::_('COBALT_WIN_MORE_CASH'));
                 $header_img = 'src/Cobalt/media/images/win_more_cash.png';
                 break;
             case "win_deals":
                 $header = ucwords(TextHelper::_('COBALT_WIN_MORE_DEALS'));
                 $header_img = 'src/Cobalt/media/images/win_more_deals.png';
                 break;
             case "move_deals":
                 $header = ucwords(TextHelper::_('COBALT_MOVE_DEALS_FORWARD'));
                 $header_img = 'src/Cobalt/media/images/move_deals_forward.png';
                 break;
             case "complete_tasks":
                 $header = ucwords(TextHelper::_('COBALT_COMPLETE_TASKS'));
                 $header_img = 'src/Cobalt/media/images/complete_more_tasks.png';
                 break;
             case "write_notes":
                 $header = ucwords(TextHelper::_('COBALT_WRITE_NOTES'));
                 $header_img = 'src/Cobalt/media/images/write_more_notes.png';
                 break;
             case "create_deals":
                 $header = ucwords(TextHelper::_('COBALT_CREATE_DEALS'));
                 $header_img = 'src/Cobalt/media/images/create_deals.png';
                 break;
             default:
                 $app->redirect('index.php?view=goals');
                 break;
         }
         $this->header = $header;
         $this->header_img = $header_img;
     } elseif ($this->getLayout() != 'add') {
         //load model
         $model = new GoalModel();
         //get all goals from model depending on user type
         $member_role = UsersHelper::getRole();
         //basic members
         if ($member_role == 'basic') {
             $individual_goals = $model->getIndividualGoals();
             $team_goals = $model->getTeamGoals();
             $company_goals = $model->getCompanyGoals();
             $leaderboards = $model->getLeaderBoards();
         }
         //managers
         if ($member_role == 'manager') {
             // $individual_goals = $model->getManagerIndividualGoals();
             $individual_goals = $model->getIndividualGoals();
             $team_goals = $model->getTeamGoals();
             $company_goals = $model->getCompanyGoals();
             $leaderboards = $model->getLeaderBoards();
         }
         //executives
         if ($member_role == 'exec') {
             // $individual_goals = $model->getExecIndividualGoals();
             $individual_goals = $model->getIndividualGoals();
             // $team_goals = $model->getExecTeamGoals();
             $team_goals = $model->getTeamGoals();
             $company_goals = $model->getCompanyGoals();
             $leaderboards = $model->getLeaderBoards();
         }
         //assign goals to global goal object to pass through to view
         $goals = new \stdClass();
         $goals->individual_goals = $individual_goals;
         $goals->team_goals = $team_goals;
         $goals->company_goals = $company_goals;
         $goals->leaderboards = $leaderboards;
         //if we get results then load the default goals page else show the add goals page
         $goal_count = false;
         foreach ($goals as $goal_list) {
             if (count($goal_list) > 0) {
                 $goal_count = true;
             }
         }
         if ($goal_count) {
             //set layout
             $this->setLayout('default');
             //assign view refs
             $this->goals = $goals;
         } else {
             //add goal layout
             $this->setLayout('add');
         }
     }
     //load java libs
     $doc = JFactory::getDocument();
     $doc->addScript(\JURI::base() . 'src/Cobalt/media/js/goal_manager.js');
     //get associated members and teams
     $teams = UsersHelper::getTeams();
     $users = UsersHelper::getUsers();
     $member_role = UsersHelper::getRole();
     $user_id = UsersHelper::getUserId();
     $team_id = UsersHelper::getTeamId();
     //assign view refs
     $this->type = $type;
     $this->teams = $teams;
     $this->users = $users;
     $this->user_id = $user_id;
     $this->team_id = $team_id;
     $this->member_role = $member_role;
     $this->leaderboard_list = DropdownHelper::getLeaderBoards();
     //display
     echo parent::render();
 }
예제 #8
0
 public function render()
 {
     $layout = $this->getLayout();
     //get model
     $model = new DocumentModel();
     $documents = $model->getDocuments();
     $state = $model->getState();
     //add js
     $document = JFactory::getDocument();
     $document->addScript(JURI::base() . 'src/Cobalt/media/js/document_manager.js');
     //session data
     $session = JFactory::getSession();
     $member_role = UsersHelper::getRole();
     $user_id = UsersHelper::getUserId();
     //associations
     $assoc = $session->get('document_assoc_filter');
     $assoc_names = DocumentHelper::getAssocTypes();
     $assoc_name = $assoc ? $assoc_names[$assoc] : $assoc_names['all'];
     //users
     $user_id = UsersHelper::getUserId();
     $user = $session->get('document_user_filter');
     $team = $session->get('document_team_filter');
     if ($user == "all") {
         $user_name = TextHelper::_('COBALT_ALL_USERS');
     } elseif ($user && $user != $user_id) {
         $user_info = UsersHelper::getUser($user);
         $user_name = $user_info->first_name . " " . $user_info->last_name;
     } elseif ($team) {
         $team_info = UsersHelper::getTeams($team);
         $team_info = $team_info[0];
         $user_name = $team_info['team_name'] . TextHelper::_('COBALT_TEAM_APPEND');
     } else {
         $user_name = TextHelper::_('COBALT_ME');
     }
     if ($layout == 'default') {
         $total = $model->getTotal();
         $pagination = $model->getPagination();
         $this->dataTableColumns = $model->getDataTableColumns();
         JFactory::getDocument()->addScriptDeclaration("\n            var loc = 'documents';\n            var order_dir = '" . $state->get('People.filter_order_Dir') . "';\n            var order_col = '" . $state->get('People.filter_order') . "';\n            var dataTableColumns = " . json_encode($this->dataTableColumns) . ";");
     }
     //type
     $type = $session->get('document_type_filter');
     $type_names = DocumentHelper::getDocTypes();
     $type_name = $type && array_key_exists($type, $type_names) ? $type_names[$type] : $type_names['all'];
     //teams
     $teams = UsersHelper::getTeams();
     //users
     $users = UsersHelper::getUsers();
     //list view
     $document_list = ViewHelper::getView('documents', 'list', 'phtml', array('documents' => $documents, 'state' => $state, 'total' => $total, 'pagination' => $pagination));
     if ($layout == "download") {
         DealHelper::downloadDocument();
     }
     //assign ref
     $this->state = $state;
     $this->document_list = $document_list;
     $this->assoc_names = $assoc_names;
     $this->assoc_name = $assoc_name;
     $this->user_name = $user_name;
     $this->type_names = $type_names;
     $this->type_name = $type_name;
     $this->member_role = $member_role;
     $this->user_id = $user_id;
     $this->teams = $teams;
     $this->users = $users;
     //display
     return parent::render();
 }
예제 #9
0
 public function render()
 {
     $app = JFactory::getApplication();
     ///retrieve task list from model
     $model = new PeopleModel();
     $state = $model->getState();
     //session data
     $session = JFactory::getSession();
     $user_id = UsersHelper::getUserId();
     $team_id = UsersHelper::getTeamId();
     $member_role = UsersHelper::getRole();
     $people_type_name = $session->get('people_type_filter');
     $user = $session->get('people_user_filter');
     $team = $session->get('people_team_filter');
     $stage = $session->get('people_stage_filter');
     $tag = $session->get('people_tag_filter');
     $status = $session->get('people_status_filter');
     //load java
     $document = JFactory::getDocument();
     $document->addScript(JURI::base() . 'src/Cobalt/media/js/people_manager.js');
     //get list of people
     $people = $model->getPeople();
     $person = array();
     //Pagination
     $this->pagination = $model->getPagination();
     //determine if we are editing an existing person entry
     if ($app->input->get('id')) {
         //grab deal object
         $person = $people[0];
         if (is_null($person['id'])) {
             $app->redirect(RouteHelper::_('index.php?view=people'), TextHelper::_('COBALT_NOT_AUTHORIZED'));
         }
         $person['header'] = TextHelper::_('COBALT_EDIT') . ' ' . $person['first_name'] . ' ' . $person['last_name'];
     } else {
         //else we are creating a new entry
         $person = array();
         $person['id'] = '';
         $person['first_name'] = "";
         $person['last_name'] = "";
         $person['company_id'] = $app->input->get('company_id') ? $app->input->get('company_id') : null;
         $person['deal_id'] = $app->input->get('deal_id') ? $app->input->get('deal_id') : null;
         //get company name to prefill data on page and hidden fields
         if ($person['company_id']) {
             $company = CompanyHelper::getCompany($person['company_id']);
             $person['company_name'] = $company[0]['name'];
             $person['company_id'] = $company[0]['id'];
         }
         //get deal name to prefill data on page and hidden fields
         if ($person['deal_id']) {
             $deal = DealHelper::getDeal($person['deal_id']);
             $person['deal_name'] = $deal[0]['name'];
             $person['deal_id'] = $deal[0]['id'];
         }
         $person['position'] = "";
         $person['phone'] = "";
         $person['email'] = "";
         $person['type'] = '';
         $person['source_id'] = null;
         $person['status_id'] = null;
         $person['header'] = TextHelper::_('COBALT_PERSON_ADD');
     }
     //get total people associated with users account
     $total_people = UsersHelper::getPeopleCount($user_id, $team_id, $member_role);
     //get filter types
     $people_types = PeopleHelper::getPeopleTypes();
     $people_type_name = $people_type_name && array_key_exists($people_type_name, $people_types) ? $people_types[$people_type_name] : $people_types['all'];
     //get column filters
     $column_filters = PeopleHelper::getColumnFilters();
     $selected_columns = PeopleHelper::getSelectedColumnFilters();
     //get user filter
     //get associated users//teams
     $teams = UsersHelper::getTeams();
     $users = UsersHelper::getUsers();
     if ($user and $user != $user_id and $user != 'all') {
         $user_info = UsersHelper::getUsers($user);
         $user_info = $user_info[0];
         $user_name = $user_info['first_name'] . " " . $user_info['last_name'];
     } elseif ($team) {
         $team_info = UsersHelper::getTeams($team);
         $team_info = $team_info[0];
         $user_name = $team_info['team_name'] . TextHelper::_('COBALT_TEAM_APPEND');
     } elseif ($user == 'all') {
         $user_name = TextHelper::_('COBALT_ALL_USERS');
     } else {
         $user_name = TextHelper::_('COBALT_ME');
     }
     //get stage filter
     $stages = PeopleHelper::getStages();
     $stages_name = $stage ? $stages[$stage] : $stages['past_thirty'];
     //get tag filter
     $tag_list = PeopleHelper::getTagList();
     for ($i = 0; $i < count($tag_list); $i++) {
         if ($tag_list[$i]['id'] == $tag and $tag != 'any') {
             $tag_name = $tag_list[$i]['name'];
             break;
         }
     }
     $tag_name = ($tag and $tag != 'any') ? $tag_name : 'all tags';
     //get status filter
     $status_list = PeopleHelper::getStatusList();
     for ($i = 0; $i < count($status_list); $i++) {
         if ($status_list[$i]['id'] == $status and $status != 'any') {
             $status_name = $status_list[$i]['name'];
             break;
         }
     }
     $status_name = ($status and $status != 'any') ? $status_name : 'any status';
     $dropdowns = $model->getDropdowns();
     //Load Events & Tasks for person
     $layout = $this->getLayout();
     if ($layout == "person") {
         $model = new EventModel();
         $events = $model->getEvents("person", null, $app->input->get('id'));
         $this->event_dock = ViewHelper::getView('events', 'event_dock', 'phtml', array('events' => $events));
         $this->deal_dock = ViewHelper::getView('deals', 'deal_dock', 'phtml', array('deals' => $person['deals']));
         $this->document_list = ViewHelper::getView('documents', 'document_row', 'phtml', array('documents' => $person['documents']));
         $this->custom_fields_view = ViewHelper::getView('custom', 'default', 'phtml', array('type' => 'people', 'item' => $person));
     }
     if ($layout == "default") {
         $total = $model->getTotal();
         $pagination = $model->getPagination();
         $this->people_list = ViewHelper::getView('people', 'list', 'phtml', array('people' => $people, 'total' => $total, 'pagination' => $pagination));
         $this->people_filter = $state->get('Deal.people_name');
         $this->dataTableColumns = $model->getDataTableColumns();
         JFactory::getDocument()->addScriptDeclaration("\n            var loc = 'people';\n            var order_dir = '" . $state->get('People.filter_order_Dir') . "';\n            var order_col = '" . $state->get('People.filter_order') . "';\n            var dataTableColumns = " . json_encode($this->dataTableColumns) . ";");
     }
     if ($layout == "edit") {
         $item = $app->input->get('id') && array_key_exists(0, $people) ? $people[0] : array('id' => '');
         $this->edit_custom_fields_view = ViewHelper::getView('custom', 'edit', 'phtml', array('type' => 'people', 'item' => $item));
         $companyModel = new CompanyModel();
         $json = TRUE;
         $companyNames = $companyModel->getCompanyNames($json);
         $document->addScriptDeclaration("var company_names=" . $companyNames . ";");
     }
     if (TemplateHelper::isMobile() && $app->input->get('id')) {
         $this->add_note = ViewHelper::getView('note', 'edit', 'phtml', array('add_note' => $add_note));
         $this->add_task = ViewHelper::getView('events', 'edit_task', 'phtml', array('association_type' => 'person', 'assocation_id' => $app->input->get('id')));
     }
     //assign results to view
     $this->people = $people;
     $this->person = $person;
     $this->totalPeople = $total_people;
     $this->people_type_name = $people_type_name;
     $this->people_types = $people_types;
     $this->user_id = $user_id;
     $this->team_id = $team_id;
     $this->member_role = $member_role;
     $this->user_name = $user_name;
     $this->teams = $teams;
     $this->users = $users;
     $this->stages = $stages;
     $this->stages_name = $stages_name;
     $this->tag_list = $tag_list;
     $this->tag_name = $tag_name;
     $this->status_list = $status_list;
     $this->status_name = $status_name;
     $this->state = $state;
     $this->column_filters = $column_filters;
     $this->selected_columns = $selected_columns;
     $this->dropdown = $dropdowns;
     //display
     return parent::render();
 }
예제 #10
0
 public function render()
 {
     $app = JFactory::getApplication();
     $app->input->set('view', 'companies');
     $app->input->set('layout', $app->input->get('layout', 'default'));
     //get model
     $model = new CompanyModel();
     $state = $model->getState();
     //session data
     $session = JFactory::getSession();
     $member_role = UsersHelper::getRole();
     $user_id = UsersHelper::getUserId();
     $team_id = UsersHelper::getTeamId();
     $company = $session->get('company_type_filter');
     $user = $session->get('company_user_filter');
     $team = $session->get('company_team_filter');
     //load java libs
     $doc = JFactory::getDocument();
     $doc->addScript(JURI::base() . 'src/Cobalt/media/js/company_manager.js');
     //determine if we are requesting a specific company or all companies
     //if id requested
     if ($app->input->get('id')) {
         $companies = $model->getCompanies($app->input->get('id'));
         if (is_null($companies[0]['id'])) {
             $app = JFactory::getApplication();
             $app->redirect(RouteHelper::_('index.php?view=companies'), TextHelper::_('COBALT_NOT_AUTHORIZED'));
         }
     } else {
         //else load all companies
         if ($app->input->get('layout') != 'edit') {
             $companies = $model->getCompanies();
         }
     }
     //assign pagination
     $pagination = $model->getPagination();
     $this->pagination = $pagination;
     //get company type filters
     $company_types = CompanyHelper::getTypes();
     $company_type = $company ? $company_types[$company] : $company_types['all'];
     //get user filter
     if ($user and $user != $user_id and $user != 'all') {
         $user_info = UsersHelper::getUsers($user);
         $user_info = $user_info[0];
         $user_name = $user_info['first_name'] . " " . $user_info['last_name'];
     } elseif ($team) {
         $team_info = UsersHelper::getTeams($team);
         $team_info = $team_info[0];
         $user_name = $team_info['team_name'] . TextHelper::_('COBALT_TEAM_APPEND');
     } elseif ($user == 'all' || $user == "") {
         $user_name = TextHelper::_('COBALT_ALL_USERS');
     } else {
         $user_name = TextHelper::_('COBALT_ME');
     }
     //get associated members and teams
     $teams = UsersHelper::getTeams();
     $users = UsersHelper::getUsers();
     //get total associated companies for count display
     $company_count = UsersHelper::getCompanyCount($user_id, $team_id, $member_role);
     //Load Events & Tasks for person
     $layout = $app->input->get('layout');
     switch ($layout) {
         case 'company':
             $model = new EventModel();
             $events = $model->getEvents("company", null, $app->input->get('id'));
             $this->event_dock = ViewHelper::getView('events', 'event_dock', 'phtml', array('events' => $events));
             $this->deal_dock = ViewHelper::getView('deals', 'deal_dock', 'phtml', array('deals' => $companies[0]['deals']));
             $this->document_list = ViewHelper::getView('documents', 'document_row', 'phtml', array('documents' => $companies[0]['documents']));
             $this->people_dock = ViewHelper::getView('people', 'people_dock', 'html', array('people' => $companies[0]['people']));
             $custom_fields_view = ViewHelper::getView('custom', 'default', 'html');
             $type = "company";
             $custom_fields_view->type = $type;
             $custom_fields_view->item = $companies[0];
             $this->custom_fields_view = $custom_fields_view;
             if (TemplateHelper::isMobile()) {
                 $add_note = ViewHelper::getView('note', 'edit', 'html');
                 $this->add_note = $add_note;
             }
             break;
         case 'default':
         default:
             //get column filters
             $this->column_filters = CompanyHelper::getColumnFilters();
             $this->selected_columns = CompanyHelper::getSelectedColumnFilters();
             $company_list = ViewHelper::getView('companies', 'list', 'html', array('companies' => $companies));
             $total = $model->getTotal();
             $pagination = $model->getPagination();
             $company_list->total = $total;
             $company_list->pagination = $pagination;
             $this->company_list = $company_list;
             $company_name = $state->get('Company.companies_name');
             $this->company_filter = $company_name;
             $this->dataTableColumns = $model->getDataTableColumns();
             $doc->addScriptDeclaration("\n                var loc = 'companies';\n                var order_dir = '" . $state->get('Company.filter_order_Dir') . "';\n                var order_col = '" . $state->get('Company.filter_order') . "';\n                var dataTableColumns = " . json_encode($this->dataTableColumns) . ";");
             break;
         case 'edit':
             $item = $app->input->get('id') && array_key_exists(0, $companies) ? $companies[0] : array('id' => '');
             $edit_custom_fields_view = ViewHelper::getView('custom', 'edit', 'html');
             $type = "company";
             $edit_custom_fields_view->type = $type;
             $edit_custom_fields_view->item = $item;
             $this->edit_custom_fields_view = $edit_custom_fields_view;
             break;
     }
     //ref assignments
     $this->companies = $companies;
     $this->user_id = $user_id;
     $this->member_role = $member_role;
     $this->teams = $teams;
     $this->users = $users;
     $this->company_types = $company_types;
     $this->company_type = $company_type;
     $this->user_name = $user_name;
     $this->company_count = $company_count;
     $this->state = $state;
     //display
     return parent::render();
 }