示例#1
0
 public function datetext($value)
 {
     return date_text($value, 'd');
 }
 /**
  * Подробная инфо о БС
  */
 public function actionDetails()
 {
     $num = __paramInit('int', 'num');
     if (!$num) {
         $this->missingAction(null);
     }
     $reserveInstance = ReservesAdminOrderModel::model();
     $reserve = $reserveInstance->getReserveAdmin($num);
     if (!$reserve) {
         $this->missingAction(null);
     }
     $formChangeStatus = new ReservesChangeStatusForm();
     if (isset($_POST) && sizeof($_POST) > 0) {
         $do = __paramInit('string', NULL, 'do', null);
         switch ($do) {
             case 'accept_back':
                 $reserveInstance->changeBackStatus(ReservesAdminOrderModel::SUBSTATUS_PAYED);
                 break;
             case 'decline_back':
                 $message = __paramInit('string', NULL, 'message', null);
                 $reserveInstance->setUpdatedData('reason_payback', $message);
                 $reserveInstance->changeBackStatus(ReservesAdminOrderModel::SUBSTATUS_ERR);
                 break;
             case 'accept_pay':
                 $reserveInstance->changePayStatus(ReservesAdminOrderModel::SUBSTATUS_PAYED);
                 break;
             case 'decline_pay':
                 $message = __paramInit('string', NULL, 'message', null);
                 $reserveInstance->setUpdatedData('reason_payout', $message);
                 $reserveInstance->changePayStatus(ReservesAdminOrderModel::SUBSTATUS_ERR);
                 break;
             case 'accept_reserve':
                 $reserveInstance->changeStatus(ReservesAdminOrderModel::STATUS_RESERVE);
                 break;
             case 'decline_reserve':
                 $message = __paramInit('string', NULL, 'message', null);
                 $reserveInstance->setUpdatedData('reason_reserve', $message);
                 $reserveInstance->changeStatus(ReservesAdminOrderModel::STATUS_ERR);
                 break;
             default:
                 $docs = __paramInit('array_int', NULL, 'docs', array());
                 $is_create = __paramInit('bool', NULL, 'create', false);
                 if (!empty($docs) || $is_create) {
                     $data = array();
                     $datereqv_complete = __paramInit('string', NULL, 'file_date', null);
                     //@todo: если будет ряд данных на изменения то подумать как сделать лучше
                     if ($datereqv_complete) {
                         $datereqv_complete = date_text($datereqv_complete, 'j');
                         $data['datereqv_complete'] = $datereqv_complete;
                     }
                     $reserveInstance->updateDocs($docs, $is_create, $data);
                 } elseif ($formChangeStatus->isValid($_POST)) {
                     $to_status = $formChangeStatus->getValue('status');
                     $reserveInstance->switchStatus($to_status);
                 }
         }
         $this->redirect(sprintf(self::DETAILS_URL, $num));
     } else {
         $formChangeStatus->setDefaultStatus($reserveInstance->getReserveOrderStatus(), $reserveInstance->getReserveDataByKey('arbitrage_is_emp'));
     }
     $this->render('details', array('reserveInstance' => $reserveInstance, 'form' => $formChangeStatus->render()));
 }
示例#3
0
 /**
  * НЕ ИСПОЛЬЗОВАТЬ - УСТАРЕЛ СМ generateInvoice2.
  * 
  * Генерация счета
  *
  * @todo: может перенести генерацию в очереди?
  * @todo: но тогда нужно организовать обратную связь.
  * 
  * @param type $user_info
  *
  * @return bool|\CFile
  */
 public function generateInvoice($user_info)
 {
     extract($this->options);
     $file = new CFile();
     $file_path = $this->getFilePath();
     $reserve_id = @$this->data['reserve_id'];
     if (!$file_path || !$reserve_id || empty($this->data)) {
         return false;
     }
     $data = $this->getCheckByReserveId($reserve_id);
     if (isset($data['payed_date']) && !empty($data['payed_date'])) {
         return false;
     }
     if (isset($data['check_file_id']) && $data['check_file_id'] > 0) {
         $file->Delete($data['check_file_id']);
     }
     if (!$data) {
         $data = array();
     }
     $this->data = array_merge($data, $this->data, $user_info);
     $data = $this->data;
     $bill_num = sprintf($bill_num_format, $data['reserve_id']);
     $data['bill_num'] = $bill_num;
     $data['date'] = date_text($data['date'], 'd');
     $data['price_txt'] = num2str(intval($data['price']));
     $data['price'] = number_format($data['price'], 2, ',', '');
     $data['title'] = sprintf($check_title, $bill_num);
     foreach ($data as $key => $value) {
         $data['$' . $key] = $value;
         unset($data[$key]);
     }
     $pdf = new odt2pdf($invoice_template);
     $pdf->setFolder(ABS_PATH . $templates_path);
     $pdf->convert($data);
     $content = $pdf->output(null, 'S');
     $len = strlen($content);
     if (!$len) {
         return false;
     }
     $file->path = $file_path;
     $file->table = $table_files;
     $file->size = $len;
     $file->src_id = $src_id;
     $file->name = basename($file->secure_tmpname($file->path, '.pdf'));
     $file->original_name = change_q_x(sprintf($check_org_filename, $bill_num));
     if (!$file->putContent($file->path . $file->name, $content)) {
         return false;
     }
     $this->data['check_file_id'] = $file->id;
     return $this->addCheck() ? $file : false;
 }