Exemplo n.º 1
0
 $h->linkName = "order_id";
 $h = $frm->Hidden($order_info['manager_id']);
 $h->linkName = "old_manager_id";
 $frm->VLine(10, $ypos += 40, 280);
 $frm->Button("Назначить", 110, $ypos += 20, 80, true);
 $GUI->Vars["page_top"] .= "<br><a href='#' onclick='cgui_form_modal(\"" . $frm->idname . "\");return false;'>Назначить менеджера</a>";
 //отправить заказ на почту
 //          die;
 $frm2 = $GUI->Form("Отправить заказ на почту", 300, 320, CGUI_FORM_FLAG_MODAL);
 $frm2->OnExecute = "send_order_by_email";
 $ypos = 0;
 $frm2->Label("Выберите авторов для отправки заказа", 10, $ypos += 10);
 $frm2->VLine(10, $ypos += 20, 280);
 $discipline_id = $order_info['disc_id'];
 $authors = get_users_by_group_name('Автор', null, false, true);
 $authors = Disciplines::getAuthors($discipline_id);
 arsort($authors);
 if (count($authors) > 1) {
     $authors[join(", ", array_keys($authors))] = 'Отправить всем подписавшимся';
     $authors = array_reverse($authors, true);
 }
 $s = $frm2->Select(10, $ypos += 20, 280, $authors, '');
 $s->Multiple = true;
 $s->RowSize = 10;
 $s->linkName = 'authors';
 $s->name = 'authors';
 $hid = $frm2->Hidden($order_id);
 $hid->linkName = 'order_id';
 $frm2->VLine(10, $ypos += 180, 280);
 $frm2->Button("Отправить", 110, $ypos += 20, 80, true);
 $GUI->Vars["page_top"] .= "<br><a href='#' onclick='cgui_form_modal(\"" . $frm2->idname . "\");return false;'>Отправить заказ на почту</a>";
Exemplo n.º 2
0
function assign_order($Frm, $Err)
{
    if (!$Err) {
        $author_time = utils_cvt_date2i($Frm->GetNmValueH("time_auth"));
        $raspred_time = utils_cvt_date2i($Frm->GetNmValueH("raspred_srok"));
        if ($author_time < time() || $raspred_time < time()) {
            $Frm->_gui->ERR("Нельзя указывать дату прошлым числом");
            page_reloadAll();
        }
        $order_id = $Frm->GetNmValueI("order_id");
        $status_id = get_status_id_by_iname("ON_THE_DISTRIBUTION");
        $manager_id = $Frm->GetNmValueI("manager_id");
        Order::update($order_id, array("manager_id" => $manager_id, "time_auth" => $author_time, "raspred_srok" => $raspred_time, "cost_auth" => $Frm->GetNmValueI("author_price"), "payment_comment" => $Frm->GetNmValueH("payment_comment"), "status_id" => $status_id));
        Author::saveMessageAndEnqueueEmail($order_id, array($manager_id), 'u' . $_SESSION['user']['data']['id'], "Распределение заказа №" . $order_id, "Вас назначили менеджером заказа №" . $order_id, \Components\Entity\EmailNotification::TO_MANAGER_ON_FIRST_ASSIGN);
        $send_author_msgs = null !== $Frm->GetNmValue("send_for_authors") ? true : false;
        if ($send_author_msgs) {
            $order_info = get_order_info($order_id);
            $discipline_id = $order_info['disc_id'];
            if ($discipline_id > 0) {
                // Выслать уведомления авторам
                $authors = array_keys(Disciplines::getAuthors($discipline_id));
                send_order_by_email($Frm, $Err, $authors);
                // само генерит сообщение
            } else {
                $Frm->_gui->OK("Заказ поставлен на распределение, уведомления не высланы - нет дисциплины");
            }
        } else {
            $Frm->_gui->OK("Заказ поставлен на распределение без уведомлений");
        }
        page_reloadAll();
    }
}