mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
chore: Initial Commit
feat: Gestion des inscriptions [#1] feat(frontend): Création des vues pour le paramétrage de l'école [#2] feat: Gestion du login [#6] fix: Correction lors de la migration des modèle [#8] feat: Révision du menu principal [#9] feat: Ajout d'un footer [#10] feat: Création des dockers compose pour les environnements de développement et de production [#12] doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
This commit is contained in:
@ -0,0 +1,52 @@
|
||||
{% extends "base.html" %}
|
||||
{% load rest_framework %}
|
||||
{% block content %}
|
||||
<h1>Création d'une nouvelle fiche d'inscription</h1>
|
||||
<br>
|
||||
<form action='{% url 'GestionInscriptions:nouvelEleve' %}' method="post">
|
||||
{% csrf_token %}
|
||||
<ul>
|
||||
<li style="margin-bottom: 15px"><strong>ELEVE</strong></li>
|
||||
<div class="input-group">
|
||||
<label for="nomEleve">Nom</label>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="nomEleve" name="nomEleve">
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="prenomEleve">Prénom</label>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="prenomEleve" name="prenomEleve">
|
||||
</div>
|
||||
</div>
|
||||
<li style="margin-bottom: 15px"><strong>LISTE DES CONTACTS</strong></li>
|
||||
<div class="input-group">
|
||||
<label for="mail">Adresse e-mail </label>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="mail" name="mailResponsable">
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="telephone">Numéro de téléphone</label>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="telephone" name="telephoneResponsable">
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="nomContact">Nom</label>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="nomContact" name="nomResponsable">
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="prenomContact">Prénom</label>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="prenomContact" name="prenomResponsable">
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
<input class="btn primary" type="submit" value="Créer" name="valider">
|
||||
<br>
|
||||
<input class="btn" type="button" value="Annuler" name="cancel">
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -0,0 +1,16 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<h1>Configuration des dossiers d'inscriptions</h1>
|
||||
<br>
|
||||
<form action='{% url 'GestionInscriptions:index' %}' method="post">
|
||||
{% csrf_token %}
|
||||
<ul>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Relance automatique :</label>
|
||||
<input type="text" name="delaiRelance" value="{{ delaiRelance }}">
|
||||
<label>secondes</label>
|
||||
</div>
|
||||
</ul>
|
||||
<input class="btn" type="submit" value="Configurer" name="valider">
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -0,0 +1,162 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<h1>Création du dossier d'inscription</h1>
|
||||
<br>
|
||||
<form action='{% url 'GestionInscriptions:validate' eleve.id %}' method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{% with responsable=eleve.getResponsablePrincipal %}
|
||||
<ul>
|
||||
<li style="margin-bottom: 15px"><strong>ELEVE</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomEleve" value="{{ eleve.nom }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomEleve" value="{{ eleve.prenom }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Genre :<br></label>
|
||||
{% for genre in genres %}
|
||||
<label>{{ genre }}</label>
|
||||
<input type="radio" id="{{ genre }}" name="genre" value="{{ genre }}">
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Adresse :</label>
|
||||
<input type="text" name="adresseEleve">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Date de naissance :</label>
|
||||
<input type="text" name="dateNaissanceEleve">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Lieu de naissance :</label>
|
||||
<input type="text" name="lieuNaissanceEleve">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Code postal de naissance :</label>
|
||||
<input type="text" name="codePostalNaissanceEleve">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nationalité :</label>
|
||||
<input type="text" name="nationaliteEleve">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Langue parlée :</label>
|
||||
<input type="text" name="langueEleve">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Ambiance :<br></label>
|
||||
{% for ambiance in ambiances %}
|
||||
<label>{{ ambiance }}</label>
|
||||
<input type="radio" id="{{ ambiance }}" name="ambiance" value="{{ ambiance }}">
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Médecin traitant :</label>
|
||||
<input type="text" name="medecinTraitantEleve">
|
||||
</div>
|
||||
<li style="margin-bottom: 15px"><strong>RESPONSABLES</strong></li>
|
||||
<ul>
|
||||
<li style="margin-bottom: 15px"><strong>RESPONSABLE 1</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomResponsable1" value="{{ responsable.nom }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomResponsable1" value="{{ responsable.prenom }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Adresse :</label>
|
||||
<input type="text" name="adresseResponsable1" value="{{ responsable.adresse }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Date de naissance :</label>
|
||||
<input type="text" name="dateNaissanceResponsable1" value="{{ responsable.dateNaissance }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Mail :</label>
|
||||
<input type="text" name="mailResponsable1" value="{{ responsable.mail }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Téléphone :</label>
|
||||
<input type="text" name="telephoneResponsable1" value="{{ responsable.telephone }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Profession :</label>
|
||||
<input type="text" name="professionResponsable1" value="{{ responsable.profession }}">
|
||||
</div>
|
||||
<li style="margin-bottom: 15px"><strong>RESPONSABLE 2</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomResponsable2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomResponsable2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Adresse :</label>
|
||||
<input type="text" name="adresseResponsable2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Date de naissance :</label>
|
||||
<input type="text" name="dateNaissanceResponsable2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Mail :</label>
|
||||
<input type="text" name="mailResponsable2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Téléphone :</label>
|
||||
<input type="text" name="telephoneResponsable2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Profession :</label>
|
||||
<input type="text" name="professionResponsable2">
|
||||
</div>
|
||||
</ul>
|
||||
<li style="margin-bottom: 15px"><strong>FRATRIE</strong></li>
|
||||
<ul>
|
||||
<li style="margin-bottom: 15px"><strong>FRERE - SOEUR 1 :</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomFrere1">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomFrere1">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Date de naissance :</label>
|
||||
<input type="text" name="dateNaissanceFrere1">
|
||||
</div>
|
||||
<li style="margin-bottom: 15px"><strong>FRERE - SOEUR 2 :</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomFrere2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomFrere2">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Date de naissance :</label>
|
||||
<input type="text" name="dateNaissanceFrere2">
|
||||
</div>
|
||||
</ul>
|
||||
<li style="margin-bottom: 15px"><strong>PAIEMENT</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Mode Paiement :<br></label>
|
||||
{% for modePaiement in modesPaiement %}
|
||||
<label>{{ modePaiement }}</label>
|
||||
<input type="radio" id="{{ modePaiement }}" name="modePaiement" value="{{ modePaiement }}">
|
||||
{% endfor %}
|
||||
</div>
|
||||
</ul>
|
||||
<input class="btn" type="submit" value="Valider" name="valider">
|
||||
{% endwith %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -0,0 +1,42 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<h1>Edition d'une fiche d'inscription</h1>
|
||||
<br>
|
||||
<form action='{% url 'GestionInscriptions:index' %}' method="post">
|
||||
{% csrf_token %}
|
||||
{% with responsable=eleve.getResponsablePrincipal %}
|
||||
<ul>
|
||||
<div style="margin-bottom: 15px">
|
||||
<input type="hidden" name="fiche_id" value="{{ eleve.id }}">
|
||||
</div>
|
||||
<li style="margin-bottom: 15px"><strong>ELEVE</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomEleve" value="{{ eleve.nom }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomEleve" value="{{ eleve.prenom }}">
|
||||
</div>
|
||||
<li style="margin-bottom: 15px"><strong>LISTE DES CONTACTS</strong></li>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Adresse e-mail :</label>
|
||||
<input type="text" name="mail" value="{{ responsable.mail }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Numéro de téléphone :</label>
|
||||
<input type="text" name="telephone" value="{{ responsable.telephone }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Nom :</label>
|
||||
<input type="text" name="nomContact" value="{{ responsable.nom }}">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px">
|
||||
<label>Prénom :</label>
|
||||
<input type="text" name="prenomContact" value="{{ responsable.prenom }}">
|
||||
</div>
|
||||
</ul>
|
||||
<input class="btn" type="submit" value="Modifier" name="valider">
|
||||
{% endwith %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -0,0 +1,126 @@
|
||||
{% extends "base.html" %}
|
||||
{% load myTemplateTag %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Inscriptions 2024/2025</h1>
|
||||
<br>
|
||||
<div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<section class="heading-section">
|
||||
<!-- Search bar -->
|
||||
<div class="input-group max-80">
|
||||
<div class="input-wrapper max">
|
||||
<span class="icon-ctn">
|
||||
<i class="icon user-search"></i>
|
||||
</span>
|
||||
<input type="text" id="username" placeholder="Rechercher">
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn primary" href="nouvelEleve">
|
||||
Ajouter <i class="icon profile-add"></i>
|
||||
</a>
|
||||
</section>
|
||||
<section class="heading-section">
|
||||
<div class="alphabet-filter">
|
||||
{% for letter in "*ABCDEFGHIJKLMNOPQRSTUVWXYZ" %}
|
||||
<a class="item" href="?letter={{ letter }}">{{ letter }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nom</th>
|
||||
<th>Prenom</th>
|
||||
<th>Mail</th>
|
||||
<th>Téléphone</th>
|
||||
<th>MàJ Le</th>
|
||||
<th>Statut</th>
|
||||
<th>Fichiers</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{% for ficheInscription in ficheInscriptions_list %}
|
||||
{% with eleve=ficheInscription.eleve %}
|
||||
{% with responsable=eleve.getResponsablePrincipal %}
|
||||
{% with fichiers=ficheInscription|recupereFichiersDossierInscription %}
|
||||
<tr>
|
||||
<td>{{ eleve.nom }}</td>
|
||||
<td>{{ eleve.prenom }}</td>
|
||||
<td>{{ responsable.mail }}</td>
|
||||
<td>{{ responsable.telephone }}</td>
|
||||
<td>{{ ficheInscription.dateMAJ }}</td>
|
||||
<td>
|
||||
{% if ficheInscription.etat == 0 %}
|
||||
<span class="tag blue"> Créé</span>
|
||||
{% elif ficheInscription.etat == 1 %}
|
||||
<span class="tag orange"> Envoyé</span>
|
||||
{% elif ficheInscription.etat == 2 %}
|
||||
<span class="tag purple"> En Validation</span>
|
||||
{% else %}
|
||||
<span class="tag green"> Validé</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% for fichier in fichiers %}
|
||||
<a href="{{ fichier.url }}">{{ fichier.nom }}</a>
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td class="actions">
|
||||
<button class="icon-btn" onclick="location.href='{% url 'GestionInscriptions:send' eleve.id %}'" type="submit"> <i class="icon directbox-send"></i></button>
|
||||
<button class="icon-btn"> <i class="icon edit"></i></button>
|
||||
<button class="icon-btn red"> <i class="icon user-minus"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="6">
|
||||
<div class="pagination">
|
||||
{% if ficheInscriptions_list.has_previous %}
|
||||
{% if ficheInscriptions_list.previous_page_number == 1 %}
|
||||
<a class="item" href="?page={{ ficheInscriptions_list.previous_page_number }}"><</a>
|
||||
<a class="item" href="?page=1">1</a>
|
||||
{% else %}
|
||||
<a class="item" href="?page={{ ficheInscriptions_list.previous_page_number }}"><</a>
|
||||
<a class="item" href="?page=1">1</a>
|
||||
<a class="item" >...</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if ficheInscriptions_list %}
|
||||
<a class="item active">{{ ficheInscriptions_list.number }}</a>
|
||||
{% else %}
|
||||
<a class="item">{{ ficheInscriptions_list.number }}</a>
|
||||
{% endif %}
|
||||
|
||||
{% if ficheInscriptions_list.has_next %}
|
||||
{% if ficheInscriptions_list.next_page_number == ficheInscriptions_list.paginator.num_pages %}
|
||||
<a class="item" href="?page={{ ficheInscriptions_list.next_page_number }}">{{ ficheInscriptions_list.next_page_number }}</a>
|
||||
<a class="item" href="?page={{ ficheInscriptions_list.next_page_number }}">></a>
|
||||
{% else %}
|
||||
<a class="item" >...</a>
|
||||
<a class="item" href="?page={{ ficheInscriptions_list.paginator.num_pages }}">{{ ficheInscriptions_list.paginator.num_pages }}</a>
|
||||
<a class="item" href="?page={{ ficheInscriptions_list.next_page_number }}">></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user