Commit Graph

756 Commits

Author SHA1 Message Date
223f44572e admin: Can import videos 2022-06-12 13:18:18 +02:00
dfe62e0b97 sync: Also allow overview.md for themes 2022-06-12 12:06:02 +02:00
9f45f10775 sync: Also ignore theme directories starting by _ 2022-06-10 18:54:25 +02:00
32d003f7b7 admin: Fix public retrieval 2022-06-08 16:49:28 +02:00
0a8d0dad30 Can Unlock challenge up to a certain level 2022-06-08 16:47:03 +02:00
7a5c1eeba7 admin: Fix flag edition 2022-06-08 12:24:38 +02:00
36af72d616 admin: Fix team symlink for dex generation 2022-06-08 11:22:30 +02:00
750db69b06 settings: Can display a global message on all pages 2022-06-08 09:12:56 +02:00
e9dd35f8ac settings: Can disable all submission button for maintenance 2022-06-08 09:12:56 +02:00
329bd246c7 admin: Add stats about submissions rate 2022-06-08 04:02:06 +02:00
9ea415b857 admin: Fix nil pointer when seeing public team 2022-06-08 03:06:29 +02:00
159672ec47 admin: Don't erase challenge.json if already exists 2022-06-08 03:00:50 +02:00
ba096c0af1 admin: Able to reset issues, QA and events 2022-06-07 12:37:35 +02:00
9a2fd85d57 sync: Unneeded log
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-07 01:06:31 +02:00
83a579fbd2 admin: Don't fail if importer is not writable
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-06 23:00:03 +02:00
11a12e1d44 Import logos from challenge.json
Some checks are pending
continuous-integration/drone/push Build is running
2022-06-06 20:42:46 +02:00
58af047a26 admin: Pick challenge title from challenge.json 2022-06-04 18:21:41 +02:00
d09c1741a2 admin: Also generate associations when generating dex.yaml 2022-06-04 18:11:10 +02:00
68fb332ed1 admin: Fix segv when settings.json doesn't exist
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-01 22:49:43 +02:00
595318e7b1 admin: Fix summary table on home page
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-01 13:25:58 +02:00
a414cd22c8 Handle optionnal flags 2022-06-01 12:56:43 +02:00
c0260da035 admin: Add resync button on theme 2022-05-31 18:41:42 +02:00
f65375b01f admin: Handle more info in challenge.json 2022-05-31 18:18:08 +02:00
1856a78d10 admin: Improve title and toasts rendering 2022-05-31 16:41:36 +02:00
fbeb2cc42b admin: Update fill_teams.sh 2022-05-31 14:54:34 +02:00
70891bf0e9 admin: Fix old routes 2022-05-31 14:54:19 +02:00
6c31820178 admin: Return the updated team struct after password regeneration 2022-05-31 14:53:53 +02:00
8fd2a70894 admin: Fix nil dereference when asking password 2022-05-31 14:53:26 +02:00
bd35705f58 admin: Make menu items active on rights pages 2022-05-27 16:23:33 +02:00
3c237819c3 settings: Save future changes in a dedicated file 2022-05-27 16:23:33 +02:00
465a48c1c0 admin: Show diff on settings form 2022-05-26 13:01:59 +02:00
eb07eadae0 admin: Copy challenge.json from sync to distsettings 2022-05-26 12:26:53 +02:00
4b2625c47d admin: Fix toast that wasn't hidden on button click 2022-05-26 11:37:43 +02:00
123467f3eb settings: Save duration in challenge.json 2022-05-24 23:09:43 +02:00
58217d1d8a admin: Save challenge info over importer 2022-05-24 22:57:16 +02:00
aab66bf612 sync: Implement writable importer 2022-05-24 22:57:16 +02:00
8ed9415c68 admin: Read challenge.json from imported directory 2022-05-24 21:54:45 +02:00
560110ba5e sync: Expose GetFile and GetFileContent functions 2022-05-24 21:52:58 +02:00
2c76b5c7a3 admin: Add link to forge 2022-05-24 21:25:51 +02:00
80917ae436 admin: New page to list tags 2022-05-24 21:25:27 +02:00
45a9240834 Handle special chars in exercice path 2022-05-24 17:36:33 +02:00
3bf0fc69ee admin: Handle resolution.md display 2022-05-24 13:32:02 +02:00
4a190f51c5 admin: Fix video route 2022-05-24 12:03:00 +02:00
b92381f007 admin/ui: Improve home page 2022-05-24 12:03:00 +02:00
8eb2bda539 admin/ui: Improve sync page 2022-05-24 12:03:00 +02:00
9fe66c563b admin/ui: Split settings page into sync and settings pages 2022-05-24 12:03:00 +02:00
70bad90756 sync: Handle overview.md and statement.md 2022-05-24 12:03:00 +02:00
f690a4e1c8 sync: Use goldmark instead of blackfriday 2022-05-22 19:10:17 +02:00
8b3fbdb64a admin: Use gin-gonic as router 2022-05-22 19:10:17 +02:00
83468ad723 admin: Fix toast with yes/no after sync 2022-05-17 18:18:33 +02:00
9d639a0315 sync: Non-empty directory without .git is Fatal 2022-05-17 18:18:33 +02:00
3c0751a78a sync: Fix division by zero 2022-05-17 18:18:33 +02:00
53e70b1eba admin: Can reset challengeInfo 2022-05-02 18:42:19 +02:00
c525acff20 settings: Add challenge subtitle 2022-05-02 18:42:19 +02:00
48ee5321a8 admin: Handle challenge info on settings page 2022-05-02 18:42:19 +02:00
dff4f4eb63 Distribute and handle challenge.json 2022-05-02 18:42:19 +02:00
e8f6a03cd9 settings: Rename struct to remove FIC occurence 2022-05-01 22:15:16 +02:00
457cd307dd admin: Can extract exercices as ZQDS session.yml 2022-05-01 22:05:26 +02:00
15afbb8b87 settings: Use pointer 2022-05-01 21:32:19 +02:00
5e4c14c634 admin: Make propagation time smarter
Some checks are pending
continuous-integration/drone/push Build is running
2022-02-03 16:56:34 +01:00
2cd40e64ab admin: Add description to fields 2022-02-03 16:53:59 +01:00
02bd5f316a admin: When deleting team, also delete associations 2022-02-03 10:16:52 +01:00
86748b36c8 sync: Use git reset --hard --recurse-submodule
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-22 08:10:53 +01:00
d4a81aa660 sync: Improve git sync reliability
Some checks are pending
continuous-integration/drone/push Build is running
2022-01-22 07:51:02 +01:00
01b05aaed0 Implement label only flag
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-21 13:26:52 +01:00
892bb99461 admin: Disable PKI regeneration in prod
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-21 11:09:16 +01:00
ce41ab76eb Upgrade bootstrap to 4.6.1
This fixes a bug with toast
2022-01-21 09:59:13 +01:00
b1315a9eeb admin: Auto change default value for unlockedChallengeDepth 2022-01-21 09:17:46 +01:00
15c85c8f59 admin: Add setting to differenciate real challenge from common tests 2022-01-21 09:10:18 +01:00
252ff33b83 sync: Allow Markdown in flag help 2022-01-21 09:00:22 +01:00
5a79343af8 Implement sort_regexp_validator_groups 2022-01-21 08:44:51 +01:00
40a9078b70 sync: Handle title.txt in exercice dir 2022-01-21 08:02:23 +01:00
63d8ae4ecd settings: Add an option to show MCQ distance from good 2022-01-21 08:02:23 +01:00
2645109839 admin: Display commit ID in admin interface 2022-01-21 08:02:23 +01:00
92bb409764 admin: Fix panic on not provided password 2022-01-20 14:44:11 +01:00
f8001653cd sync: Parse resolution.md 2021-12-11 11:20:44 +01:00
0cc72712a4 Trim flags to avoid mistakes due to empty lines or espaces... 2021-12-11 11:20:44 +01:00
e6d8f2db1b sync: Try to improve git-lfs support 2021-12-11 11:20:44 +01:00
c7569b5e54 Use pointer receiver more offen 2021-12-11 11:20:44 +01:00
8a6d480d17 sync: Make value lowercase if flag is not case sensitive 2021-12-11 02:02:06 +01:00
57d351c6c1 sync: Allow free hint 2021-12-11 02:02:06 +01:00
43be59b97d admin: Create a GitImporter based on git binaries 2021-12-11 02:02:06 +01:00
9fe1374a77 sync: Try to use a ssh key if no ssh-agent configured 2021-12-11 02:02:06 +01:00
724b00b825 repochecker: Enforce archive types 2021-12-11 02:02:06 +01:00
038abe450d admin: Add a route and a button to sync the filesystem 2021-12-11 02:02:06 +01:00
a06602a7e8 admin: Add new API route to perform smart theme update controled by hooks 2021-12-11 02:02:06 +01:00
995740e275 admin: Add a new option -4real to avoid mass progression deletion 2021-12-11 02:02:06 +01:00
49664c3dfe Implement radio flag type 2021-12-11 02:02:06 +01:00
61fccca070 Implement unit property for flags 2021-12-11 02:02:06 +01:00
c3742ade4e Implement number flags 2021-12-11 02:02:06 +01:00
495b08463f sync: Check that UCQ value is not 'true' nor 'false' 2021-11-14 17:30:29 +01:00
89ca192890 sync: Add Git Importer 2021-11-14 17:30:29 +01:00
aebfb7bf96 sync: Add Init and Sync functions
Init initializes the directory/repository before the first use.
Sync is called to unsure the directory is up-to-date.
2021-11-14 17:30:29 +01:00
08da42e273 dashboard/admin: Adapt to 16/9 2021-09-09 11:33:59 +02:00
105034ec8c Add global score coefficient 2021-09-09 11:33:59 +02:00
cd73622cae New settings to only count bad submissions 2021-09-09 11:33:59 +02:00
b887288c78 admin: Update way of modulus calculation 2021-09-09 11:33:59 +02:00
f6fec437f9 admin: Change challenge duration to 6h 2021-09-09 11:33:59 +02:00
cf1d8d9516 settings: Add IgnoreTeamMembers 2021-09-09 11:30:13 +02:00
b6ed4fd966 admin: Hide team's password by default on team page 2021-09-09 11:30:13 +02:00
ac4fc633ce admin: Bump to 1. 2021-09-09 11:30:13 +02:00
5eeb1a6297 admin: Handle team password 2021-09-09 11:21:29 +02:00
5fa94ecbed New project remote-scores-sync-zqds 2021-09-08 02:07:37 +02:00
63de5d64b1 fic: Pick HSL function to generate random colors 2021-09-08 02:07:37 +02:00
5c12963da8 fic: Add team's external_id to allow team and score synchronisation 2021-09-08 02:07:37 +02:00
abf0715dbf admin: Insert $team assignee in db automatically 2021-09-08 02:07:37 +02:00
2b58e707ca admin: precise kind of error when filling claim 2021-09-08 02:07:37 +02:00
74d77dce9f sync: Add partner's info 2021-09-08 02:07:37 +02:00
3c42bef298 CI: Fix compilation problems 2021-09-01 01:49:28 +02:00
dcb0cb315b admin: Can modify help and order props in ui
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-31 20:39:24 +02:00
6223d2be36 sync: Also import hints during speed sync 2021-08-31 19:34:47 +02:00
74e8c3801a fic: Add Order, Help and Type values in struct 2021-08-30 18:33:14 +02:00
867e9bb345 sync: Fix a div by 0 when no exercice detected in theme 2021-08-30 18:31:32 +02:00
7e9c2ccbe9 sync: Ignore some hidden files/dirs
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-30 11:32:23 +02:00
29607981e4 admin: Use relative path to call API 2021-07-22 16:17:03 +02:00
8f1b44e3dd New env variable FIC_BASEURL to change the base URL 2021-07-22 16:17:03 +02:00
7fc860edec admin: Embed static assets into binary 2021-06-09 23:26:40 +02:00
57fe1a7517 sync: Ignore exercice directories not containing at least - sep
Some checks reported errors
continuous-integration/drone/push Build was killed
2021-05-14 01:25:08 +02:00
8b261011b6 repochecker: new option avoiding failure if resolution.mp4 missing 2021-05-14 01:14:30 +02:00
9fa89e0793 repochecker: fix file concatenation 2021-05-14 00:42:40 +02:00
9dc1f401b7 Use go modules 2021-05-14 00:42:40 +02:00
f4dcaa23a3 QA: Add new script to migrate QA content from a DB to another 2021-02-05 16:56:27 +01:00
1445917fec Include all existing associations when generating htpasswd
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-30 05:13:56 +01:00
8e8fa7c61c sync: use Separator attribute
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-11 21:03:12 +01:00
911bcb032e Nouvelle option pour avoir un lien vers le rapport QA de l'exercice 2020-11-13 11:38:47 +01:00
1436d9ca81 admin: New route to reset settings to sane default values 2020-11-13 11:34:31 +01:00
a0155c6deb Replace old Help term by Placeholder
All checks were successful
continuous-integration/drone/push Build is passing
2020-09-07 19:34:10 +02:00
c9932cdaf6 admin: change exercice's Delete button to cascade deletion 2020-09-06 12:21:45 +02:00
130bb92dc8 admin: Fix some toast unreadable 2020-05-16 03:53:07 +02:00
5b84e4bfdb Fix exercices' theme loading in admin 2020-05-16 03:52:43 +02:00
64b9e9a251 New option to disallow team creation: join only 2020-05-16 03:51:36 +02:00
21cc875cc0 Update ficicon 2020-04-15 07:39:57 +02:00
adb424ea03 Use fmt.Errorf 2020-04-15 07:39:38 +02:00
45069d4fbb admin: replace notifications with bootstrap toast 2020-03-08 12:48:25 +01:00
e017e11f68 dashboard: add graph on side 2020-01-30 19:00:14 +01:00
5849648c70 admin: fix handling of description in claims 2020-01-30 19:00:14 +01:00
83ba3b88a5 dashboard: add trophee scene 2020-01-30 19:00:14 +01:00
66a72633d6 dashboard: generate a special teams.json with members for trophee scene 2020-01-30 19:00:14 +01:00
b9fa5accff dashboard: add graph score 2020-01-30 18:57:07 +01:00
35bd908374 admin: add graphique in public 2020-01-30 18:55:57 +01:00
7c84301c04 admin: implement Enter keypress on search 2020-01-30 18:55:57 +01:00
cb97af2f8a admin: redesign home page 2020-01-30 18:55:57 +01:00
4f237677e2 admin: version bump 2020-01-30 18:55:57 +01:00
5df1cc6e93 admin: add some stats about exercices 2020-01-30 18:55:57 +01:00
007efc6118 health: done 2020-01-30 18:55:57 +01:00
23b6b2b005 admin: handle case insensitive ucq 2020-01-30 18:55:56 +01:00
32fe61f557 admin: refresh claims list each 10s 2020-01-30 18:55:56 +01:00
d093f3670b admin: on pki page, press enter to associate certificate 2020-01-30 18:55:56 +01:00
3f692984c7 admin: new page to display exercices flags 2020-01-30 18:55:56 +01:00
0bc42282aa frontend: resize heading pictures as thumb file 2020-01-30 18:55:56 +01:00
b387f011d8 admin: add exercices stats accordion 2020-01-30 18:55:56 +01:00
f4c74f57d6 admin: Fix bad names in update choices 2020-01-30 18:55:56 +01:00
3cb4e98bd1 admin: display team and exercice in a new window 2020-01-30 18:55:56 +01:00
d944be349a admin: increase claim filtering 2020-01-30 18:55:56 +01:00
73eb3ab1c0 admin: count only levels of new claims owned 2020-01-30 18:55:56 +01:00
d8584a8a31 admin: can sort claim by last_update 2020-01-30 18:55:56 +01:00
83b7df7e69 admin: add message on claim state change and assignee change 2020-01-30 18:55:56 +01:00
e45a674937 admin: validate team association on enter press 2020-01-30 18:55:56 +01:00
e945071a10 admin: add a route and buttons to generate/delete fichtpasswd, if needed 2020-01-30 18:55:56 +01:00
a3ffdeae17 frontend: display issues related to the team 2020-01-30 18:55:56 +01:00
7bec409ab8 sync: fix hint dependancies error not reported 2020-01-30 18:55:56 +01:00
9d93331868 admin: display {hint,flag,mcq} dependancies on interface 2020-01-30 18:55:56 +01:00
ac9361b4ce admin: redesign propagation time button + can use propagation time in public timer 2020-01-30 18:55:56 +01:00
34a2370236 admin: can renew the PKI from interface 2020-01-29 16:02:30 +01:00
5c17dd4605 admin: add indication on how to use exercice dependancies 2020-01-29 16:02:30 +01:00
99e53ccfe6 admin: use hexadecimal certificate ID 2020-01-29 16:02:30 +01:00
e937073588 Files can now depends on MCQ 2020-01-29 16:02:30 +01:00
823328ead2 sync: fix file merging when using symlinks 2020-01-29 16:02:30 +01:00
6f64eaed95 admin: improve claims with menu 2020-01-29 16:02:30 +01:00
9186bbc229 frontend: add players possibility to report problems with exercices 2020-01-23 18:27:14 +01:00
32dc9c1a8c admin: improve claims with related exercices 2020-01-23 18:27:14 +01:00
2e3f7c6894 admin: claims now reference exercices 2020-01-23 18:27:14 +01:00
56b79cae2d admin: make claims more responsive 2020-01-23 18:27:14 +01:00
80a4192cb4 admin: add badge of new/mines tasks in menu 2020-01-23 18:27:14 +01:00
a4c87b92a5 admin: introducing speedy deep sync and themed deep sync 2020-01-23 18:26:30 +01:00
f7762c0828 sync: don't try to import part of splitted files, just import the whole file 2020-01-23 18:26:30 +01:00
2bae30a841 admin/api: new route to list remote files and their properties 2020-01-23 18:26:30 +01:00
084d39f6cf Fix typos 2020-01-23 18:26:30 +01:00
22c4835875 admin: use default bootstrap theme, even when served with frontend 2020-01-23 18:26:30 +01:00
4f6480d7f8 sync: add some precision around Empty flags detection 2020-01-23 18:26:30 +01:00
769158a9d7 repochecker: add new option -skipfiledigests to speed up the checks and avoid downloading lots of content 2020-01-23 18:26:30 +01:00
aee3500fdf sync: avoid depending on database when importing files 2020-01-23 18:26:30 +01:00
16c337c2bc Update angularJS, jQuery and bootstrap 2020-01-23 18:26:30 +01:00
aba311aebd sync: detect bad label wording 2020-01-23 18:26:30 +01:00
47ba134b55 Implement flag type 'text': this is like keys, but on multiple lines 2020-01-23 18:26:30 +01:00
8f998485bb sync: resize heading pictures 2020-01-23 18:26:30 +01:00
9983542653 admin: always use normalized hexadecimal certificate ID 2020-01-23 18:26:30 +01:00
546cae869b admin: passwd authentication can be made with team name or certificate ID 2020-01-23 18:26:30 +01:00
e4b740b5bc admin: Use SSHA password instead of APR1 2020-01-17 14:57:04 +01:00
572082cd5f fill_teams: also generate apr1 htpasswd 2020-01-17 14:57:04 +01:00
225f6d2c99 fill_team: fix generation of htpasswd 2020-01-17 14:57:04 +01:00
5ffbeabf5b fill_team: avoid \ char in password + fix substitution of UTF-8 chars 2020-01-17 14:57:04 +01:00
a475617657 admin: heath api now checks untreated files 2020-01-17 14:57:03 +01:00
b4fa57f9c9 sync: introducing showlines property for vectors
It allows players to know in advance how many items the vector is composed.
2020-01-17 14:57:03 +01:00
f3a34c00db sync: implement hint dependency on flags 2020-01-17 14:57:03 +01:00
9693940d8c sync: add logs on stderr when doing deepsync 2020-01-17 14:57:03 +01:00
d97ecde3fb sync: return binding between challenge.txt IDs and DB item 2020-01-17 14:57:03 +01:00
4a490b1a33 admin: PKI validity no more hardcoded 2020-01-17 14:57:03 +01:00
14f5cf29b7 dashboard: parametrize URL in welcome team 2020-01-17 14:57:03 +01:00
fbae34ee4f sync: add error message when missing heading.jpg 2020-01-17 14:57:03 +01:00