|
@@ -1 +1,133 @@
|
|
|
-<p>production-update works!</p>
|
|
|
|
|
|
|
+<br />
|
|
|
|
|
+<form id="formProduction" #formRef="ngForm" class="needs-validation">
|
|
|
|
|
+ <div class="card shadow">
|
|
|
|
|
+ <div class="card-header">Fiche d'une production</div>
|
|
|
|
|
+ <div class="card-header shadow-sm">
|
|
|
|
|
+ <button (click)="goToListProduction()" class="btn btn-primary btn-sm">
|
|
|
|
|
+ <i class="fa-solid fa-xmark"></i> Retour
|
|
|
|
|
+ </button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="card-body">
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Créé le</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="text" class="form-control form-control-sm field-separate" id="dateCreation" name="dateCreation" [(ngModel)]="production.dateCreation" disabled>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Modifié le</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="text" class="form-control form-control-sm field-separate" id="dateModification" name="dateModification" [(ngModel)]="production.dateModification" disabled>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Type</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <div class="form-group field-separate">
|
|
|
|
|
+ <select class="form-select form-select-sm" id="type" name="type" [(ngModel)]="production.type"> @for (type of types; track type.key) {
|
|
|
|
|
+ <option [value]="type.key">{{ type.value }}</option> }
|
|
|
|
|
+ </select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Titre <sup><span class="text-danger">*</span></sup></label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="text" class="form-control form-control-sm field-separate" id="titre" name="titre" [(ngModel)]="production.titre" #titreRef="ngModel" required [class.is-invalid]="titreRef.invalid && titreRef.touched">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Auteur(s) <sup><span class="text-danger">*</span></sup></label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="text" class="form-control form-control-sm field-separate" id="auteurs" name="auteurs" [(ngModel)]="production.auteurs" #auteursRef="ngModel" required [class.is-invalid]="auteursRef.invalid && auteursRef.touched">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Groupe(s)</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="text" class="form-control form-control-sm field-separate" id="groupes" name="groupes" [(ngModel)]="production.groupes">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Plateforme</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="text" class="form-control form-control-sm field-separate" id="plateforme" name="plateforme" [(ngModel)]="production.plateforme">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Commentaire</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <textarea class="form-control form-control-sm field-separate" id="commentaire" name="commentaire" [(ngModel)]="production.commentaire"></textarea>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Informations privées</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <textarea class="form-control form-control-sm field-separate" id="informationsPrivees" name="informationsPrivees" [(ngModel)]="production.informationsPrivees"></textarea>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Gestionnaire <sup><span class="text-danger">*</span></sup></label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <select class="form-select form-select-sm field-separate" id="numeroParticipant" name="numeroParticipant" [(ngModel)]="production.numeroGestionnaire">
|
|
|
|
|
+ @for (participant of participants; track participant.numeroParticipant) {
|
|
|
|
|
+ <option [ngValue]="participant.numeroParticipant">{{ participant.pseudonyme }} = {{ participant.nom }} {{ participant.prenom }}</option>
|
|
|
|
|
+ }
|
|
|
|
|
+ </select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label class="col-sm-2 col-form-label col-form-label-sm label-nobr">Vignette</label>
|
|
|
|
|
+ <div class="col-sm-10">
|
|
|
|
|
+ <input type="file" class="form-control form-control-sm field-separate" id="vignette" name="vignette" accept="image/png, image/gif, image/jpeg" (change)="onVignetteSelected($event)">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="card-footer">
|
|
|
|
|
+ <button type="button" class="btn btn-warning btn-sm" data-bs-toggle="modal" data-bs-target="#modalModifier" [disabled]="formRef.invalid"><i class="fa-solid fa-check"></i> Modifier</button>
|
|
|
|
|
+ <button type="button" class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#modalEffacer" style="float: right;"><i class="fa-solid fa-trash"></i> Effacer</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</form>
|
|
|
|
|
+
|
|
|
|
|
+<div class="modal fade" id="modalModifier" tabindex="-1" aria-labelledby="modalModifierTitre" aria-hidden="true">
|
|
|
|
|
+ <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
|
|
+ <div class="modal-content">
|
|
|
|
|
+ <div class="modal-header">
|
|
|
|
|
+ <h5 class="modal-title" id="modalModifierTitre">Modification</h5>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="modal-body">Actualiser cet enregistrement ?</div>
|
|
|
|
|
+ <div class="modal-footer">
|
|
|
|
|
+ <button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="modal">Annuler</button>
|
|
|
|
|
+ <button type="button" class="btn btn-warning btn-sm" (click)="updateConfirmed()" data-bs-dismiss="modal">Confirmer</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</div>
|
|
|
|
|
+
|
|
|
|
|
+<div class="modal fade" id="modalEffacer" tabindex="-1" aria-labelledby="modalEffacerTitre" aria-hidden="true">
|
|
|
|
|
+ <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
|
|
+ <div class="modal-content">
|
|
|
|
|
+ <div class="modal-header">
|
|
|
|
|
+ <h5 class="modal-title text-danger" id="modalEffacerTitre">Suppression</h5>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="modal-body">Effacer cet enregistrement ?</div>
|
|
|
|
|
+ <div class="modal-footer">
|
|
|
|
|
+ <button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="modal">Annuler</button>
|
|
|
|
|
+ <button type="button" class="btn btn-danger btn-sm" (click)="deleteConfirmed()" data-bs-dismiss="modal">Confirmer</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</div>
|