admin: Add setting to differenciate real challenge from common tests
This commit is contained in:
parent
252ff33b83
commit
15c85c8f59
|
@ -45,7 +45,12 @@ func getROSettings(_ httprouter.Params, body []byte) (interface{}, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getSettings(_ httprouter.Params, body []byte) (interface{}, error) {
|
func getSettings(_ httprouter.Params, body []byte) (interface{}, error) {
|
||||||
return settings.ReadSettings(path.Join(settings.SettingsDir, settings.SettingsFile))
|
if s, err := settings.ReadSettings(path.Join(settings.SettingsDir, settings.SettingsFile)); err != nil {
|
||||||
|
return nil, err
|
||||||
|
} else {
|
||||||
|
s.WorkInProgress = !IsProductionEnv
|
||||||
|
return s, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func saveSettings(_ httprouter.Params, body []byte) (interface{}, error) {
|
func saveSettings(_ httprouter.Params, body []byte) (interface{}, error) {
|
||||||
|
@ -81,6 +86,7 @@ func ResetSettings() error {
|
||||||
return settings.SaveSettings(path.Join(settings.SettingsDir, settings.SettingsFile), settings.FICSettings{
|
return settings.SaveSettings(path.Join(settings.SettingsDir, settings.SettingsFile), settings.FICSettings{
|
||||||
Title: "Challenge FIC",
|
Title: "Challenge FIC",
|
||||||
Authors: "Laboratoire SRS, ÉPITA",
|
Authors: "Laboratoire SRS, ÉPITA",
|
||||||
|
WorkInProgress: IsProductionEnv,
|
||||||
FirstBlood: fic.FirstBlood,
|
FirstBlood: fic.FirstBlood,
|
||||||
SubmissionCostBase: fic.SubmissionCostBase,
|
SubmissionCostBase: fic.SubmissionCostBase,
|
||||||
ExerciceCurCoefficient: 1,
|
ExerciceCurCoefficient: 1,
|
||||||
|
|
|
@ -66,7 +66,7 @@ const indextpl = `<!DOCTYPE html>
|
||||||
<script src="js/d3.v3.min.js"></script>
|
<script src="js/d3.v3.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body class="bg-light text-dark">
|
<body class="bg-light text-dark">
|
||||||
<nav class="navbar sticky-top navbar-expand-lg navbar-dark bg-dark text-light">
|
<nav class="navbar sticky-top navbar-expand-lg navbar-dark text-light" ng-class="{'bg-dark': settings.wip, 'bg-danger': !settings.wip}">
|
||||||
<a class="navbar-brand" href=".">
|
<a class="navbar-brand" href=".">
|
||||||
<img alt="FIC" src="img/fic.png" style="height: 30px">
|
<img alt="FIC" src="img/fic.png" style="height: 30px">
|
||||||
</a>
|
</a>
|
||||||
|
@ -88,7 +88,16 @@ const indextpl = `<!DOCTYPE html>
|
||||||
<span class="badge badge-{{ "{{ priorities[myClaimsMaxLevel] }}" }}" ng-show="myClaims">{{ "{{ myClaims }}" }}</span>
|
<span class="badge badge-{{ "{{ priorities[myClaimsMaxLevel] }}" }}" ng-show="myClaims">{{ "{{ myClaims }}" }}</span>
|
||||||
<span class="badge badge-{{ "{{ priorities[newClaimsMaxLevel] }}" }}" ng-show="newClaims">{{ "{{ newClaims }}" }}</span>
|
<span class="badge badge-{{ "{{ priorities[newClaimsMaxLevel] }}" }}" ng-show="newClaims">{{ "{{ newClaims }}" }}</span>
|
||||||
</a></li>
|
</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="settings">Paramètres</a></li>
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="settings">
|
||||||
|
Paramètres
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<span class="d-flex flex-column justify-content-center" ng-show="!settings.wip" ng-cloak>
|
||||||
|
<span class="badge badge-light p-1">
|
||||||
|
prod
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -229,7 +229,7 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="card mb-5" ng-show="timeProgression && !displayDangerousActions">
|
<div class="card mb-5" ng-show="!config.wip && timeProgression && !displayDangerousActions">
|
||||||
<div class="card-header bg-secondary text-light">
|
<div class="card-header bg-secondary text-light">
|
||||||
Synchronisation et suppressions de masse
|
Synchronisation et suppressions de masse
|
||||||
</div>
|
</div>
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-5" ng-show="!timeProgression || displayDangerousActions">
|
<div class="row mb-5" ng-show="config.wip || !timeProgression || displayDangerousActions">
|
||||||
<div class="col-8 card text-light bg-dark">
|
<div class="col-8 card text-light bg-dark">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<dl class="row">
|
<dl class="row">
|
||||||
|
|
|
@ -159,7 +159,7 @@ services:
|
||||||
- /var/lib/fic/backups
|
- /var/lib/fic/backups
|
||||||
- name: fic-admin
|
- name: fic-admin
|
||||||
image: nemunaire/fic-admin:latest
|
image: nemunaire/fic-admin:latest
|
||||||
command: ["/srv/admin", "-bind=:8081", "-baseurl=/admin/", "-localimport=/mnt/fic", "-timestampCheck=/srv/submissions"]
|
command: ["/srv/admin", "-4real", "-bind=:8081", "-baseurl=/admin/", "-localimport=/mnt/fic", "-timestampCheck=/srv/submissions"]
|
||||||
env:
|
env:
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=db
|
||||||
- FICCA_PASS=jee8AhloAith1aesCeQu5ahgIegaeM4K
|
- FICCA_PASS=jee8AhloAith1aesCeQu5ahgIegaeM4K
|
||||||
|
|
|
@ -28,6 +28,8 @@ type FICSettings struct {
|
||||||
Authors string `json:"authors"`
|
Authors string `json:"authors"`
|
||||||
// VideoLink is the link to explaination videos when the challenge is over.
|
// VideoLink is the link to explaination videos when the challenge is over.
|
||||||
VideosLink string `json:"videoslink"`
|
VideosLink string `json:"videoslink"`
|
||||||
|
// WorkInProgress indicates if the current challenge is under development or if it is in production.
|
||||||
|
WorkInProgress bool `json:"wip,omitempty"`
|
||||||
|
|
||||||
// Start is the departure time (expected or effective).
|
// Start is the departure time (expected or effective).
|
||||||
Start time.Time `json:"start"`
|
Start time.Time `json:"start"`
|
||||||
|
|
Loading…
Reference in New Issue