Files
ninedad/templates/project/view.html.twig
2025-09-04 21:18:22 +02:00

135 lines
6.2 KiB
Twig

{% extends 'base.html.twig' %}
{% block title %} = {{title}}{% endblock %}
{% block body %}
<h1 style="display:flex;">
<div style="flex-grow:1">{{title}}</div>
<div class="">{{project.status}}</div>
</h1>
<div class="mb-3">
{% if is_granted('UPDATE', project) %}
<a href="{{ path(routeupdate,{id:project.id}) }}" class="btn btn-success me-1">Modifier</a>
{% endif %}
<a href="{{ path(routecancel) }}" class="btn btn-secondary me-5">Retour</a>
{% if is_granted('MOVETOVOTE', project) and project.status=="Brouillon"%}
<a href="{{ path(routemove,{id:project.id, status:"TOVOTE"}) }}" class="btn btn-primary me-1" onclick="return confirm('Statut = à Voter ?')">
<i class="fas fa-angle-double-right"></i> Statut = à Voter
</a>
{% endif %}
{% if is_granted('MOVEVOTED', project) and project.status=="A Voter" %}
<a href="{{ path(routemove,{id:project.id, status:"VOTED"}) }}" class="btn btn-primary me-1" onclick="return confirm('Statut = Voté ?')">
<i class="fas fa-angle-double-right"></i> Statut = Voté
</a>
{% endif %}
{% if is_granted('MOVEARCHIVED', project) and project.status=="Voté" %}
<a href="{{ path(routemove,{id:project.id, status:"ARCHIVED"}) }}" class="btn btn-primary me-1" onclick="return confirm('Statut = Archivé ?')">
<i class="fas fa-angle-double-right"></i> Statut = Archivé
</a>
{% endif %}
{% if is_granted('DELETE', project) %}
<a href="{{ path(routedelete,{id:project.id}) }}" class="btn btn-danger float-end" onclick="return confirm('Confirmez-vous la suppression de cet enregistrement ?')">
Supprimer
</a>
{% endif %}
{% if is_granted('MOVEDRAFT', project) and project.status=="A Voter"%}
<a href="{{ path(routemove,{id:project.id, status:"DRAFT"}) }}" class="btn btn-warning me-1 float-end" onclick="return confirm('Statut = Brouillon ?')">
<i class="fas fa-angle-double-left"></i> Statut = Brouillon
</a>
{% endif %}
{% if is_granted('MOVETOVOTE', project) and project.status=="Voté"%}
<a href="{{ path(routemove,{id:project.id, status:"TOVOTE"}) }}" class="btn btn-warning me-1 float-end" onclick="return confirm('Statut = à Voter ?')">
<i class="fas fa-angle-double-left"></i> Statut = à Voter
</a>
{% endif %}
{% if is_granted('MOVEVOTED', project) and project.status=="Archivé"%}
<a href="{{ path(routemove,{id:project.id, status:"VOTED"}) }}" class="btn btn-warning me-1 float-end" onclick="return confirm('Statut = Voté ?')">
<i class="fas fa-angle-double-left"></i> Statut = Voté
</a>
{% endif %}
</div>
<div class="row">
<div class="col-md-4 mx-auto">
<div class="card mt-3">
<div class="card-header">Information</div>
<div class="card-body">
<b>Titre</b> = {{ project.title }}<br>
<b>Nature</b> = {{ project.nature }}<br>
<b>A Voter pour le</b> = {{ project.dueDate ? project.dueDate|date("d/m/Y"):"" }}
</div>
</div>
<div class="card mt-3">
<div class="card-header">Résumé</div>
<div class="card-body">
{{ project.summary|nl2br }}
</div>
</div>
{{ render(path("bninefiles_files",{domain:'project',id:project.id, editable:0})) }}
<div class="card mt-3">
<div class="card-header">Timeline</div>
<div class="card-body">
{% include('project/timeline.html.twig') %}
</div>
</div>
</div>
<div class="col-md-8 mx-auto">
{% if project.status=="Voté" or project.status=="Archivé" %}
<div class="card mt-3">
<div class="card-header">Vote</div>
<div class="card-body">
<div class="row" style="font-size:150%">
<div class="col-md-6">
{% for option in project.options %}
{{ option.title|title }} = {{ option.nbVote }}<br>
{% endfor %}
</div>
<div class="col-md-6">
Votes Blancs = {{ project.nbVoteWhite }}<br>
Votes Nuls = {{ project.nbVoteNull }}
</div>
</div>
<hr>
<strong>Résultat = </strong><br>
{{ project.resultVote|nl2br }}
</div>
</div>
{% endif %}
<div style="display:flex;" class="mt-3">
{% for option in project.options %}
<div class="card" style="flex:1 1 0">
<center><h2>{{ option.title }}</h2></center>
<div style="display:flex;">
<div style="flex:auto; padding:10px;">
<center><i class="fas fa-plus"></i></center>
{{option.whyYes?option.whyYes|markdown_to_html:""}}
</div>
<div style="flex:auto; padding:10px;">
<center><i class="fas fa-minus"></i></center>
{{option.whyNot?option.whyNot|markdown_to_html:""}}
</div>
</div>
</div>
{% endfor %}
</div>
<div class="card mt-3">
<div class="card-header">Description du Projet</div>
<div class="card-body">
{{ project.description ? project.description|markdown_to_html : "" }}
</div>
</div>
</div>
</div>
{% endblock %}