server/qa/static/views/exercice.html

106 lines
4.8 KiB
HTML

<h2>
{{exercice.title}}
<small ng-if="themes && themes[exercice.id_theme]"><a href="themes/{{ exercice.id_theme }}" title="{{themes[exercice.id_theme].authors | stripHTML}}">{{themes[exercice.id_theme].name}}</a></small>
<div class="btn-group" role="group" ng-if="themes[exercice.id_theme].exercices[exercice.id]">
<a href="exercices/{{ themes[exercice.id_theme].exercices[exercice.id].previous }}" title="Exercice précédent" ng-class="{'disabled': !themes[exercice.id_theme].exercices[exercice.id].previous}" class="btn btn-sm btn-light"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span></a>
<a href="exercices/{{ themes[exercice.id_theme].exercices[exercice.id].next }}" title="Exercice suivant" ng-class="{'disabled': !themes[exercice.id_theme].exercices[exercice.id].next}" class="btn btn-sm btn-light"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span></a>
</div>
</h2>
<div class="row mb-3">
<div class="col-md-6" ng-bind-html="exercice.statement"></div>
<div class="col-md-6" ng-bind-html="exercice.overview"></div>
</div>
<div ng-controller="ExerciceQAController" class="mb-5">
<form ng-submit="saveQuery()" class="card mb-3">
<div class="card-header">
Qu'avez-vous pensé de ce défi ?
</div>
<div class="card-body">
<div class="form-group row" ng-repeat="(field, namedField) in namedFields">
<label for="{{ field }}" class="col-2 col-form-label col-form-label-sm">{{ namedField }}</label>
<div class="col-10">
<input type="text" class="form-control form-control-sm" id="{{ field }}" ng-model="newQuery[field]" ng-if="field != 'state' && field != 'content'">
<select class="custom-select custom-select-sm" id="{{ field }}" ng-model="newQuery[field]" ng-options="k as v for (k, v) in states" ng-if="field == 'state'"></select>
<textarea class="form-control form-control-sm" placeholder="Ajouter un commentaire" rows="2" id="{{ field }}" ng-model="newQuery[field]" ng-if="field == 'content' && !newQuery.id"></textarea>
</div>
</div>
<button type="submit" class="btn btn-primary float-right">
Soumettre
</button>
</div>
</form>
<table class="table table-bordered table-striped" ng-class="{'table-hover': queries.length, 'table-sm': queries.length}">
<thead class="thead-dark">
<tr>
<th ng-repeat="field in fields">
{{ field }}
</th>
</tr>
</thead>
<tbody ng-if="queries.length">
<tr ng-repeat="(qid, q) in queries" ng-click="showComments(qid)" ng-class="{'bg-warning': qid == query_selected}">
<td ng-repeat="field in fields" ng-bind-html="q[field]"></td>
</tr>
</tbody>
<tbody ng-if="!queries.length">
<tr>
<td colspan="{{ fields.length }}" class="font-weight-bold text-info text-center">Aucun requête enregistrée</td>
</tr>
</tbody>
</table>
<div ng-if="query_selected !== null" class="card">
<div class="card-header">
<h4>{{ queries[query_selected].subject }}</h4>
</div>
<div class="card-body">
<div class="row">
<dl class="col-9 row">
<dt class="col-3">Qui ?</dt>
<dd class="col-9">{{ queries[query_selected].user }} (team #{{ queries[query_selected].id_team}})</dd>
<dt class="col-3">État</dt>
<dd class="col-9">{{ queries[query_selected].state }}</dd>
<dt class="col-3">Date de création</dt>
<dd class="col-9">{{ queries[query_selected].creation }}</dd>
<dt class="col-3">Date de résolution</dt>
<dd class="col-9">{{ queries[query_selected].solved }}</dd>
<dt class="col-3">Date de clôture</dt>
<dd class="col-9">{{ queries[query_selected].closed }}</dd>
</dl>
<div class="col-3">
<button ng-click="updateQA(queries[query_selected].id)" class="btn btn-secondary">
Mettre à jour
</button>
<button ng-click="solveQA(queries[query_selected].id)" class="btn btn-info">
Marqué comme résolu
</button>
<button ng-click="deleteQA(queries[query_selected].id)" class="btn btn-danger">
Supprimer
</button>
</div>
</div>
<table class="table table-striped">
<tr ng-repeat="comment in queries_comments">
<td>
Le {{ comment.date }}, <strong>{{ comment.user }}</strong> a écrit : {{ comment.content }}
</td>
</tr>
</table>
<form ng-submit="addComment()">
<labe for="newComment">Répondre :</label>
<textarea class="form-control" placeholder="Ajouter un commentaire" rows="2" id="newComment" ng-model="newComment.content"></textarea>
<button type="submit" class="btn btn-primary mt-1 float-right">
Ajouter le commentaire
</button>
</form>
</div>
</div>
</div>