Exemple #1
0
 /**
  * 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;
     }
 }
"  /></th>
                        <?php 
                    break;
                    ?>
                         <?php 
            }
            ?>
                    <?php 
        }
        ?>
                    <?php 
        if ($custom_field) {
            ?>
                        <?php 
            //get the custom field type
            $custom_field_info = DealHelper::getUserCustomFields(str_replace('custom_', '', $id));
            $info = $custom_field_info[0];
            $custom_field_filter = '';
            //determine type of input
            switch ($info['type']) {
                case "text":
                    ?>
                            <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;