Exemplo n.º 1
0
 public function sent()
 {
     if (!Entrust::can('manage_message')) {
         return redirect('/dashboard')->withErrors(config('constants.NA'));
     }
     $messages = Message::where('from_user_id', '=', Auth::user()->id)->where('delete_sender', '=', 0)->get();
     $token = csrf_token();
     $count_sent = count($messages);
     $count_inbox = Message::where('to_user_id', '=', Auth::user()->id)->where('delete_receiver', '=', '0')->count();
     $col_data = array();
     foreach ($messages as $message) {
         $Option = "<a href='/message/view/{$message->id}/{$token}' class='btn btn-default btn-xs' data-toggle='tooltip' title='View'> <i class='fa fa-share'></i></a> ";
         $Option .= "<a href='/message/{$message->id}/delete/{$token}' class='btn btn-default btn-xs alert_delete' data-toggle='tooltip' title='Delete'> <i class='fa fa-trash-o'></i></a>";
         $col_data[] = array('<div class="btn-group btn-group-xs">' . $Option . '</div>', $message->UserTo->name . ' (Department: ' . $message->UserTo->Profile->Department->department_name . ')', $message->subject, Helper::showDateTime($message->created_at), $message->attachment != '' ? '<i class="fa fa-paperclip"></i>' : '');
     }
     $col_heads = [trans('messages.Option'), trans('messages.To'), trans('messages.Subject'), trans('messages.Date & Time'), ''];
     Helper::writeResult($col_data);
     $data = ['count_inbox' => $count_inbox, 'count_sent' => $count_sent, 'col_heads' => $col_heads];
     return view('message.sent', $data);
 }
Exemplo n.º 2
0
 public static function templateContent($content, $property_type, $property)
 {
     if ($property_type == 'ticket') {
         $content = str_replace('[NAME]', $property->User->name, $content);
         $content = str_replace('[USERNAME]', $property->User->username, $content);
         $content = str_replace('[EMAIL]', $property->User->email, $content);
         $content = str_replace('[TICKET_NO]', $property->ticket_no, $content);
         $content = str_replace('[DEPARTMENT]', $property->Department->department_name, $content);
         $content = str_replace('[TICKET_SUBJECT]', $property->ticket_subject, $content);
         $content = str_replace('[TICKET_STATUS]', Helper::toWord($property->ticket_status), $content);
         $content = str_replace('[TICKET_PRIORITY]', Helper::toWord($property->ticket_priority), $content);
         $content = str_replace('[TICKET_TYPE]', $property->TicketType->ticket_type_name, $content);
         $content = str_replace('[RESPONSE_TIME]', Helper::showDateTime($property->response_due_time), $content);
         $content = str_replace('[RESOLUTION_TIME]', Helper::showDateTime($property->resolution_due_time), $content);
         $content = str_replace('[CURRENT_DATE]', Helper::showDate(date('Y-m-d')), $content);
         $content = str_replace('[CURRENT_DATE_TIME]', Helper::showDateTime(date('Y-m-d, H:i:s')), $content);
     } elseif ($property_type == 'user') {
         $content = str_replace('[NAME]', $property->name, $content);
         $content = str_replace('[USERNAME]', $property->username, $content);
         $content = str_replace('[EMAIL]', $property->email, $content);
         $content = str_replace('[DEPARTMENT]', $property->Profile->Department->department_name, $content);
     }
     return $content;
 }
