예제 #1
0
 protected function attach_manager_to_request_AJAX()
 {
     $this->db();
     // прикрепить менеджера к запросу
     $client_id = trim($_POST['client_id']) == '' ? 0 : $_POST['client_id'];
     $query = " UPDATE  `" . RT_LIST . "` SET ";
     $query .= " `manager_id` =  '" . (int) $_POST['manager_id'] . "'";
     if ($this->user_id != $_POST['manager_id']) {
         $query .= ",`time_attach_manager` = NOW()";
         $query .= ",`status` = 'not_process'";
         // перенаправление другому менеджеру
         include_once './libs/php/classes/manager_class.php';
         $manager = Manager::get_snab_name_for_query_String($_POST['manager_id']);
         $message = 'Запрос был перенаправлен менеджеру ' . $manager;
         $this->responseClass->addMessage($message, 'system_message');
         $this->responseClass->addResponseFunction('reload_order_tbl');
         // оповещение менеджера
         $mail_message = "";
         $Cabinet = new Cabinet();
         $this->Query = $this->get_query((int) $_POST['rt_list_id']);
         $managers_email_arr = $Cabinet->get_users_email(array($_POST['manager_id']));
         $subject = 'Вам доступен новый запрос.';
         $mail_message .= 'Здравствуйте, ' . $manager . '!<br><br>';
         $mail_message .= 'Вам доступен <a href="http://www.apelburg.ru/os/?page=cabinet&section=requests&subsection=no_worcked_men&query_num=' . $this->Query['query_num'] . '">новый запрос № ' . $this->Query['query_num'] . '</a><br>';
         $mail_message .= '<br>';
         $mail_message .= 'P.S. Запрос доступен только Вам!';
         $mailClass = new Mail();
         foreach ($admin_email_arr as $key => $email) {
             $mailClass->send($email, '*****@*****.**', $subject, $mail_message);
         }
     } else {
         $query .= ",`status` = 'in_work'";
         $this->Query = $this->get_query((int) $_POST['rt_list_id']);
         $link = '?page=client_folder&client_id=' . $this->Query['client_id'] . '&query_num=' . $this->Query['query_num'];
         // переадресация на другую вкладку
         $option['href'] = '' . HOST . '/' . $link;
         $option['timeout'] = '0';
         $this->responseClass->addResponseFunction('location_href', $option);
         // $message = 'Вы взяли запрос в работу. Вы будете перенаправлены на другую вкладку.';
         // $this->responseClass->addMessage($message,'successful_message');
     }
     $query .= " WHERE `id` = '" . (int) $_POST['rt_list_id'] . "';";
     $result = $this->mysqli->query($query) or die($this->mysqli->error);
     // echo '{"response":"OK"}';
     // $options['width'] = 1200;
     // $query .= $this->print_arr($_POST);
     // $this->responseClass->addSimpleWindow($query,'',$options);
 }
예제 #2
0
 protected function create_new_client_and_insert_curators_AJAX()
 {
     $html = '';
     $html .= $this->print_arr($_POST);
     $managers_arr = json_decode($_POST['Json_meneger_arr'], true);
     // если кураторы не были получены
     if (empty($managers_arr)) {
         $message = "Необходимо выбрать минимум одного менеджера на обработку запроса.";
         // echo '{"response":"show_new_window","title":"Выбрать куратора","html":"'.base64_encode($this->get_choose_curators()).'"}';
         echo '{"response":"false","function":"echo_message","message_type":"error_message","message":"' . base64_encode($message) . '"}';
         exit;
     }
     // $html .= $this->print_arr(json_decode($_POST['Json_meneger_arr']));
     // если клиент не заведен заводим клиента
     if (!isset($_POST['client_id']) || isset($_POST['client_id']) && $_POST['client_id'] == 'new_client') {
         $message = 'Клиент успешно заведён, прикреплённые менеджеры увидят запрос';
         $this->client_id = $this->create_new_client($_POST['company'], $_POST['dop_info']);
     } else {
         // случай для редактирования списка админом
         $message = 'Список прикреплённых менеджеров успешно изменён';
         $this->client_id = (int) $_POST['client_id'];
         if (isset($_POST['row_id']) && !isset($_POST['rt_list_id'])) {
             $_POST['rt_list_id'] = $_POST['row_id'];
         }
     }
     // удаляем всех кураторов
     //$this->remove_curator_width_client($this->client_id);
     // // заводим новых кураторов
     // foreach ($managers_arr as $key => $user_id) {
     // 	$this->attach_relate_manager($this->client_id, $user_id);
     // }
     // прикрепляем к запросу менеджера(ов)
     $this->attach_for_query_many_managers($managers_arr, $this->client_id);
     // оповещение группы менеджеров о новом запросе
     $mail_message = "";
     include_once ROOT . '/libs/php/classes/cabinet/cabinet_class.php';
     $Cabinet = new Cabinet();
     $this->Query = $Cabinet->get_query((int) $_POST['rt_list_id']);
     $managers_email_arr = $Cabinet->get_users_email($managers_arr);
     $managers_info_arr = $this->getUserArrDatabase($managers_arr);
     if (count($managers_arr) > 1) {
         $subject = 'Вам доступен новый запрос.';
         $mail_message .= 'Вам и ещё нескольким менеджерам доступен <a href="http://www.apelburg.ru/os/?page=cabinet&section=requests&subsection=no_worcked_men&query_num=' . $this->Query['query_num'] . '">новый запрос № ' . $this->Query['query_num'] . '</a>';
         $mail_message .= '<br>';
         $mail_message .= 'P.S. Запрос так же увидят:';
         $mail_message .= '<br>';
         foreach ($managers_info_arr as $key => $manager) {
             $mail_message .= $manager['name'] != "" ? $manager['name'] : '';
             $mail_message .= ' ';
             $mail_message .= $manager['last_name'] != "" ? $manager['last_name'] : '';
             $mail_message .= '<br>';
         }
     } else {
         $subject = 'Вам доступен новый запрос.';
         $mail_message .= 'Вам доступен <a href="http://www.apelburg.ru/os/?page=cabinet&section=requests&subsection=no_worcked_men&query_num=' . $this->Query['query_num'] . '">новый запрос № ' . $this->Query['query_num'] . '</a>';
         $mail_message .= '<br>';
         $mail_message .= 'P.S. Запрос доступен только Вам!';
     }
     $mailClass = new Mail();
     foreach ($managers_email_arr as $key => $email) {
         // echo $email.' *** ';
         $mailClass->send($email, '*****@*****.**', $subject, $mail_message);
     }
     /*
     	тут нужно уведомление на почту для каждого прикреплённого менеджера !!!!!!!!!!
     */
     echo '{"response":"OK","function":"reload_order_tbl","function2":"echo_message","message_type":"successful_message","message":"' . base64_encode($message) . '"}';
     exit;
     // echo '{"response":"OK","title":"ТЕСТ","html":"'.base64_encode($html).'"}';
 }