Beispiel #1
0
     $r = $tbl->NewColumn();
     $r->Caption = "Комментарий автора";
     $r->Key = "comment";
     $r = $tbl->NewColumn();
     $r->Caption = "Отправить сообщение";
     $r->Process = "send_message_to_author";
     $r = $tbl->NewColumn();
     $r->Caption = "Назначить/снять";
     $r->Process = "generate_assign_button";
     $tbl->FilterMYSQL("order_id = " . $order_id);
 } elseif ($_SESSION["user"]["data"]["group_id"] == 6) {
     if ($order_status == "ASSIGNED") {
         $GUI->ERR("Этот заказ уже назначен");
         page_reloadSec();
     }
     if ($offer_info = AuthorOffer::findOneBy(array('order_id' => $order_id, 'author_id' => $_SESSION['user']['data']['id']))) {
         $frm = $GUI->Form("Редактировать предложение к заказу №" . $order_id, 400, 270);
         $frm->OnExecute = "edit_offer";
     } else {
         $offer_info = array('price' => '', 'comment' => '');
         $frm = $GUI->Form("Новое предложение к заказу №" . $order_id, 400, 270);
         $frm->OnExecute = "add_offer";
     }
     $ypos = 10;
     $h = $frm->Hidden($order_id);
     $h->linkName = "order_id";
     $h = $frm->Hidden($_SESSION["user"]["data"]["id"]);
     $h->linkName = "author_id";
     $frm->Label("Цена:", 10, $ypos);
     if ($order_info['cost_auth'] != 0) {
         $frm->Label($order_info['cost_auth'] . " " . $ofc_currency, 60, $ypos);
Beispiel #2
0
function assign_order_to_author($Frm, $Err)
{
    if (!$Err) {
        $order_id = $Frm->GetNmValueI("order_id");
        try {
            $order_info = Order::find($order_id);
        } catch (Exception $e) {
            ErrorLogger::add('assign_order_to_author', 'Sessia', $_SESSION);
            ErrorLogger::add('assign_order_to_author', 'REQUEST', $_REQUEST);
            ErrorLogger::add('assign_order_to_author', 'GET', $_GET);
            ErrorLogger::add('assign_order_to_author', 'POST', $_POST);
            $Frm->_gui->ERR("Произошла ошибка");
            page_reloadAll();
        }
        $author_id = $Frm->GetNmValueI("author_id");
        $status_id = get_status_id_by_iname("ASSIGNED");
        if (!$status_id) {
            $Frm->_gui->ERR("Статус не найден");
            page_reloadAll();
        }
        Order::update($order_id, array('author_id' => $author_id, 'status_id' => $status_id));
        if ($Frm->GetNmValueI("need_offer")) {
            if (!AuthorOffer::findOneBy(array('order_id' => $order_id, 'author_id' => $author_id))) {
                AuthorOffer::create(array('order_id' => $order_id, 'author_id' => $author_id, 'price' => $order_info['cost_auth'], 'comment' => ''));
            }
        }
        if ($order_info['disc_id'] == 0) {
            $spec = $order_info['disc_user'];
        } else {
            $spec = get_discipline_name($order_info['disc_id']);
        }
        $txt = "Заказ закреплен";
        if (\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_ASSIGN)) {
            $body = "На вас назначен заказ №" . $order_id . ' ' . ucfirst($spec) . "<br>" . "<b>Обязательно подтвердите закрепление за Вами данного заказа</b>, достаточно в ответном письме написать \"OK\"";
            $message_id = mls_Send("u" . $author_id, "u" . $_SESSION["user"]["data"]["id"], "На вас назначен заказ №" . $order_id . ' ' . ucfirst($spec), $body, 1, 0);
            Author::enqueue_message_to_email($message_id, array($author_id), \Components\Entity\EmailNotification::TO_AUTHOR_ON_ASSIGN);
            $txt = "Заказ закреплен, уведомление отправлено";
        }
        $old_author_id = $Frm->GetNmValueI("old_author_id");
        if ($old_author_id != 0) {
            if (\Components\Entity\EmailNotificationType::isPersistable(\Components\Entity\EmailNotification::TO_AUTHOR_ON_UNASSIGN)) {
                $message_id = mls_Send("u" . $old_author_id, "u" . $_SESSION["user"]["data"]["id"], "Вы сняты с заказа №" . $order_id, "Вас сняли с заказа №" . $order_id . "<br>Причина: " . $Frm->GetNmValueH("reason"), 1, 0);
                Author::enqueue_message_to_email($message_id, array($old_author_id), \Components\Entity\EmailNotification::TO_AUTHOR_ON_UNASSIGN);
            }
        }
        //    Author::sendEmail($order_id, array($author_id), 'Закрепление заказа №' . $order_id . ' ' . ucfirst($spec), 'Заказ №' . $order_id . ' ' . ucfirst($spec) . ' закреплен за вами');
        $Frm->_gui->OK($txt);
        redirect('index.php?section=ord&subsection=2&order=' . $order_id . '&p=3');
    }
}