Commit Graph

265 Commits

Author SHA1 Message Date
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
c7569b5e54 Use pointer receiver more offen 2021-12-11 11:20:44 +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
c3742ade4e Implement number flags 2021-12-11 02:02:06 +01: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
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
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
74e8c3801a fic: Add Order, Help and Type values in struct 2021-08-30 18:33:14 +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
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
adb424ea03 Use fmt.Errorf 2020-04-15 07:39:38 +02:00
66a72633d6 dashboard: generate a special teams.json with members for trophee scene 2020-01-30 19:00:14 +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
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
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
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
9d93331868 admin: display {hint,flag,mcq} dependancies on interface 2020-01-30 18:55:56 +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
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
a4c87b92a5 admin: introducing speedy deep sync and themed deep sync 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
47ba134b55 Implement flag type 'text': this is like keys, but on multiple lines 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
a475617657 admin: heath api now checks untreated files 2020-01-17 14:57:03 +01:00
f3a34c00db sync: implement hint dependency on flags 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
5dcb13629a admin: display on interface time synchronization diff 2020-01-17 14:57:03 +01:00
f2fc142869 api: remote route takes advantage from builds functions 2019-11-25 14:52:19 +01:00
8131fda0e7 admin: display file dependancies and be able to remove them 2019-07-21 23:50:26 +02:00
973363b3da admin/api: refactor file API 2019-07-21 21:55:11 +02:00
ba5642da8f admin: new form to update history coefficient 2019-07-12 19:21:07 +02:00
4039a394b5 sync: Extract function that import flags from importer 2019-07-10 13:09:08 +02:00
682598fdbb sync: Extract function that builds a theme from importer 2019-07-06 03:28:44 +02:00
b778d29dd9 admin: allow certid to finish by .p12, to permit downloading .p12 file 2019-02-06 03:40:49 +01:00
14d31737e0 admin: new route and interface to manage symlink for team association exclusing certificates 2019-02-06 03:40:49 +01:00
a35aa7be70 admin: add a new route to update team history coefficient 2019-02-06 03:40:49 +01:00
60ec9704e3 admin: add exercice history.json 2019-02-06 03:40:49 +01:00
650f1f4d59 admin: add a new route to generate a file for movie links 2019-02-06 03:40:48 +01:00
8abe57ffb6 admin: new API route to display local monitoring infos 2019-01-22 08:50:18 +01:00
eee2cd6a2f admin: add a button to edit the raw flag value instead of the checksum 2019-01-22 08:49:44 +01:00
088c2402cd admin: add button to disable inactive teams 2019-01-22 08:49:44 +01:00
7d9ad18f42 settings: new parameter to don't respect flag dependancies 2019-01-22 08:49:44 +01:00
a4e0a90adf dashboard: can now change the sidebar 2019-01-21 09:58:36 +01:00
4ee70a8781 settings: change param to enable/disable depends by the depth 2019-01-21 09:58:36 +01:00
5d432cdcfc admin: API version bump 2019-01-21 09:58:36 +01:00
7227c7109e admin: add a progression indicator for the deep synchronization 2019-01-21 09:58:36 +01:00
8e6b8829ea libfic: new way to handle exercice dependancies 2019-01-21 09:58:36 +01:00
c5f8288f39 settings: add coefficient to hint and wchoices 2019-01-21 09:58:36 +01:00
2623d9dd61 admin: new route to generate htpasswd corresponding to certificate in use by team 2019-01-21 09:58:36 +01:00
6925614f49 admin/api: use libfic struct instead of api one 2019-01-21 09:58:36 +01:00
0f9cc39cc7 Update PKI dates 2019-01-21 09:58:35 +01:00
a66d6885e7 Refactor flags
Both QCM and Key are Flag
2019-01-21 09:58:35 +01:00
93f36faafe admin: new route to export nginx translation file from team name to team_id 2019-01-21 09:58:35 +01:00
a1c94d582d admin: score grid is a JSON to display scoring detail for a team 2019-01-21 03:08:05 +01:00
5dbf60eaa2 admin: new route to try a flag 2019-01-21 03:08:05 +01:00
910ec94fd8 Add a new setting to don't count same responses in scores 2019-01-21 03:08:05 +01:00
7edd70c3c0 admin: apply settings to internal structures
This allows scores and rank to be properly generated in admin interface.
2019-01-21 03:08:05 +01:00
d6dfdbc238 admin: generate events file on delete 2019-01-21 03:08:05 +01:00
7970b552e9 dashboard: move public.json files into a dedicated directory 2019-01-21 03:08:05 +01:00
2ccc59b4fa admin: add the ability to sync only one exercice 2019-01-21 03:08:05 +01:00
476f0f553c implement choices_cost 2019-01-21 03:08:04 +01:00
21697f01ca New field for exercice to display a text after exercice validation 2019-01-21 03:08:04 +01:00
8c95782eff Implement and display headlines in interface 2019-01-21 03:08:02 +01:00
0f48b27a04 Avoid Atoi to avoid int convertion 2019-01-21 03:07:47 +01:00
ad6fe0394f admin: API version bump 2019-01-21 03:07:47 +01:00
3a0c892148 sync: import heading theme image 2019-01-21 03:07:45 +01:00
488a032eba Handle choices in UCQ (db, sync done) 2018-12-08 20:35:36 +01:00
44d335bc9f Add issue field for exercice, to be able to communicate about problem with exercice 2018-12-08 20:35:36 +01:00
6b54704d59 admin: can perform mass editing on exercices 2018-12-08 20:35:36 +01:00
f183985982 admin: Add exercice's tags: sync, api, interface done 2018-12-08 20:35:36 +01:00
ff56ec9fe3 libfic/flag: add validatorRegexp field 2018-12-08 20:35:32 +01:00
d21f3b0b83 Rename Exercice's Keys as Flags 2018-12-08 20:34:04 +01:00
f36e1c4e4d Stores ignorecase property for flags 2018-12-08 20:33:39 +01:00
2a6fbd4e32 admin&sync: insert format helper in database 2018-12-08 20:32:33 +01:00
20dfd99ec0 admin: new route to check file on disk 2018-12-08 03:23:08 +01:00
af2fe21d73 admin: initialize directory structure and required files at launch 2018-12-08 03:23:08 +01:00
6034246015 Retrieve time through X-FIC-Time header instead of time.json 2018-12-08 03:23:08 +01:00
9ab5738cff admin/sync: theme's name is now part of the theme's dirname 2018-12-08 03:23:07 +01:00
3a65363ebb admin: implement MCQ edition in interface 2018-12-08 03:23:07 +01:00
Thibaut
3b7d9a2a75 sync: handle new sync format: flags 2018-12-08 03:23:07 +01:00
156a87abc0 admin/pki: use symlink instead of DB to associate certificate to team 2018-05-11 15:03:10 +02:00
bcc598ebd5 Write docs! 2018-05-11 15:03:09 +02:00
0ec90b14c6 Fixes thanks to go vet 2018-05-11 05:27:51 +02:00
68e5c4cd2b pki: improve serial number generation + fix team association
Replace math/rand by crypto/rand.

