/** * Populate user state requests */ function populateState() { //get states $app = \Cobalt\Container::fetch('app'); //determine view so we set correct states $view = $app->input->get('view'); $layout = str_replace("_filter", "", $app->input->get('layout')); $id = $app->input->get('id') ? $app->input->get('id') : $app->input->get('custom_report'); //set layout for filter pages if ($view == "print") { $id = $app->input->get('custom_report'); $layout = "custom_report"; } /** -------------------------------------- * Filter data for different views */ switch ($layout) { case "custom_reports": //set default filter states for reports $filter_order = $app->getUserStateFromRequest('Report.filter_order', 'filter_order', 'report.name'); $filter_order_Dir = $app->getUserStateFromRequest('Report.filter_order_Dir', 'filter_order_Dir', 'asc'); //set states for reports $this->state->set('Report.filter_order', $filter_order); $this->state->set('Report.filter_order_Dir', $filter_order_Dir); break; case "custom_report": //set default filter states for reports $filter_order = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_filter_order', 'filter_order', 'd.name'); $filter_order_Dir = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_filter_order_Dir', 'filter_order_Dir', 'asc'); $deal_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_name', 'deal_name', null); $owner_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_owner_id', 'owner_id', UsersHelper::getUserId()); $owner_type_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_owner_type', 'owner_type', 'member'); $amount_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_amount', 'deal_amount', null); $source_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_source_id', 'source_id', null); $stage_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_stage_id', 'stage_id', null); $status_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_status_id', 'status_id', null); $expected_close_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_expected_close', 'expected_close', null); $modified_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_modified', 'modified', null); $created_filter = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_created', 'created', null); $primary_contact_name = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_primary_contact_name', 'primary_contact_name', null); $primary_contact_phone = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_primary_contact_phone', 'primary_contact_phone', null); $primary_contact_email = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . 'primary_contact_email', 'primary_contact_email', null); //get custom filters $custom_fields = DealHelper::getUserCustomFields(); $post_data = $app->input->post; if (count($custom_fields) > 0) { foreach ($custom_fields as $row) { $custom_field_value = $app->getUserStateFromRequest('Report.' . $id . '_' . $layout . '_' . $row['id'], 'custom_' . $row['id'], null); $this->state->set('Report.' . $id . '_' . $layout . '_' . $row['id'], $custom_field_value); } } //set states for reports $this->state->set('Report.' . $id . '_' . $layout . '_filter_order', $filter_order); $this->state->set('Report.' . $id . '_' . $layout . '_filter_order_Dir', $filter_order_Dir); $this->state->set('Report.' . $id . '_' . $layout . '_name', $deal_filter); $this->state->set('Report.' . $id . '_' . $layout . '_owner_id', $owner_filter); $this->state->set('Report.' . $id . '_' . $layout . '_owner_type', $owner_type_filter); $this->state->set('Report.' . $id . '_' . $layout . '_amount', $amount_filter); $this->state->set('Report.' . $id . '_' . $layout . '_source_id', $source_filter); $this->state->set('Report.' . $id . '_' . $layout . '_stage_id', $stage_filter); $this->state->set('Report.' . $id . '_' . $layout . '_status_id', $status_filter); $this->state->set('Report.' . $id . '_' . $layout . '_expected_close', $expected_close_filter); $this->state->set('Report.' . $id . '_' . $layout . '_modified', $modified_filter); $this->state->set('Report.' . $id . '_' . $layout . '_created', $created_filter); $this->state->set('Report.' . $id . '_' . $layout . '_primary_contact_phone', $primary_contact_phone); $this->state->set('Report.' . $id . '_' . $layout . '_primary_contact_name', $primary_contact_name); $this->state->set('Report.' . $id . '_' . $layout . '_primary_contact_phone', $primary_contact_phone); $this->state->set('Report.' . $id . '_' . $layout . '_primary_contact_email', $primary_contact_email); break; } }
echo $person['id']; ?> " id="person_source_<?php echo $person['id']; ?> "> <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="person_source_<?php echo $person['id']; ?> _link"><?php echo $person['source_name']; ?> </a> <ul class="dropdown-menu pull-right"> <?php $sources = DealHelper::getSources(); if (count($sources)) { foreach ($sources as $id => $name) { echo '<li><a href="javascript:void(0)" class="source_select dropdown_item" data-value="' . $id . '">' . $name . '</a></li>'; } } ?> </ul> </div> </div> <div class="clear"></div> </div> </div> </div> <?php
case "forecast": ?> <th><input class="input input-small filter_input" name="custom_<?php echo $info['id']; ?> " type="text" value="<?php echo $custom_field_filter; ?> " /></th> <?php break; case "date": ?> <!-- make this a custom date picker --> <?php $custom_dates = DealHelper::getDealFilters(); ?> <th> <select class="span1 filter_input" name="custom_<?php echo $info['id']; ?> "> <?php echo JHtml::_('select.options', $custom_dates, 'value', 'text', $custom_field_filter, true); ?> </select> </th> <?php break; ?> <?php
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(); }
</div> <div class="cobaltRow"> <div class="cobaltField"><?php echo TextHelper::_('COBALT_DEAL_CLOSE'); ?> </div> <div class="cobaltValue"><input class="form-control" type="text" name="expected_close" value="<?php if (count($deal) > 0) { echo $deal->expected_close; } ?> "></div> </div> <?php $custom = DropdownHelper::generateCustom('deal', $deal->id); $custom_data = array_key_exists('id', $deal) ? DealHelper::getCustomData($deal->id, "deal") : array(); foreach ($custom as $field => $value) { if ($value['type'] != 'forecast') { $custom_field_filter = count($custom_data) != 0 ? $custom_data[$value['id']] : ''; echo '<div class="cobaltRow">'; echo '<div class="cobaltField">' . $value['name'] . '</div>'; echo '<div class="cobaltValue">'; //determine type of input switch ($value['type']) { case "text": ?> <input class="form-control" name="custom_<?php echo $value['id']; ?> " value="<?php echo $custom_field_filter;
</div> </div> <?php if ($this->type == 'move_deals') { ?> <br /> <div> <div class="input-group"> <div class="input-group-addon"> <?php echo TextHelper::_('COBALT_TO'); ?> </div> <select class="form-control" name="stage_id"> <?php $stages = DealHelper::getGoalStages(); echo JHtml::_('select.options', $stages, 'value', 'text', isset($this->deal) ? $this->deal->state_id : '', true); ?> </select> <div class="input-group-addon"> <?php echo TextHelper::_('COBALT_STAGE'); ?> </div> </div> </div> <?php } if ($this->type == 'complete_tasks') { ?> <br />
<th class="expected_close" ><?php echo ucwords(TextHelper::_('COBALT_DEALS_EXPECTED_CLOSE')); ?> </th> <th class="actual_close" ><?php echo ucwords(TextHelper::_('COBALT_DEALS_ACTUAL_CLOSE')); ?> </th> <th class="contacts" > </th> </tr> </thead> <tbody id="list"> <?php $stages = DealHelper::getStages(null, TRUE, FALSE); $statuses = DealHelper::getStatuses(null, true); $sources = DealHelper::getSources(null); $users = UsersHelper::getUsers(null, TRUE); $n = count($this->dealList); $k = 0; for ($i = 0; $i < $n; $i++) { $deal = $this->dealList[$i]; $k = $i % 2; $entryView = ViewHelper::getView('deals', 'entry', 'phtml'); $entryView->deal = $deal; $entryView->stages = $stages; $entryView->statuses = $statuses; $entryView->sources = $sources; $entryView->users = $users; $entryView->k = $k; echo $entryView->render(); }