2018-12-05 05:40:02 +00:00
< form ng-submit = "saveSettings()" class = "row" >
< div class = "col-8 jumbotron text-light bg-dark" >
2017-12-14 03:08:43 +00:00
< h2 > Paramètres< button ng-click = "regenerate()" class = "float-right btn btn-info" type = "button" > < span class = "glyphicon glyphicon-refresh" aria-hidden = "true" > < / span > Regénérer les fichiers statiques< / a > < / h2 >
< hr >
2017-01-15 01:37:59 +00:00
2017-12-14 03:08:43 +00:00
< input type = "hidden" class = "form-control form-control-sm" id = "lastRegeneration" ng-model = "config.generation" >
2017-01-24 01:14:28 +00:00
2017-12-14 03:08:43 +00:00
< div class = "form-group row" >
2018-12-05 05:40:02 +00:00
< label for = "challengeName" class = "col-sm-3 col-form-label col-form-label-sm" > Nom du challenge< / label >
< div class = "col-sm-9" >
2017-12-14 03:08:43 +00:00
< input type = "text" class = "form-control form-control-sm" id = "challengeName" ng-model = "config.title" >
2017-04-02 09:40:23 +00:00
< / div >
< / div >
2017-12-14 03:08:43 +00:00
< div class = "form-group row" >
2018-12-05 05:40:02 +00:00
< label for = "challengeAuthors" class = "col-sm-3 col-form-label col-form-label-sm" > Auteurs du challenge< / label >
< div class = "col-sm-9" >
2017-12-14 03:08:43 +00:00
< input type = "text" class = "form-control form-control-sm" id = "challengeAuthors" ng-model = "config.authors" >
2017-04-02 09:40:23 +00:00
< / div >
< / div >
2018-08-19 15:19:39 +00:00
< div class = "form-group row" >
2018-12-05 05:40:02 +00:00
< label for = "challengeVideo" class = "col-sm-3 col-form-label col-form-label-sm" > Lien vidéos de résolution< / label >
< div class = "col-sm-9" >
2018-08-19 15:19:39 +00:00
< input type = "text" class = "form-control form-control-sm" id = "challengeVideo" ng-model = "config.videoslink" >
< / div >
< / div >
2017-12-14 03:08:43 +00:00
< div class = "form-group row" >
2018-12-05 05:40:02 +00:00
< label for = "startTime" class = "col-sm-3 col-form-label col-form-label-sm" > Début du challenge< / label >
< div class = "col-sm-9" >
2017-12-14 03:08:43 +00:00
< div class = "input-group" >
< input type = "text" class = "form-control form-control-sm" id = "startTime" ng-model = "config.start" >
2018-12-05 03:09:42 +00:00
< div class = "input-group-append" >
2017-12-14 03:08:43 +00:00
< button ng-click = "launchChallenge()" class = "btn btn-sm btn-secondary" type = "button" > < span class = "glyphicon glyphicon-play" aria-hidden = "true" > < / span > Lancer le challenge< / button >
2018-12-05 03:09:42 +00:00
< / div >
2017-12-14 03:08:43 +00:00
< / div >
2017-01-15 01:37:59 +00:00
< / div >
< / div >
2017-12-14 03:08:43 +00:00
< div class = "form-group row" >
2018-12-05 05:40:02 +00:00
< label for = "endTime" class = "col-sm-3 col-form-label col-form-label-sm" > Fin du challenge< / label >
< div class = "col-sm-6" >
2017-12-14 03:08:43 +00:00
< input type = "text" class = "form-control form-control-sm" id = "endTime" ng-model = "config.end" >
2017-01-15 01:37:59 +00:00
< / div >
< div class = "col-sm-1 text-right" >
2017-12-14 03:08:43 +00:00
< label for = "duration" class = "col-form-label col-form-label-sm" > Durée< / label >
2017-01-15 01:37:59 +00:00
< / div >
< div class = "col-sm-2" >
2017-12-14 03:08:43 +00:00
< div class = "input-group input-group-sm" >
< input type = "text" class = "form-control form-control-sm" id = "duration" ng-model = "duration" integer >
2018-12-05 03:09:42 +00:00
< div class = "input-group-append" >
< span class = "input-group-text" > min< / span >
< / div >
2017-01-15 01:37:59 +00:00
< / div >
< / div >
< / div >
< hr >
2017-12-14 03:08:43 +00:00
< div class = "form-group row" >
2019-01-17 12:26:49 +00:00
< label for = "exercicecurcoefficient" class = "col-sm-3 col-form-label col-form-label-sm" > < strong > Coefficients< / strong > < / label >
< label for = "hintcoefficient" class = "col-sm-2 col-form-label col-form-label-sm text-right" > incides< / label >
< div class = "col-sm-1" >
2019-01-17 11:03:18 +00:00
< input type = "text" class = "form-control form-control-sm" id = "hintcoefficient" ng-model = "config.hintCurrentCoefficient" float >
< / div >
2019-01-17 12:26:49 +00:00
< label for = "wchoicescoefficient" class = "col-sm-2 col-form-label col-form-label-sm text-right" > WChoices< / label >
< div class = "col-sm-1" >
2019-01-17 11:03:18 +00:00
< input type = "text" class = "form-control form-control-sm" id = "wchoicescoefficient" ng-model = "config.wchoiceCurrentCoefficient" float >
2017-01-15 01:37:59 +00:00
< / div >
2019-01-17 12:26:49 +00:00
< label for = "exercicecurcoefficient" class = "col-sm-2 col-form-label col-form-label-sm text-right" > défis< / label >
< div class = "col-sm-1" >
< input type = "text" class = "form-control form-control-sm" id = "exercicecurcoefficient" ng-model = "config.exerciceCurrentCoefficient" float >
< / div >
2017-01-15 01:37:59 +00:00
< / div >
2017-12-14 03:08:43 +00:00
< div class = "form-group row" >
2019-01-17 11:03:18 +00:00
< label for = "firstBlood" class = "col-sm-3 col-form-label col-form-label-sm" > Bonus premier sang< / label >
< div class = "col-sm-2" >
< input type = "text" class = "form-control form-control-sm" id = "firstBlood" ng-model = "config.firstBlood" float >
< / div >
2019-01-17 12:26:49 +00:00
< label for = "submissionCostBase" class = "offset-sm-1 col-sm-4 col-form-label col-form-label-sm text-right" > Coût de base d'une tentative< / label >
2018-12-05 05:40:02 +00:00
< div class = "col-sm-2" >
2017-12-14 03:08:43 +00:00
< input type = "text" class = "form-control form-control-sm" id = "submissionCostBase" ng-model = "config.submissionCostBase" float >
2017-01-15 01:37:59 +00:00
< / div >
2019-01-17 11:03:18 +00:00
< / div >
< div class = "form-group row" >
2019-01-17 12:03:15 +00:00
< div class = "col" >
< div class = "input-group" style = "margin-top: 5px;" >
< div class = "input-group-prepend" >
< button ng-click = "updActivateTime()" class = "btn btn-sm btn-secondary" type = "button" > < span class = "glyphicon glyphicon-record" aria-hidden = "true" > < / span > Propager plus tard< / button >
< / div >
< input type = "text" class = "form-control form-control-sm" id = "activateTime" ng-model = "config.activateTime" >
< / div >
< / div >
2018-12-05 05:40:02 +00:00
< div class = "col text-right" >
< button type = "submit" class = "btn btn-success" > < span class = "glyphicon glyphicon-save" aria-hidden = "true" > < / span > Propager ces paramètres< / button >
< / div >
2017-01-15 01:37:59 +00:00
< / div >
2018-12-05 05:40:02 +00:00
< / div >
< div class = "col-4 jumbotron text-light bg-dark" >
2017-12-14 03:08:43 +00:00
< fieldset class = "form-group" >
2018-12-05 05:40:02 +00:00
< legend class = "col-form-legend" > Options< / legend >
2017-12-14 03:08:43 +00:00
2018-12-05 05:40:02 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.allowRegistration" >
< span class = "custom-control-label" > Activer les inscriptions< / span >
< / label >
< / div >
2017-12-14 03:08:43 +00:00
2018-12-05 05:40:02 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.denyNameChange" >
< span class = "custom-control-label" > Interdire les changements de nom d'équipe< / span >
< / label >
< / div >
2017-12-14 03:08:43 +00:00
2018-12-05 05:40:02 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.enableResolutionRoute" >
< span class = "custom-control-label" > Activer la route montrant les solutions< / span >
< / label >
< / div >
2017-12-14 03:08:43 +00:00
2018-12-05 05:40:02 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.partialValidation" >
< span class = "custom-control-label" > Activer la validation partielle des challenges< / span >
< / label >
< / div >
2017-01-15 01:37:59 +00:00
2018-12-05 05:40:02 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.enableExerciceDepend" >
< span class = "custom-control-label" > Activer les dépendances des exercices< / span >
2019-01-18 19:30:47 +00:00
< input type = "text" class = "form-control form-control-sm" id = "duration" ng-model = "config.unlockedChallengeDepth" ng-disabled = "!config.enableExerciceDepend" integer >
2018-12-05 05:40:02 +00:00
< / label >
2017-01-15 01:37:59 +00:00
< / div >
2018-12-05 05:40:02 +00:00
2019-01-19 23:14:20 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.displayAllFlags" >
< span class = "custom-control-label" > Désactiver les dépendances des flags< / span >
< / label >
< / div >
2018-12-06 21:18:08 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.submissionUniqueness" >
< span class = "custom-control-label" > Ne pas comptabiliser les tentatives identiques dans le score< / span >
< / label >
< / div >
2019-01-19 07:04:10 +00:00
< div class = "form-check" >
< label class = "custom-control custom-checkbox" >
< input class = "custom-control-input" type = "checkbox" ng-model = "config.eventKindness" >
< span class = "custom-control-label" > Réduire la relève d'évènements côté navigateur< / span >
< / label >
< / div >
2017-12-14 03:08:43 +00:00
< / fieldset >
2018-12-05 05:40:02 +00:00
< / div >
< / form >
2017-01-15 01:37:59 +00:00
2018-12-05 05:40:02 +00:00
< div class = "row mb-5" >
< div class = "col-8 card text-light bg-dark" >
< div class = "card-body" >
< dl class = "row" >
< dt class = "col-3" > Synchronisation< / dt >
< dd class = "col" ng-bind = "configro.sync" > < / dd >
< / dl >
2018-12-05 05:21:32 +00:00
2019-01-18 14:39:58 +00:00
< div class = "float-right" ng-if = "configro.sync" >
{{ syncProgress }}
< / div >
2019-01-20 13:27:51 +00:00
< div ng-if = "syncReport" >
Dernier import : {{ syncReport._date[1] }}
< / div >
2018-12-05 05:40:02 +00:00
< div class = "text-left" ng-if = "configro.sync" >
< button type = "button" class = "btn btn-secondary" ng-click = "deepSync()" ng-disabled = "deepSyncInProgress" > < span class = "glyphicon glyphicon-import" aria-hidden = "true" > < / span > Synchronisation intégrale< / button >
2019-01-20 13:27:51 +00:00
< a href = "check_import.html" class = "btn btn-success" target = "_self" ng-if = "syncReport" > Voir le rapport< / a >
2018-12-05 05:40:02 +00:00
< / div >
< / div >
2017-12-11 01:56:26 +00:00
2017-01-15 01:37:59 +00:00
< / div >
2018-12-05 05:21:32 +00:00
2018-12-05 05:40:02 +00:00
< div class = "col-4" >
< div class = "card mt-3" >
< button ng-click = "reset('challenges')" class = "btn btn-secondary" type = "button" > < span class = "glyphicon glyphicon-trash" aria-hidden = "true" > < / span > Effacer les challenges et les thèmes< / button >
< / div >
< div class = "card mt-3" >
< button ng-click = "reset('teams');" class = "btn btn-secondary" type = "button" > < span class = "glyphicon glyphicon-trash" aria-hidden = "true" > < / span > Effacer les équipes< / button >
< / div >
< div class = "card mt-3" >
< button ng-click = "reset('game');" class = "btn btn-secondary" type = "button" > < span class = "glyphicon glyphicon-trash" aria-hidden = "true" > < / span > Effacer la partie (tentatives, indices, ...)< / button >
< / div >
2017-04-04 23:56:52 +00:00
< / div >
2017-01-29 12:38:39 +00:00
< / div >