Ejemplo n.º 1
0
 public function showBusinessHour()
 {
     if (!config('config.show_business_hour')) {
         return redirect('/');
     }
     $business_hours = \App\BusinessHour::all();
     $service_times = \App\ServiceTime::all();
     $assets = ['hide_sidebar'];
     return view('page.business_hour', compact('assets', 'business_hours', 'service_times'));
 }
Ejemplo n.º 2
0
 public function index()
 {
     $ticket_types = TicketType::all();
     $departments = Department::all();
     $business_hours = BusinessHour::all();
     $service_times = ServiceTime::all();
     $languages = Helper::getAllLanguages();
     $config = Helper::getConfiguration();
     $mail_config = Helper::getMail();
     $services = Helper::getServices();
     $next_ticket_no = \App\Ticket::max('ticket_no');
     $next_ticket_no = isset($next_ticket_no) ? $next_ticket_no + 1 : 1;
     $assets = ['datetimepicker', 'mail_config'];
     $week_days = config('list.week');
     $time_unit = config('list.time_unit');
     $priority = config('list.priority');
     $time_type = config('list.time_type');
     $roles = DB::table('roles')->get();
     $permissions = DB::table('permissions')->orderBy('category')->get();
     $permission_role = DB::table('permission_role')->select(DB::raw('CONCAT(role_id,"-",permission_id) AS detail,id'))->lists('detail', 'id');
     $data = ['languages' => $languages, 'config' => $config, 'mail_config' => $mail_config, 'services' => $services, 'roles' => $roles, 'permissions' => $permissions, 'permission_role' => $permission_role, 'assets' => $assets, 'ticket_types' => $ticket_types, 'departments' => $departments, 'week_days' => $week_days, 'business_hours' => $business_hours, 'service_times' => $service_times, 'time_unit' => $time_unit, 'priority' => $priority, 'time_type' => $time_type, 'next_ticket_no' => $next_ticket_no, 'category' => null];
     return view('configuration.index', $data);
 }
Ejemplo n.º 3
0
 public static function calculateDueTime($time, $created_at)
 {
     $days = config('list.week');
     foreach ($days as $d) {
         $business_hour[$d]['start'] = config('config.default_working_start_time');
         $business_hour[$d]['end'] = config('config.default_working_end_time');
     }
     $business_hours = \App\BusinessHour::all();
     foreach ($business_hours as $hour) {
         $business_hour[$hour->day]['start'] = $hour->start;
         $business_hour[$hour->day]['end'] = $hour->end;
     }
     $holidays = \App\Holiday::where('date', '>=', date('Y-m-d', strtotime($created_at)))->lists('date')->all();
     while ($time > 0) {
         $date = isset($date) ? date('Y-m-d', strtotime($date . ' +1 day')) : $created_at;
         $day = date('l', strtotime($date));
         $end = date('Y-m-d', strtotime($date)) . ' ' . $business_hour[$day]['end'];
         $start = !isset($start) ? $date : date('Y-m-d', strtotime($date)) . ' ' . $business_hour[$day]['start'];
         if (in_array(date('Y-m-d', strtotime($date)), $holidays)) {
             continue;
         }
         $diff = round((strtotime($end) - strtotime($start)) / 60);
         if ($diff < 0) {
             $diff = 0;
         }
         if ($time <= $diff) {
             return date('Y-m-d, H:i', strtotime($start) + $time * 60);
         } else {
             $time -= $diff;
         }
     }
 }