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); }
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; }
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')); }