public function save() { $order = Zakaz::model()->findByPk($this->orderId); if ($order && $this->file instanceof CUploadedFile && ($order->status == 2 || $order->status == 3 || $order->status == 4)) { $dir = Yii::getPathOfAlias('webroot') . self::$folder; if (!is_dir($dir)) { mkdir($dir, 0775, true); } $paymentImage = new PaymentImage(); $paymentImage->project_id = $order->id; $paymentImage->image = md5(uniqid('')) . '.' . $this->file->extensionName; $paymentImage->save(false); //$order->status = 3; //$order->save(false); $this->file->saveAs($dir . $paymentImage->image); } }
public function init() { // --- Организации $c_id = Campaign::getId(); if ($c_id) { Payment::$table_prefix = $c_id . '_'; //Profile::$table_prefix = $c_id.'_'; //ProfileField::$table_prefix = $c_id.'_'; ProjectChanges::$table_prefix = $c_id . '_'; ProjectChanges::$file_path = 'uploads/c' . $c_id . '/changes_documents'; //ProjectMessages::$table_prefix = $c_id.'_'; ProjectPayments::$table_prefix = $c_id . '_'; Zakaz::$table_prefix = $c_id . '_'; Zakaz::$files_folder = '/uploads/c' . $c_id . '/'; Events::$table_prefix = $c_id . '_'; ZakazParts::$table_prefix = $c_id . '_'; UpdateProfile::$table_prefix = $c_id . '_'; ZakazPartsFiles::$table_prefix = $c_id . '_'; PaymentImage::$table_prefix = $c_id . '_'; Emails::$table_prefix = $c_id . '_'; Yii::app()->language = Campaign::getLanguage(); } else { ProjectChanges::$file_path = 'uploads/changes_documents'; } // --- if (!Yii::app()->user->isGuest) { switch (User::model()->getUserRole()) { case 'Manager': case 'Admin': Yii::app()->theme = 'admin'; break; case 'Author': $this->menu = array(array('label' => Yii::t('site', 'My orders'), 'url' => array('/project/zakaz/ownList')), array('label' => Yii::t('site', 'New projects'), 'url' => array('/project/zakaz/list')), array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit')), array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout'))); $this->authMenu = array(array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout'))); Yii::app()->theme = 'client'; break; case 'Customer': $this->menu = array(array('label' => Yii::t('site', 'My orders'), 'url' => array('/project/zakaz/customerOrderList')), array('label' => Yii::t('site', 'Create order'), 'url' => array('/project/zakaz/create')), array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit')), array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout'))); $this->authMenu = array(array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout'))); Yii::app()->theme = 'client'; break; } } // var_dump(Yii::app()->controller->module->id ,Yii::app()->controller->id, Yii::app()->controller->action->id); // die(); }
public function actionUploadPayment($id) { $folder = Yii::getPathOfAlias('webroot') . PaymentImage::getFolder(); $result = Tools::uploadMaterials($folder, false); echo htmlspecialchars(json_encode($result), ENT_NOQUOTES); if ($result['success'] && User::model()->isCustomer()) { $paymentImage = new PaymentImage(); $paymentImage->project_id = $id; $paymentImage->image = $result['fileName']; $paymentImage->save(false); EventHelper::chekUploaded($id); } }
public function actionManagersCancel() { $this->_prepairJson(); $orderId = $this->_request->getParam('order_id'); $payment = ProjectPayments::model()->find('order_id = :ORDER_ID', array('ORDER_ID' => $orderId)); $payment->to_receive = 0; if ($payment->save()) { PaymentImage::model()->remove($orderId); $this->_response->setData(array('to_receive' => $payment->to_receive)); } else { $this->_response->setData(array('to_receive' => $payment->to_receive)); } $this->_response->send(); }
? <div class="hint-block_content"> <?php echo $this->hints['Zakaz_cancel']; ?> </div> </div> <?php } ?> <div class="btn-group-xs inline-block" role="group"> <?php if ($zakaz) { $i = 1; foreach ($zakaz->images as $item) { echo CHtml::link(ProjectModule::t('Cheque') . $i++, PaymentImage::getFolder() . $item->image, array('target' => '_blank')) . ' '; } } ?> </div> </div> <?php //} ?> <?php $disable = ''; ?> <?php if (Yii::app()->user->isGuest) { $disabled = ' disabled;'; }
/** * Вывод и добавление сообщений */ public function actionIndex($orderId, $role = null) { $isCorrector = $role == 'Corrector' ? 1 : 0; $isGuest = Yii::app()->user->isGuest; if ($isGuest) { $url = 'http://' . $_SERVER['SERVER_NAME'] . '/user/login'; $this->redirect($url); } Yii::app()->session['project_id'] = $orderId; $order = Zakaz::model()->resetScope()->findByPk($orderId); if (Yii::app()->request->isAjaxRequest) { if (Yii::app()->request->getPost('ProjectMessages')) { $id = (int) $_POST['ProjectMessages']['id']; if ($id > 0) { // редактирование сообщения $model = ProjectMessages::model()->findByPk($id); } else { // новое сообщение $model = new ProjectMessages(); $model->sender = Yii::app()->user->id; $model->moderated = 0; $model->order = $orderId; } $post = $_POST['ProjectMessages']['message']; $post = str_replace("\r\n", '<br>', $post); $post = str_replace("\n", '<br>', $post); $_POST['ProjectMessages']['message'] = $post; $model->attributes = Yii::app()->request->getPost('ProjectMessages'); $model->date = date('Y-m-d H:i:s'); switch ($model->recipient) { case 'author_to_manager': $model->sender_role = ProjectMessages::model()->getRoleId('Author'); $model->recipient_role = ProjectMessages::model()->getRoleId('Admin'); $model->recipient = 1; break; case 'customer_to_manager': $model->sender_role = ProjectMessages::model()->getRoleId('Customer'); $model->recipient_role = ProjectMessages::model()->getRoleId('Admin'); $model->recipient = 1; break; case 'corrector_to_manager': $model->sender_role = ProjectMessages::model()->getRoleId('Corrector'); $model->recipient_role = ProjectMessages::model()->getRoleId('Admin'); $model->recipient = 1; break; case 'author_to_customer': $model->sender_role = ProjectMessages::model()->getRoleId('Author'); $model->recipient_role = ProjectMessages::model()->getRoleId('Customer'); $model->recipient = Zakaz::model()->findByPk($orderId)->attributes['user_id']; break; case 'corrector_to_customer': $model->sender_role = ProjectMessages::model()->getRoleId('Corrector'); $model->recipient_role = ProjectMessages::model()->getRoleId('Customer'); $model->recipient = Zakaz::model()->findByPk($orderId)->attributes['user_id']; break; case 'customer_to_author': $model->sender_role = ProjectMessages::model()->getRoleId('Customer'); $model->recipient_role = ProjectMessages::model()->getRoleId('Author'); $model->recipient = Zakaz::model()->resetScope()->findByPk($orderId)->attributes['executor']; break; case 'corrector_to_author': $model->sender_role = ProjectMessages::model()->getRoleId('Corrector'); $model->recipient_role = ProjectMessages::model()->getRoleId('Author'); $model->recipient = Zakaz::model()->resetScope()->findByPk($orderId)->attributes['executor']; break; case 'author_to_corrector': $model->sender_role = ProjectMessages::model()->getRoleId('Author'); $model->recipient_role = ProjectMessages::model()->getRoleId('Corrector'); $model->recipient = -2; break; case 'customer_to_corrector': $model->sender_role = ProjectMessages::model()->getRoleId('Customer'); $model->recipient_role = ProjectMessages::model()->getRoleId('Corrector'); $model->recipient = -2; break; } $model->save(); EventHelper::addMessage($orderId, $model->message); } $this->renderPartial('chat', array('order' => $order, 'orderId' => $orderId, 'isGuest' => $isGuest)); Yii::app()->end(); } if (User::model()->isAuthor() && (!User::model()->isCorrector() || !$order->technicalspec) && !User::model()->isExecutor($orderId)) { $this->redirect(Yii::app()->createUrl('/project/chat/view', array('orderId' => $orderId))); } if (User::model()->isCustomer() && $order->user_id != Yii::app()->user->id) { $this->redirect('/'); } $parts = ZakazParts::model()->findAll(array('condition' => "`proj_id`='{$orderId}'")); if (User::model()->isExecutor($order->id)) { $order->executor_event = null; } if (User::model()->isCustomer()) { $order->customer_event = null; } $order->save(false); $moderate_types = EventHelper::get_moderate_types_string(); $events = Events::model()->findAll(array('condition' => "`event_id`='{$orderId}' AND `type` in ({$moderate_types})", 'order' => 'timestamp DESC'), array(':event_id' => $orderId)); $PaymentImages = PaymentImage::model()->findAll(array('condition' => "`project_id`='{$orderId}'")); $moderated = count($events) == 0; $this->render('index', array('orderId' => $orderId, 'order' => $order, 'executor' => Zakaz::getExecutor($orderId), 'moderated' => $moderated, 'parts' => $parts, 'PaymentImages' => $PaymentImages, 'isCorrector' => $isCorrector)); }