Exemplo n.º 3
0
 public function index(Ticket $ticket, Request $request)
 {
     if (!Entrust::can('manage_ticket')) {
         return redirect('/dashboard')->withErrors(config('constants.NA'));
     }
     if (Entrust::hasRole('admin')) {
         $query = $ticket::with('assignedUser');
     } else {
         $query = $ticket::with('assignedUser')->whereHas('assignedUser', function ($query) {
             $query->where('user_id', '=', Auth::user()->id);
         });
     }
     if ($request->input('department_id')) {
         $query->where('department_id', '=', $request->input('department_id'));
     }
     if ($request->input('ticket_type_id')) {
         $query->where('ticket_type_id', '=', $request->input('ticket_type_id'));
     }
     if ($request->input('ticket_priority')) {
         $query->where('ticket_priority', '=', $request->input('ticket_priority'));
     }
     if ($request->input('ticket_status')) {
         $query->where('ticket_status', '=', $request->input('ticket_status'));
     }
     if ($request->input('response_time_overdue')) {
         $query->where('response_due_time', '<', date('d M Y, H:i'));
     }
     if ($request->input('resolution_time_overdue')) {
         $query->where('resolution_due_time', '<', date('d M Y, H:i'));
     }
     if ($request->input('start_date')) {
         $query->where('created_at', '>=', $request->input('start_date'));
     }
     if ($request->input('end_date')) {
         $query->where('created_at', '<=', $request->input('end_date'));
     }
     if ($request->input('assigned') == 'assigned') {
         $query->Has('assignedUser');
     } elseif ($request->input('assigned') == 'unassigned') {
         $query->doesntHave('assignedUser');
     }
     if ($request->input('user_id')) {
         $query->whereHas('assignedUser', function ($query1) use($request) {
             $query1->whereIn('user_id', $request->input('user_id'));
         });
     }
     $filter_data = ['start_date' => $request->input('start_date'), 'end_date' => $request->input('end_date'), 'assigned' => $request->input('assigned'), 'department_id' => $request->input('department_id'), 'ticket_type_id' => $request->input('ticket_type_id'), 'ticket_priority' => $request->input('ticket_priority'), 'ticket_status' => $request->input('ticket_status'), 'user_id' => $request->input('user_id'), 'response_time_overdue' => $request->input('response_time_overdue'), 'resolution_time_overdue' => $request->input('resolution_time_overdue')];
     $tickets = $query->get();
     $col_data = array();
     $col_heads = array(trans('messages.Option'), trans('messages.Ticket #'), trans('messages.Name'), trans('messages.Subject'), trans('messages.Response Time'), trans('messages.Resolution Time'), trans('messages.Priority'), trans('messages.Status'));
     $col_heads = Helper::putCustomHeads($this->form, $col_heads);
     $col_ids = Helper::getCustomColId($this->form);
     $values = Helper::fetchCustomValues($this->form);
     foreach ($tickets as $ticket) {
         $cols = array('<div class="btn-group btn-group-xs">' . '<a href="/ticket/' . $ticket->id . '" class="btn btn-default btn-xs" data-toggle="tooltip" title="View"> <i class="fa fa-share"></i></a> ' . '<a href="/ticket/' . $ticket->id . '/edit" class="btn btn-default btn-xs" data-toggle="tooltip" title="Edit"> <i class="fa fa-edit"></i></a> ' . delete_form(['ticket.destroy', $ticket->id]) . '</div>', $ticket->ticket_no, $ticket->User->name, $ticket->ticket_subject, (strtotime($ticket->response_due_time) < time() ? '<span class="badge badge-danger">Overdue</span> ' : '') . Helper::showDateTime($ticket->response_due_time), (strtotime($ticket->resolution_due_time) < time() ? '<span class="badge badge-danger">Overdue</span> ' : '') . Helper::showDateTime($ticket->resolution_due_time), Helper::showTicketPriority($ticket->ticket_priority), Helper::showTicketStatus($ticket->ticket_status));
         $id = $ticket->id;
         foreach ($col_ids as $col_id) {
             array_push($cols, isset($values[$id][$col_id]) ? $values[$id][$col_id] : '');
         }
         $col_data[] = $cols;
     }
     $departments = Department::lists('department_name', 'id')->all();
     $ticket_types = TicketType::lists('ticket_type_name', 'id')->all();
     Helper::writeResult($col_data);
     $users = User::with('roles')->whereHas('roles', function ($query) {
         $query->where('roles.name', '!=', 'user');
     })->lists('name', 'id')->all();
     return view('ticket.index', compact('col_heads', 'departments', 'ticket_types', 'filter_data', 'users'));
 }