2020-09-08 10:50:41 +00:00
< 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 >
2021-07-22 15:53:56 +00:00
< a href = "../{{themes[exercice.id_theme].urlid}}/{{exercice.urlid}}" target = "_self" class = "float-right ml-2 btn btn-sm btn-info" > < span class = "glyphicon glyphicon-road" aria-hidden = "true" > < / span > Site du challenge< / a >
2020-09-08 10:50:41 +00:00
< / 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 >
2020-09-09 19:15:58 +00:00
< th > < / th >
2020-09-08 10:50:41 +00:00
< / 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 >
2020-09-09 19:15:58 +00:00
< td >
< button type = "button" ng-click = "thumbUp(qid)" class = "btn btn-sm btn-light" > < span class = "glyphicon glyphicon-thumbs-up" aria-hidden = "true" > < / span > < / button >
< / td >
2020-09-08 10:50:41 +00:00
< / 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" >
2020-09-09 19:19:33 +00:00
< td style = "white-space: pre-line" >
2020-09-08 10:50:41 +00:00
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 >