Example #1
0
 function indexAction()
 {
     //change orders recurring dates or gateway
     if (isset($_POST['change_recurring_data']) && $_POST['change_recurring_data'] && $this->access->actionAccess('change_recurring_data')) {
         $models = AFActiveDataProvider::models('Order', $this->params);
         $models->updateRecurringData();
         $this->redirect();
     }
     $clearArray = array('status', 'campaign_id', 'product_id', 'aff_id');
     if (!isset($this->params['dates'])) {
         $dataFrom = mktime(0, 0, 0, date("m"), date("d"), date("Y") - 2);
         $fromDate = date("d.m.Y", $dataFrom);
         $today = date("d.m.Y");
         $this->params['dates'] = $fromDate . '-' . $today;
     }
     if (isset($_POST['ajax'])) {
         if (isset($_POST['get_models']) && $_POST['get_models']) {
             //echo 1;
             //die;
             $pagination = new Pagination(array('action' => $this->action, 'controller' => $this->controller, 'params' => $this->params, 'ajax' => true, 'ajax_div' => 'orders_table'));
             $modelOrders = AFActiveDataProvider::models('Order', $this->params);
             $filterFields = $modelOrders->getoutFilterFields($clearArray, array('dates'));
             $dataProvider = Orders::getModels($filterFields, $pagination);
             $view = new View();
             $view->includeFile('_order_table', array('application', 'views', 'orders'), array('access' => $this->access, 'controller' => $this->controller, 'dataProvider' => $dataProvider, 'pagination' => $pagination, 'filterFields' => $filterFields));
             die;
         }
         if (isset($_POST['download_csv']) && $_POST['download_csv']) {
             $modelOrders = AFActiveDataProvider::models('Order', $this->params);
             if (isset($_POST['csvfields']) && $_POST['csvfields']) {
                 foreach ($_POST['csvfields'] as $k => $v) {
                     $selectedFields[$v] = $modelOrders->all_fields[$v];
                 }
             } else {
                 $selectedFields = $modelOrders->default_selected_fields;
             }
             $pagination = null;
             if ($_POST['order_id']) {
                 $this->params['order_id'] = $_POST['order_id'];
             }
             $modelOrders = AFActiveDataProvider::models('Order', $this->params);
             $filterFields = $modelOrders->getoutFilterFields($clearArray, array('dates'));
             $dataProvider = Orders::getModels($filterFields, $pagination, $selectedFields);
             Csv::printArray($dataProvider);
             die;
         }
         die;
     }
     $modelOrders = AFActiveDataProvider::models('Order', $this->params);
     // csv
     /*
     if(isset($this->params['csvfields']))
     {
         $selectedFields = explode(',',$this->params['csvfields']);
         foreach($selectedFields as $k=>$v)
             $selectedFields[$k]=$modelOrders->all_fields[$v];
     }
     else
     */
     $selectedFields = $modelOrders->default_selected_fields;
     $filterFields = $modelOrders->getoutFilterFields($clearArray, array('dates'));
     $statuses = Order::$statuses;
     $campaigns = Campaign::model()->cache()->findAllInArray();
     $afids = Affiliate::model()->cache()->findAllInArray();
     $products = Product::model()->cache()->findAllInArray();
     $countries = Country::model()->cache()->findAllInArray();
     $paymentMethods = Method::model()->cache()->findAllInArray();
     $states = $filterFields['country'] !== null ? State::model()->getStatesByCID($filterFields['country']) : array();
     $customerFields = Order::$address_search_fields;
     unset($customerFields[0]);
     $cssAllFields = $modelOrders->all_fields;
     Assets::css('jquery-ui');
     Assets::js('jquery.form');
     Assets::js('jquery-ui');
     Assets::js('dateRange/jquery.daterange');
     Assets::js('af_input_field');
     Assets::js('orders_index');
     $this->addToPageTitle('Orders');
     $this->render('index', array('filterFields' => $filterFields, 'statuses' => $statuses, 'campaigns' => $campaigns, 'products' => $products, 'countries' => $countries, 'paymentMethods' => $paymentMethods, 'customerFields' => $customerFields, 'states' => $states, 'cssAllFields' => $cssAllFields, 'selectedFields' => $selectedFields, 'afids' => $afids));
 }