/** * грузим данные по контракту */ public function action_contract() { $contractId = $this->request->param('id'); if ($contractId == 0) { $this->html('<div class="error_block">Контракты отсутствуют</div>'); } $tab = $this->request->post('tab'); $query = $this->request->post('query'); $params = $this->request->post('params') ?: []; $contract = Model_Contract::getContract($contractId); if (empty($contract)) { $this->html('<div class="error_block">Ошибка</div>'); } $balance = Model_Contract::getContractBalance($contractId); switch ($tab) { case 'contract': $contractSettings = Model_Contract::getContractSettings($contractId); $contractTariffs = Model_Contract::getTariffs(); $noticeSettings = Model_Contract::getContractNoticeSettings($contractId); $popupContractNoticeSettings = Common::popupForm('Настройка уведомлений', 'contract/notice_settings', ['settings' => $noticeSettings]); $popupContractHistory = Common::popupForm('История по договору', 'contract/history'); $content = View::factory('ajax/clients/contract/contract')->bind('contract', $contract)->bind('contractSettings', $contractSettings)->bind('contractTariffs', $contractTariffs)->bind('popupContractNoticeSettings', $popupContractNoticeSettings)->bind('popupContractHistory', $popupContractHistory); break; case 'cards': $cards = Model_Card::getCards($contractId); $foundCards = false; if (!empty($query)) { $params['query'] = $query; } if (!empty($params)) { $foundCards = Model_Card::getCards($contractId, false, $params); } $popupCardAdd = Common::popupForm('Добавление новой карты', 'card/add'); $content = View::factory('ajax/clients/contract/cards')->bind('cards', $cards)->bind('foundCards', $foundCards)->bind('params', $params)->bind('popupCardAdd', $popupCardAdd); break; case 'account': $turnover = Model_Contract::getTurnover($contractId); $popupContractPaymentAdd = Common::popupForm('Добавление нового платежа', 'contract/payment_add'); $popupContractBillAdd = Common::popupForm('Выставить счет', 'contract/bill_add'); $popupContractBillPrint = Common::popupForm('Печать счетов', 'contract/bill_print'); $content = View::factory('ajax/clients/contract/account')->bind('balance', $balance)->bind('turnover', $turnover)->bind('popupContractPaymentAdd', $popupContractPaymentAdd)->bind('popupContractBillAdd', $popupContractBillAdd)->bind('popupContractBillPrint', $popupContractBillPrint); break; case 'reports': $content = View::factory('ajax/clients/contract/reports'); break; } $html = View::factory('ajax/clients/contract/_tabs')->bind('content', $content)->bind('balance', $balance)->bind('tab', $tab); $this->html($html); }