@extends('layouts.dashboard') @section('title', 'Proj Mgr - Task Description Templates') @section('content')
Back

Task Description Templates

@csrf
@if($templates->count() === 0)

No Templates Yet

Create your first template to quickly add common task descriptions.

@else
@php $groupedTemplates = []; foreach($templates as $template) { if($template->is_universal) { if(!isset($groupedTemplates['Universal'])) { $groupedTemplates['Universal'] = []; } $groupedTemplates['Universal'][] = $template; } else { $taskTypes = $template->task_types ?? []; if(empty($taskTypes)) { // Template has no task types and is not universal → show under General if(!isset($groupedTemplates['General'])) { $groupedTemplates['General'] = []; } $groupedTemplates['General'][] = $template; } else { foreach($taskTypes as $taskType) { $label = match($taskType) { 'general' => 'General', 'equipmentId' => 'Equipment ID', 'customerName' => 'Customer', default => $taskType }; if(!isset($groupedTemplates[$label])) { $groupedTemplates[$label] = []; } // Avoid duplicates within the same group $exists = false; foreach($groupedTemplates[$label] as $existingTemplate) { if($existingTemplate->id === $template->id) { $exists = true; break; } } if(!$exists) { $groupedTemplates[$label][] = $template; } } } } } // Sort each group by name foreach($groupedTemplates as $group => $templates) { usort($groupedTemplates[$group], function($a, $b) { return strcmp($a->name, $b->name); }); } // Sort groups ksort($groupedTemplates); @endphp @foreach($groupedTemplates as $group => $groupTemplates)

{{ $group }} ({{ count($groupTemplates) }})

@foreach($groupTemplates as $template)

{{ $template->name }}

{!! $template->template_text !!}
@if($template->is_universal) Universal @else Task Types: @php $taskTypeLabels = array_map(function($type) { return match($type) { 'general' => 'General', 'equipmentId' => 'Equipment ID', 'customerName' => 'Customer', default => $type }; }, $template->task_types ?? []); @endphp {{ implode(', ', $taskTypeLabels) ?: 'None' }} @endif
@csrf @method('DELETE')
@endforeach
@endforeach
@endif
@endsection