@php $__proactiveCreateReportUrlV7 = url('/superadmin/proactive-reports/create'); foreach ([ 'superadmin.proactiveReports.create.safe', 'superadmin.proactiveReports.create', 'superadmin.proactive.reports.create', 'superadmin.proactive.report.create', 'superadmin.proactiveReports.new', ] as $__prRouteV7) { if (\Illuminate\Support\Facades\Route::has($__prRouteV7)) { $__proactiveCreateReportUrlV7 = route($__prRouteV7); break; } } @endphp {{-- PROACTIVE_DASHBOARD_REMINDERS_PARTIAL_V7_ATTENTION_SAFE --}} @php $__pd = [ 'ready' => false, 'today' => collect(), 'active' => collect(), 'stale' => collect(), 'missing' => collect(), 'cols' => [], 'dateCol' => null, 'timeCol' => null, 'titleCol' => null, 'statusCol' => null, 'typeCol' => null, 'platformCol' => null, 'leaderCol' => null, 'reportsUrl' => url('/superadmin/proactive-reports'), 'createReportUrl' => url('/superadmin/proactive-reports/create'), 'schedulesUrl' => url('/superadmin/proactive/schedules'), 'error' => null, ]; try { $__tz = config('app.timezone', 'Asia/Jerusalem'); $__now = \Carbon\Carbon::now($__tz); $__today = $__now->toDateString(); $__from = $__now->copy()->subDays(14)->toDateString(); foreach ([ 'superadmin.proactive.reports.index', 'superadmin.proactiveReports.index', 'superadmin.proactive.report.index', 'superadmin.proactiveReports', 'superadmin.proactive.reports', ] as $__r) { if (\Illuminate\Support\Facades\Route::has($__r)) { $__pd['reportsUrl'] = route($__r); break; } } foreach ([ 'superadmin.proactiveReports.create.safe', 'superadmin.proactiveReports.create', 'superadmin.proactive.reports.create', 'superadmin.proactive.report.create', 'superadmin.proactiveReports.new', ] as $__r) { if (\Illuminate\Support\Facades\Route::has($__r)) { $__pd['createReportUrl'] = route($__r); break; } } foreach ([ 'superadmin.proactive.schedules.index', 'superadmin.proactive.grid', ] as $__r) { if (\Illuminate\Support\Facades\Route::has($__r)) { $__pd['schedulesUrl'] = route($__r); break; } } if (\Illuminate\Support\Facades\Schema::hasTable('proactive_schedules')) { $__cols = \Illuminate\Support\Facades\Schema::getColumnListing('proactive_schedules'); $__pick = function(array $__names) use ($__cols) { foreach ($__names as $__name) { if (in_array($__name, $__cols, true)) return $__name; } return null; }; $__dateCol = $__pick(['event_date','activity_date','date','schedule_date','scheduled_date','start_date','day']); $__timeCol = $__pick(['event_time','activity_time','time','start_time','scheduled_time','hour']); $__titleCol = $__pick(['event_title','activity_title','title','name','subject']); $__statusCol = $__pick(['status','state']); $__typeCol = $__pick(['event_type','activity_type','type']); $__platformCol = $__pick(['platform','source','channel']); $__leaderCol = $__pick(['leader_name','leader','admin_name','owner_name','created_by_name']); $__pd['cols'] = $__cols; $__pd['dateCol'] = $__dateCol; $__pd['timeCol'] = $__timeCol; $__pd['titleCol'] = $__titleCol; $__pd['statusCol'] = $__statusCol; $__pd['typeCol'] = $__typeCol; $__pd['platformCol'] = $__platformCol; $__pd['leaderCol'] = $__leaderCol; if ($__dateCol) { $__todayQ = \Illuminate\Support\Facades\DB::table('proactive_schedules') ->whereDate($__dateCol, $__today); if ($__statusCol) { $__todayQ->whereIn($__statusCol, ['upcoming','active','finished']); $__todayQ->orderByRaw("CASE {$__statusCol} WHEN 'active' THEN 0 WHEN 'upcoming' THEN 1 WHEN 'finished' THEN 2 WHEN 'cancelled' THEN 3 ELSE 9 END"); } if ($__timeCol) $__todayQ->orderByRaw("COALESCE({$__timeCol}, '00:00:00') ASC"); $__pd['today'] = $__todayQ->limit(6)->get(); } if ($__statusCol) { $__activeQ = \Illuminate\Support\Facades\DB::table('proactive_schedules') ->where($__statusCol, 'active'); if ($__dateCol) $__activeQ->orderBy($__dateCol, 'desc'); if ($__timeCol) $__activeQ->orderByRaw("COALESCE({$__timeCol}, '00:00:00') DESC"); $__pd['active'] = $__activeQ->limit(6)->get(); if ($__dateCol) { $__pd['stale'] = \Illuminate\Support\Facades\DB::table('proactive_schedules') ->where($__statusCol, 'active') ->whereDate($__dateCol, '<', $__today) ->orderBy($__dateCol, 'desc') ->limit(6) ->get(); } } if ($__dateCol && $__statusCol && \Illuminate\Support\Facades\Schema::hasTable('proactive_reports')) { $__rcols = \Illuminate\Support\Facades\Schema::getColumnListing('proactive_reports'); $__rpick = function(array $__names) use ($__rcols) { foreach ($__names as $__name) { if (in_array($__name, $__rcols, true)) return $__name; } return null; }; $__reportDateCol = $__rpick(['activity_date','event_date','report_date','date','created_at']); $__reportTypeCol = $__rpick(['activity_type','event_type','type']); $__reportPlatformCol = $__rpick(['platform','source','channel']); if ($__reportDateCol) { $__missingQ = \Illuminate\Support\Facades\DB::table('proactive_schedules as s') ->where('s.'.$__statusCol, 'finished') ->whereDate('s.'.$__dateCol, '>=', $__from) ->whereDate('s.'.$__dateCol, '<=', $__today) ->whereNotExists(function($__q) use ($__reportDateCol, $__dateCol, $__reportTypeCol, $__typeCol, $__reportPlatformCol, $__platformCol) { $__q->select(\Illuminate\Support\Facades\DB::raw(1)) ->from('proactive_reports as r') ->whereColumn('r.'.$__reportDateCol, 's.'.$__dateCol); if ($__reportTypeCol && $__typeCol) { $__q->whereColumn('r.'.$__reportTypeCol, 's.'.$__typeCol); } if ($__reportPlatformCol && $__platformCol) { $__q->whereColumn('r.'.$__reportPlatformCol, 's.'.$__platformCol); } }) ->orderBy('s.'.$__dateCol, 'desc'); if ($__timeCol) $__missingQ->orderByRaw("COALESCE(s.{$__timeCol}, '00:00:00') DESC"); $__pd['missing'] = $__missingQ->limit(6)->get(); } } $__pd['ready'] = true; } } catch (\Throwable $__e) { $__pd['ready'] = false; $__pd['error'] = $__e->getMessage(); } $__val = function($__row, $__col, $__default = '') { if (!$__col || !$__row) return $__default; return isset($__row->{$__col}) ? $__row->{$__col} : $__default; }; $__show = $__pd['ready'] && ($__pd['today']->count() || $__pd['active']->count() || $__pd['stale']->count() || $__pd['missing']->count()); $__attentionLevel = $__pd['missing']->count() || $__pd['stale']->count() ? 'danger' : ($__pd['active']->count() ? 'active' : 'today'); $__headline = $__pd['missing']->count() ? 'في تقارير ProActive ناقصة لازم تنكتب الآن' : ($__pd['stale']->count() ? 'في فعالية نشطة بتاريخ قديم وتحتاج تصحيح' : ($__pd['active']->count() ? 'في فعالية ProActive نشطة الآن' : 'عندك موعد ProActive اليوم')); @endphp @if($__show)
تنبيه لافت — ProActive
{{ $__headline }}
التذكير هذا يظهر فقط لما يكون في موعد اليوم، فعالية نشطة، فعالية نشطة بتاريخ قديم، أو فعالية منتهية بدون تقرير مطابق.
مواعيد اليوم
{{ $__pd['today']->count() }}
نشطة الآن
{{ $__pd['active']->count() }}
نشطة بتاريخ قديم
{{ $__pd['stale']->count() }}
منتهية بلا تقرير
{{ $__pd['missing']->count() }}
@if($__pd['today']->count())
اليوم: @foreach($__pd['today'] as $__r) {{ $__val($__r, $__pd['timeCol'], 'بدون وقت') }} — {{ $__val($__r, $__pd['titleCol'], 'ProActive') }} @endforeach
@endif @if($__pd['active']->count())
في فعالية نشطة: تابعها، وإذا انتهت اضغط إنهاء واكتب التقرير مباشرة.
@endif @if($__pd['stale']->count())
تنبيه وقت: في فعالية نشطة لكن تاريخها قديم. افتح المواعيد وصحّحها.
@endif @if($__pd['missing']->count())
تقارير ناقصة: في فعاليات منتهية خلال آخر 14 يوم وما إلها تقرير مطابق حسب التاريخ/النوع/المنصة.
@endif
@endif