UPGRADE NOTE: Do not edit or add to this file if you wish to upgrade AbanteCart to newer versions in the future. If you wish to customize AbanteCart for your needs please refer to http://www.AbanteCart.com for more information. ------------------------------------------------------------------------------*/ if (! defined ( 'DIR_CORE' ) || !IS_ADMIN) { header ( 'Location: static_pages/' ); } class ControllerPagesSaleCustomerTransaction extends AController { public $data = array(); public $error = array(); public function main() { //init controller data $this->extensions->hk_InitData($this,__FUNCTION__); $this->loadLanguage('sale/customer'); $this->loadModel('sale/customer_transaction'); $this->loadModel('sale/customer'); $customer_id = $this->request->get['customer_id']; $customer_info = $this->model_sale_customer->getCustomer($customer_id); if (!has_value($customer_info)) { $this->redirect($this->html->getSecureURL('sale/customer')); } $this->document->setTitle( $this->language->get('heading_title_transactions') ); $this->document->initBreadcrumb( array ( 'href' => $this->html->getSecureURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE )); $this->document->addBreadcrumb( array ( 'href' => $this->html->getSecureURL('sale/customer'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ' )); $this->document->addBreadcrumb( array ( 'href' => $this->html->getSecureURL('sale/customer/update','&customer_id='.$customer_id), 'text' => $this->language->get('text_edit') .' '. $this->language->get('text_customer').' - '.$customer_info['firstname'].' '.$customer_info['lastname'], 'separator' => ' :: ' )); $this->document->addBreadcrumb( array ( 'href' => $this->html->getSecureURL('sale/customer_transaction','&customer_id='.$customer_id), 'text' => $this->language->get('heading_title_transactions'), 'separator' => ' :: ', 'current' => true )); $this->data['tabs']['general'] = array( 'href' => $this->html->getSecureURL('sale/customer/update', '&customer_id=' . $customer_id), 'text' => $this->language->get('tab_customer_details'), ); $this->data['tabs'][] = array( 'href' => $this->html->getSecureURL('sale/customer_transaction', '&customer_id=' . $customer_id), 'text' => $this->language->get('tab_transactions'), 'active' => true ); if (isset($this->session->data['error'])) { $this->data['error_warning'] = $this->session->data['error']; unset($this->session->data['error']); } elseif (isset($this->error['warning'])) { $this->data['error_warning'] = $this->error['warning']; } else { $this->data['error_warning'] = ''; } if (isset($this->session->data['success'])) { $this->data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $this->data['success'] = ''; } $this->data['grid_settings'] = array( //id of grid 'table_id' => 'transactions_grid', // url to load data from 'url' => $this->html->getSecureURL('listing_grid/customer_transaction','&customer_id='.$customer_id), 'sortname' => 'date_added', 'sortorder' => 'desc', 'multiselect' => 'false', 'grid_ready' => 'updateViewButtons();', // actions 'actions' => array( 'view' => array( 'text' => $this->language->get('text_view'), 'href' => $this->html->getSecureURL('listing_grid/customer_transaction/transaction', '&customer_transaction_id=%ID%'), ) ) ); $this->data['grid_settings']['colNames'] = array( $this->language->get('column_create_date'), $this->language->get('column_created_by'), $this->language->get('column_debit'), $this->language->get('column_credit'), $this->language->get('column_transaction_type'), ); $this->data['grid_settings']['colModel'] = array( array( 'name' => 'date_added', 'index' => 'date_added', 'width' => 160, 'align' => 'center', 'search' => false), array( 'name' => 'user', 'index' => 'user', 'width' => 180, 'align' => 'left', ), array( 'name' => 'debit', 'index' => 'debit', 'width' => 100, 'align' => 'center'), array( 'name' => 'credit', 'index' => 'credit', 'width' => 100, 'align' => 'center'), array( 'name' => 'transaction_type', 'index' => 'transaction_type', 'width' => 260, 'align' => 'center'), ); $form = new AForm(); $form->setForm(array( 'form_name' => 'transactions_grid_search', )); $this->data['grid_search_form'] = array(); $this->data['grid_search_form']['id'] = 'transactions_grid_search'; $this->data['grid_search_form']['form_open'] = $form->getFieldHtml(array( 'type' => 'form', 'name' => 'transactions_grid_search', 'action' => '', )); $this->data['grid_search_form']['submit'] = $form->getFieldHtml(array( 'type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_go'), 'style' => 'button1', )); $this->data['grid_search_form']['reset'] = $form->getFieldHtml(array( 'type' => 'button', 'name' => 'reset', 'text' => $this->language->get('button_reset'), 'style' => 'button2', )); $this->data['js_date_format'] = format4Datepicker($this->language->get('date_format_short')); $this->data['grid_search_form']['fields']['date_start'] = $form->getFieldHtml(array( 'type' => 'input', 'name' => 'date_start', 'default' => dateInt2Display(time()), )); $this->data['grid_search_form']['fields']['date_end'] = $form->getFieldHtml(array( 'type' => 'input', 'name' => 'date_end', 'default' => dateInt2Display(time()), )); $this->data['grid_settings']['search_form'] = true; $grid = $this->dispatch('common/listing_grid', array( $this->data['grid_settings'] ) ); $this->view->assign('listing_grid', $grid->dispatchGetOutput()); $this->view->assign ( 'search_form', $this->data['grid_search_form'] ); $this->document->setTitle( $this->language->get('heading_title_transactions') ); $this->view->assign( 'insert_href', $this->html->getSecureURL( 'listing_grid/customer_transaction/transaction','&customer_id='.$customer_id ) ); $balance = $this->model_sale_customer_transaction->getBalance($customer_id); $currency = $this->currency->getCurrency($this->config->get('config_currency')); $this->data['balance'] = $this->language->get('text_balance') . ' ' . $currency['symbol_left'] . round($balance, 2) . $currency['symbol_right']; $form = new AForm('HT'); $form->setForm(array( 'form_name' => 'transaction_form', )); $this->data['ajax_form_open'] = (string)$form->getFieldHtml(array( 'type' => 'form', 'name' => 'transaction_form', 'action' => $this->html->getSecureURL('listing_grid/customer_transaction/addTransaction','&customer_id='.$customer_id), )); $this->view->assign('help_url', $this->gen_help_url('customer_transactions_listing') ); $balance = $this->model_sale_customer_transaction->getBalance($customer_id); $currency = $this->currency->getCurrency($this->config->get('config_currency')); $this->data['balance'] = $this->language->get('text_balance').' '.$currency['symbol_left'].round($balance,2).$currency['symbol_right']; $this->data['actas'] = $form->getFieldHtml(array( 'type' => 'button', 'text' => $this->language->get('button_actas'), 'style' => 'button1', 'href' => $this->html->getSecureURL('sale/customer/actonbehalf', '&customer_id='.$customer_id), 'target' => 'new' )); if(has_value($customer_info['orders_count']) && $customer_id){ $this->data['button_orders_count'] = $form->getFieldHtml( array( 'type' => 'button', 'name' => 'view orders', 'text' => $this->language->get('text_order').': '.$customer_info['orders_count'], 'style' => 'button2', 'href'=> $this->html->getSecureURL('sale/order','&customer_id='.$customer_id), 'title' => $this->language->get('text_view').' '.$this->language->get('tab_history') ) ); } $this->view->batchAssign($this->data); $this->processTemplate('pages/sale/customer_transaction.tpl' ); //update controller data $this->extensions->hk_UpdateData($this,__FUNCTION__); } public function actonbehalf() { $this->extensions->hk_InitData($this,__FUNCTION__); if (isset($this->request->get['customer_id'])) { startStorefrontSession($this->user->getId(), array('customer_id' => $this->request->get['customer_id'])); $this->redirect($this->html->getCatalogURL('account/account')); } $this->extensions->hk_UpdateData($this,__FUNCTION__); $this->redirect($this->html->getSecureURL('sale/customer')); } }