namespace controls; class Tasks { static public function task_delete() { global $user; if ( !$user ) { header( 'Location: /logowanie' ); exit; } $response = [ 'status' => 'error', 'msg' => 'Podczas usuwania zadania wystąpił błąd. Proszę spróbować ponownie.' ]; if ( \factory\Tasks::task_delete( \S::get( 'task_id' ) ) ) $response = [ 'status' => 'success', 'msg' => 'Zadanie zostało usunięte.' ]; echo json_encode( $response ); exit; } static public function main_view_by_ajax() { global $user; $show_tasks_closed = \S::get_session( 'tasks_closed' ); $show_tasks_bulk = \S::get_session( 'tasks_bulk' ); $show_tasks_to_review = \S::get_session( 'tasks_to_review' ); $open_task_id = \factory\Tasks::get_open_task_id( $user['id'] ); $projects = \S::get( 'projects' ); $users = \S::get( 'users' ); if ( $projects ) \S::set_session( 'selected_projects', $projects ); else \S::del_session( 'selected_projects' ); if ( $users ) \S::set_session( 'selected_users', $users ); else \S::del_session( 'selected_users' ); echo json_encode( [ 'tasks_new' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => \factory\Tasks::get_tasks( 0, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ), 'tasks_to_review' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => $show_tasks_to_review == 'hide' ? null : \factory\Tasks::get_tasks( 1, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ), 'tasks_closed' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => $show_tasks_closed == 'hide' ? null : \factory\Tasks::get_tasks( 2, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ), 'tasks_bulk' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => $show_tasks_bulk == 'hide' ? null : \factory\Tasks::get_tasks( 3, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ), 'tasks_suspended' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => \factory\Tasks::get_tasks( 4, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ), 'tasks_to_do' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => \factory\Tasks::get_tasks( 5, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ), 'tasks_fvat' => \Tpl::view( 'tasks/main_view_by_ajax', [ 'tasks' => \factory\Tasks::get_tasks( 6, $user['id'], $projects, $users ), 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => $open_task_id ] ) ] ); exit; } static public function main_view() { global $user; if ( \S::get( 'tasks_closed' ) == 'hide' ) { \S::set_session( 'tasks_closed', 'hide' ); header( 'Location: /tasks/main_view/' ); exit; } if ( \S::get( 'tasks_closed' ) == 'show' ) { \S::del_session( 'tasks_closed' ); header( 'Location: /tasks/main_view/' ); exit; } if ( \S::get( 'tasks_bulk' ) == 'hide' ) { \S::set_session( 'tasks_bulk', 'hide' ); header( 'Location: /tasks/main_view/' ); exit; } if ( \S::get( 'tasks_bulk' ) == 'show' ) { \S::del_session( 'tasks_bulk' ); header( 'Location: /tasks/main_view/' ); exit; } // tasks_to_review if ( \S::get( 'tasks_to_review' ) == 'hide' ) { \S::set_session( 'tasks_to_review', 'hide' ); header( 'Location: /tasks/main_view/' ); exit; } if ( \S::get( 'tasks_to_review' ) == 'show' ) { \S::del_session( 'tasks_to_review' ); header( 'Location: /tasks/main_view/' ); exit; } $show_tasks_closed = \S::get_session( 'tasks_closed' ); $show_tasks_bulk = \S::get_session( 'tasks_bulk' ); $show_tasks_to_review = \S::get_session( 'tasks_to_review' ); return \Tpl::view( 'tasks/main_view', [ 'tasks_new' => \factory\Tasks::get_tasks( 0, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), 'tasks_to_review' => $show_tasks_to_review == 'hide' ? null : \factory\Tasks::get_tasks( 1, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), 'tasks_closed' => $show_tasks_closed == 'hide' ? null : \factory\Tasks::get_tasks( 2, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), // zakończone 'tasks_bulk' => $show_tasks_bulk == 'hide' ? null : \factory\Tasks::get_tasks( 3, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), // opłaty 'tasks_suspended' => \factory\Tasks::get_tasks( 4, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), // projektowe 'tasks_to_do' => \factory\Tasks::get_tasks( 5, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), // do zrobienia 'tasks_fvat' => \factory\Tasks::get_tasks( 6, $user['id'], \S::get_session( 'selected_projects' ), \S::get_session( 'selected_users' ) ), // faktury 'user' => $user, 'statuses' => \factory\Tasks::get_statuses(), 'open_task_id' => \factory\Tasks::get_open_task_id( $user['id'] ), 'projects' => \factory\Projects::user_projects( $user['id'] ), 'selected_projects' => \S::get_session( 'selected_projects' ), 'selected_users' => \S::get_session( 'selected_users' ), 'tasks_filtrs' => \factory\Tasks::get_filtrs( $user['id'] ), 'show_tasks_closed' => $show_tasks_closed, 'show_tasks_bulk' => $show_tasks_bulk, 'show_tasks_to_review' => $show_tasks_to_review, 'users' => \factory\Users::users_list(), ] ); } static public function action_change_status() { global $user; if ( !$user ) { header( 'Location: /logowanie' ); exit; } $response = [ 'status' => 'error', 'msg' => 'Podczas zmiany statusu czynności wystąpił błąd. Proszę spróbować ponownie.' ]; if ( \factory\Tasks::action_change_status( \S::get( 'action_id' ), \S::get( 'status' ) ) ) $response = [ 'status' => 'ok', 'msg' => 'Status czynności został zmieniony.' ]; echo json_encode( $response ); exit; } static public function comment_delete() { global $user; if ( !$user ) { header( 'Location: /logowanie' ); exit; } $response = [ 'status' => 'error', 'msg' => 'Podczas usuwania komentarza wystąpił błąd. Proszę spróbować ponownie.' ]; if ( \factory\Tasks::comment_delete( \S::get( 'comment_id' ) ) ) $response = [ 'status' => 'ok', 'msg' => 'Komentarz został usunięty.' ]; echo json_encode( $response ); exit; } static public function comment_save() { global $user; if ( !$user ) { header( 'Location: /logowanie' ); exit; } $response = [ 'status' => 'error', 'msg' => 'Podczas zapisywania komentarza wystąpił błąd. Proszę spróbować ponownie.' ]; if ( $id = \factory\Tasks::comment_save( \S::get( 'task_id' ), $user['id'], \S::get( 'text' ) ) ) { \factory\Tasks::clear_task_opened( \S::get( 'task_id' ) ); $response = [ 'status' => 'ok', 'msg' => 'Komentarz został zapisany.', 'id' => $id ]; } echo json_encode( $response ); exit; } static public function action_delete() { global $user; if ( !$user ) { header( 'Location: /logowanie' ); exit; } $response = [ 'status' => 'error', 'msg' => 'Podczas usuwania czynności wystąpił błąd. Proszę spróbować ponownie.' ]; if ( \factory\Tasks::action_delete( \S::get( 'action_id' ) ) ) $response = [ 'status' => 'ok', 'msg' => 'Czynność została usunięta.' ]; echo json_encode( $response ); exit; } static public function action_save() { global $user; if ( !$user ) { header( 'Location: /logowanie' ); exit; } $response = [ 'status' => 'error', 'msg' => 'Podczas zapisywania czynności wystąpił błąd. Proszę spróbować ponownie.' ]; if ( $id = \factory\Tasks::action_save( \S::get( 'task_id' ), \S::get( 'text' ) ) ) { \factory\Tasks::clear_task_opened( \S::get( 'task_id' ) ); $response = [ 'status' => 'ok', 'msg' => 'Czynność została zapisana.', 'id' => $id ]; } echo json_encode( $response ); exit; } // Zapisanie kolejności zadań static public function tasks_order_save() { global $mdb; foreach ( \S::get( 'tasks_order' ) as $key => $val ) { $mdb -> update( 'tasks', [ 'o' => $key ], [ 'id' => $val ] ); } exit; } static public function send_email_task_change_status( $task_id ) { $task = \factory\Tasks::task_details( $task_id ); $statuses = \factory\Tasks::get_statuses(); if ( $task['status_change_mail'] ) { \S::send_email( 'biuro@project-pro.pl', 'crmPRO - zmieniono status zadania', '
Witaj
zmieniono status zadania ' . $task['name'] . ' - ' . \factory\Crm::get_client_name( (int)$task['client_id'] ) . ' na ' . $statuses[ $task['status'] ] . '.