admin: can force page regeneration

This commit is contained in:
nemunaire 2017-01-24 02:14:28 +01:00
parent b0a87486c7
commit 2e0e18d577
5 changed files with 14 additions and 3 deletions

View File

@ -22,7 +22,7 @@ func getSettings(_ httprouter.Params, body []byte) (interface{}, error) {
if settings.ExistsSettings(path.Join(TeamsDir, settings.SettingsFile)) {
return settings.ReadSettings(path.Join(TeamsDir, settings.SettingsFile))
} else {
return settings.FICSettings{time.Unix(0,0), time.Unix(0,0), fic.FirstBlood, fic.SubmissionCostBase, false, false, false, true, true}, nil
return settings.FICSettings{time.Unix(0,0), time.Unix(0,0), time.Unix(0,0), fic.FirstBlood, fic.SubmissionCostBase, false, false, false, true, true}, nil
}
}

View File

@ -228,6 +228,10 @@ angular.module("FICApp")
$location.url("/");
});
}
$scope.regenerate = function() {
this.config.generation = (new Date()).toISOString();
$scope.saveSettings();
}
$scope.launchChallenge = function() {
var ts = Date.now() - Date.now() % 60000;
var d = new Date(ts + 120000);

View File

@ -1,7 +1,9 @@
<h2>Paramètres</h2>
<h2>Paramètres<a ng-click="regenerate()" class="pull-right btn btn-info" role="button"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span> Regénérer les fichiers statiques</a></h2>
<form ng-submit="saveSettings()" class="form-horizontal well">
<input type="hidden" class="form-control" id="lastRegeneration" ng-model="config.generation">
<div class="form-group">
<label for="startTime" class="col-sm-2 control-label">Début du challenge</label>
<div class="col-sm-8">

View File

@ -43,8 +43,12 @@ func watchsubdir(watcher *fsnotify.Watcher, pathname string) error {
}
}
var lastRegeneration time.Time
func reloadSettings(config settings.FICSettings) {
if fic.PartialValidation != config.PartialValidation || fic.UnlockedChallenges != !config.EnableExerciceDepend || fic.FirstBlood != config.FirstBlood || fic.SubmissionCostBase != config.SubmissionCostBase {
if lastRegeneration != config.Generation || fic.PartialValidation != config.PartialValidation || fic.UnlockedChallenges != !config.EnableExerciceDepend || fic.FirstBlood != config.FirstBlood || fic.SubmissionCostBase != config.SubmissionCostBase {
lastRegeneration = config.Generation
fic.PartialValidation = config.PartialValidation
fic.UnlockedChallenges = !config.EnableExerciceDepend

View File

@ -15,6 +15,7 @@ const SettingsFile = "settings.json"
type FICSettings struct {
Start time.Time `json:"start"`
End time.Time `json:"end"`
Generation time.Time `json:"generation"`
FirstBlood float64 `json:"firstBlood"`
SubmissionCostBase float64 `json:"submissionCostBase"`