Fix big when associating certificate with leading zero: nginx prepend 0 wherehas we don't.
2018-05-11 05:27:51 +02:00
ff98bfa79f admin: can edit flags after creation 2018-05-11 05:27:51 +02:00
45620ba4c2 admin: try to generate events.json file 2018-05-11 05:27:51 +02:00
6d1ef0f51c admin: new route to fill URLIds if they are not defined 2018-05-11 05:27:50 +02:00
4dbfffef7b admin: bump new API version 2018-05-11 05:27:50 +02:00
c18465d498 Reserved directory for public interface now lives in public instead of _public 2018-05-11 05:27:50 +02:00
c118035c33 Introducing new PKI management 2018-05-11 05:27:50 +02:00
5b558bcf00 admin/api: bytes handlers now returned data as application/octet-stream 2018-05-11 05:27:50 +02:00
992221a6da Remove old PKI 2018-05-11 05:27:50 +02:00
e083da2f72 Remove team's initial_name, replaced by their ID 2018-05-11 05:27:50 +02:00
0c540a39eb frontend: beautiful URLs 2018-01-26 12:02:32 +01:00
1eef71923a admin: new interface to manage claims 2018-01-18 12:08:12 +01:00
87428909b2 admin: avoid CSRF: use POST instead of GET, mainly for synchronisation methods 2018-01-18 12:08:11 +01:00
9a1a64c41c admin: complet API and interface with files checking page 2018-01-18 12:08:11 +01:00
ea3f3b709d admin/sync: import theme introductions 2018-01-18 12:08:10 +01:00
e9910fe827 admin: can delete team history item 2018-01-17 18:52:48 +01:00
bc9d27aa94 public: can control up to 9 separate displays 2018-01-17 18:52:47 +01:00
edc6ca9b7a change request log format, close to nginx ones 2018-01-17 18:52:45 +01:00
48e6ba7861 admin: add route to handle quiz 2018-01-17 18:52:45 +01:00
b079f7891c admin: sync mcq/ucq 2018-01-17 18:52:45 +01:00
92c7de942b admin: API version bump 2018-01-17 18:52:42 +01:00
3d59042802 admin: sync.ImportFile takes Importer as first arg 2018-01-17 18:52:41 +01:00
9a9d5fcda4 libfic: Type key is now Label 2018-01-17 18:52:41 +01:00
a1c6eadbe5 Display read-only settings for information purpose 2018-01-17 18:52:41 +01:00
6ef91a92e5 Perform full deep synchronisation 2018-01-17 18:52:41 +01:00
993b83f8e7 admin: can sync exercices 2018-01-17 18:52:40 +01:00
762d3a5222 admin: synchronization of exercices, files, hints and keys 2018-01-17 18:52:40 +01:00
38a0f4c9b5 libfic: Add new row in exercices table, to store relative path to exercice 2018-01-17 18:52:40 +01:00
4d1dde4528 admin: Implement theme synchronization 2018-01-17 18:52:39 +01:00
8f7de926d3 admin: Implement sychronization backends
We are now able, depending on configuration, to retrieve files from either WebDAV or local file system.
2018-01-17 18:52:39 +01:00
cd5a9d06ea Define global default value at initialisation 2018-01-17 18:52:39 +01:00
e6e6e6c206 Use BLAKE2b checksum instead of SHA-1 and SHA-512 2018-01-17 18:52:38 +01:00
9325419002 import: avoid ugly padding = at the end of base32 pathname 2018-01-17 18:52:38 +01:00
f17541e252 Move settings and started file into SETTINGS directory 2018-01-17 18:52:38 +01:00
41400a8710 admin: add history route in API 2018-01-17 18:52:37 +01:00
88ef2f64c0 admin: ensure _public is created at startup 2018-01-17 18:52:36 +01:00
d03350f6b3 Fix generated JSON in case of error 2018-01-17 18:52:35 +01:00
2e8d28542e admin: unify API to revoke certificates 2018-01-17 18:52:34 +01:00
6148897dac settings: add title and authors 2018-01-17 18:52:33 +01:00
7597fcfe5b admin: add button and route to reset some parts 2018-01-17 18:52:32 +01:00
7478051425 admin: interface to edit teams 2018-01-17 18:52:32 +01:00
17f51f5e7b admin: can force page regeneration 2018-01-17 18:52:31 +01:00
544bbb745c admin: new route /members/ 2018-01-17 18:52:31 +01:00
416ad65c87 admin: add public interface management 2018-01-17 18:52:31 +01:00
d4177f6228 admin: allow import of remote hint and partials remote parts 2018-01-17 18:52:31 +01:00
b8b1f14806 admin: restore function to add team and members 2018-01-17 18:52:31 +01:00