Files
BRISTO/resources/views/contracts/show.blade.php
jeremy bayse 89a369964d Premier commit
2026-02-09 11:27:21 +01:00

137 lines
6.2 KiB
PHP

@extends('layouts.app')
@section('content')
<div class="mb-4">
<a href="{{ route('contracts.index') }}" class="btn btn-outline-secondary">&larr; Retour</a>
</div>
<div class="row">
<div class="col-md-8">
<div class="card shadow-sm mb-4">
<div class="card-header bg-white d-flex justify-content-between align-items-center">
<h3 class="mb-0">{{ $contract->name }}</h3>
@if(auth()->user()->isManager())
<a href="{{ route('contracts.edit', $contract) }}" class="btn btn-sm btn-outline-primary">Modifier</a>
@endif
</div>
<div class="card-body">
<div class="row mb-3">
<div class="col-md-6">
<strong>Fournisseur:</strong> {{ $contract->provider }}
</div>
<div class="col-md-6">
<strong>Référence:</strong> {{ $contract->reference ?? 'N/A' }}
</div>
</div>
<div class="row mb-3">
<div class="col-md-12">
<strong>Commune:</strong>
@if($contract->municipality)
<span class="badge bg-secondary">{{ $contract->municipality->name }} ({{ $contract->municipality->zip_code }})</span>
@else
<span class="badge bg-light text-dark border">Global / Agglomération</span>
@endif
</div>
</div>
<div class="row mb-3">
<div class="col-md-6">
<strong>Type:</strong> <span class="badge bg-info text-dark">{{ $contract->type }}</span>
</div>
<div class="col-md-6">
<strong>Status:</strong> {{ $contract->status }}
</div>
</div>
<div class="row mb-3">
<div class="col-md-6">
<strong>Date Début:</strong> {{ $contract->start_date->format('d/m/Y') }}
</div>
<div class="col-md-6">
<strong>Date Fin:</strong> {{ $contract->end_date ? $contract->end_date->format('d/m/Y') : 'Indéfinie' }}
</div>
</div>
<div class="mb-3">
<strong>Montant:</strong> {{ number_format($contract->amount, 2) }} {{ $contract->currency }}
</div>
@if($contract->notes)
<div class="mb-3">
<strong>Notes:</strong>
<p class="text-muted">{{ $contract->notes }}</p>
</div>
@endif
</div>
</div>
<!-- Meta Data -->
@if($contract->meta->isNotEmpty())
<div class="card shadow-sm mb-4">
<div class="card-header bg-light">
<h5 class="mb-0">Détails Techniques</h5>
</div>
<ul class="list-group list-group-flush">
@foreach($contract->meta as $meta)
<li class="list-group-item d-flex justify-content-between">
<span>
@if($meta->key == 'm365_license_level')
<i class="bi bi-microsoft me-1"></i> Niveau Licence M365
@elseif($meta->key == 'm365_quantity')
<i class="bi bi-people-fill me-1"></i> Nombre de Licences
@else
{{ $meta->key }}
@endif
</span>
<span class="fw-bold">{{ $meta->value }}</span>
</li>
@endforeach
</ul>
</div>
@endif
</div>
<div class="col-md-4">
<!-- Documents -->
<div class="card shadow-sm mb-4">
<div class="card-header bg-light d-flex justify-content-between align-items-center">
<h5 class="mb-0">Documents</h5>
</div>
<div class="card-body">
@if($contract->documents->isEmpty())
<p class="text-muted small">Aucun document.</p>
@else
<ul class="list-unstyled">
@foreach($contract->documents as $doc)
<li class="mb-2 d-flex justify-content-between align-items-center">
<a href="{{ Storage::url($doc->path) }}" target="_blank" class="text-decoration-none text-truncate" style="max-width: 200px;">
<i class="bi bi-file-earmark-text"></i> {{ $doc->filename }}
</a>
@if(auth()->id() == $doc->uploaded_by || auth()->user()->isManager())
<form action="{{ route('documents.destroy', $doc) }}" method="POST" class="d-inline" onsubmit="return confirm('Supprimer ?')">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-sm btn-link text-danger p-0"><i class="bi bi-trash"></i></button>
</form>
@endif
</li>
@endforeach
</ul>
@endif
@if(auth()->user()->isManager())
<hr>
<form action="{{ route('documents.store', $contract) }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="mb-2">
<label class="form-label small">Ajouter un document</label>
<input type="file" name="file" class="form-control form-control-sm" required>
</div>
<div class="mb-2">
<input type="text" name="description" placeholder="Description (optionnel)" class="form-control form-control-sm">
</div>
<button type="submit" class="btn btn-sm btn-success w-100">Uploader</button>
</form>
@endif
</div>
</div>
</div>
</div>
@endsection