Commit Graph

334 Commits

Author SHA1 Message Date
42d594ccac qa: Add todo list on home page
All checks were successful
continuous-integration/drone/push Build is passing
2020-09-08 13:30:43 +02:00
a237936feb qa: New service to handle QA testing by students 2020-09-08 12:50:41 +02: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
7ad36f6141 libfic: fix exercice delete cascade: bad db column name and dependancy 2020-09-06 12:36:11 +02:00
16abc95b4f Fix DB issues 2020-05-16 03:49:27 +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
d66de6fb3c libfic: avoid infinite loop in db 2020-01-30 18:55:57 +01:00
5df1cc6e93 admin: add some stats about exercices 2020-01-30 18:55:57 +01:00
f4c74f57d6 admin: Fix bad names in update choices 2020-01-30 18:55:56 +01:00
edbac43423 frontend: allow players to respond to issues 2020-01-30 18:55:56 +01:00
d8584a8a31 admin: can sort claim by last_update 2020-01-30 18:55:56 +01:00
a3ffdeae17 frontend: display issues related to the team 2020-01-30 18:55:56 +01:00
4820d42327 Implement hint dependancy on mcq 2020-01-29 16:02:30 +01:00
6921431a77 Flag MCQ can now depend on MCQ 2020-01-29 16:02:30 +01:00
e937073588 Files can now depends on MCQ 2020-01-29 16:02:30 +01:00
f3fdb36929 Allow store files bigger than 4GB 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
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
47ba134b55 Implement flag type 'text': this is like keys, but on multiple lines 2020-01-23 18:26:30 +01:00
3465406b6f libfic: add missing tables during reset 2020-01-17 14:57:04 +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
698c2f1a47 libfic: add new functions to retrieve the Id of some contents from Title, Label, ... 2020-01-17 14:57:03 +01:00
6740256a32 sync: implement hint dependency on flags 2020-01-17 07:02:40 +01:00
97a3aa713f sync: fix hash computation by factorizing 2019-11-25 14:52:19 +01:00
4e01377a29 sync: search theme's label in a title.txt file, fallback on dirname 2019-11-25 14:52:19 +01:00
41a3279bf8 libfic: avoid stange MYSQL_HOST variable, expect IP or DN 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
ba5642da8f admin: new form to update history coefficient 2019-07-12 19:21:07 +02:00
4c7fd839b6 fixup! sync: Extract function that import flags from importer 2019-07-10 16:58:20 +02:00
4039a394b5 sync: Extract function that import flags from importer 2019-07-10 13:09:08 +02:00
3f55845374 sync: Extract function that import files from importer 2019-07-06 04:08:29 +02:00
682598fdbb sync: Extract function that builds a theme from importer 2019-07-06 03:28:44 +02:00
15d108497e backend: check the team has access to the exercice/flag before doing the action 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
6a1f73c895 admin: include coefficient in history.json 2019-02-06 03:40:49 +01:00
60ec9704e3 admin: add exercice history.json 2019-02-06 03:40:49 +01:00
2381fb490b libfic: fix checks in handling of team history deletiion 2019-02-06 03:40:49 +01:00
c4aa220b2c frontend: don't reuse tries in public interface; use a separate field to store total tries count for an exercice; and display it in interface 2019-02-06 03:40:48 +01:00
e97cf884ce libfic: add igncorecase flag to regexp related to ignorecase flag 2019-02-06 03:40:48 +01:00
db22c4af1b frontend: polish public version checks 2019-02-06 03:40:48 +01:00
c9347f45e2 dashboard: fix solved number in summary table 2019-01-23 18:29:52 +01:00
3f7e217316 db: store file size as unsigned int 2019-01-22 08:49:44 +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
48fcfec0d0 backend: use a new team field 'active', to avoid some team generation 2019-01-22 08:49:44 +01:00
f32e46c699 libfic: db: increase db boot time to 90 seconds 2019-01-22 08:49:44 +01:00
50a51ba628 libfic: Fix MCQ dependency on flag 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
cfb06009c9 Revert "db: cap the maximum number of simultaneous connections to the database"
This reverts commit 29ea78f0394a175100666894a15de056ce286b57.
2019-01-21 09:58:36 +01:00
6be7ba09a5 libfic: fix wipefiles: it didn't delete its dependencies 2019-01-21 09:58:36 +01:00
b6769086c2 frontend: treat MCQ justification as key flag, instead of special case 2019-01-21 09:58:36 +01:00
891b2ea6bf libfic: fix a potential memory/SQL connection leak 2019-01-21 09:58:36 +01:00
4a4d0f634a settings: add new coefficient for all exercices 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
5d31ac6e04 libfic: implement more dependancies kind 2019-01-21 09:58:35 +01:00
1e183f60ee libfic: extract validation_regexp execution 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
f3eabd74fc admin: add wchoices in team_history.json 2019-01-21 03:08:06 +01:00
1b75547308 db: cap the maximum number of simultaneous connections to the database 2019-01-21 03:08:06 +01:00
aa3750bb68 dashboard: improve general design (mostly events related) 2019-01-21 03:08:06 +01:00
78b6211b94 include id_theme in Exercice struct 2019-01-21 03:08:06 +01:00
a1c94d582d admin: score grid is a JSON to display scoring detail for a team 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
8dc460b507 rank: count wchoices in score 2019-01-21 03:08:05 +01:00
2c5144aac0 fic: improve ranking query lisibility 2019-01-21 03:08:05 +01:00
74550f8907 rank: fix long running scoring error 2019-01-21 03:08:05 +01:00
dc4a4925e3 sync: refactor exercice synchronization 2019-01-21 03:08:05 +01:00
7f2ae673d0 sync: try to remove old exercice without any player try 2019-01-21 03:08:04 +01:00
c05609f85f fic: fix exercice indicated as solved 2019-01-21 03:08:04 +01:00
0e36a850cf Array flags can be non-ordered 2019-01-21 03:08:04 +01:00
dbf1985d25 Implement flag arrays 2019-01-21 03:08:04 +01:00
3ad7976e4b libfic: simplify git usability of the reset list 2019-01-21 03:08:04 +01:00
476f0f553c implement choices_cost 2019-01-21 03:08:04 +01:00
f9abdd23c6 Dependancy between flags 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
87471acf98 sync: import files in markdown, relative to theme/exercice dir 2019-01-21 03:08:04 +01:00
8c95782eff Implement and display headlines in interface 2019-01-21 03:08:02 +01:00
614003a7cd libfic: handle mcq in team history 2019-01-21 03:07:47 +01:00
c5b65289d3 Add new helper string related to justified MCQ flag 2019-01-21 03:07:47 +01:00
0f48b27a04 Avoid Atoi to avoid int convertion 2019-01-21 03:07:47 +01:00
d40922629b Utilise a new field to send justifications instead of too complex guessing crap 2019-01-21 03:07:47 +01:00
69a866bbbf frontend: when a justification is valid, check the MCQ box 2019-01-21 03:07:47 +01:00
3dcb233c3f handle justified MCQ in interface and submission 2019-01-21 03:07:47 +01:00
01368dd6f4 frontend: expose UCQ choices 2019-01-21 03:07:47 +01:00
5c742834ea frontend: public part now validate through blake2b.js flags and MCQs 2019-01-21 03:07:47 +01:00
8ac2776cca Export help format string in my.json 2019-01-21 03:07:47 +01:00
195490484c Change exported flags format in my.json 2019-01-21 03:07:47 +01:00
17ef0b0a32 libfic: fix hint deletion in team history 2019-01-21 03:07:47 +01:00
0effdbcf5e Themes can have header image 2018-12-09 20:41:43 +01:00
d7553f0392 Handle justified MCQ in admin and sync part 2018-12-08 20:35:36 +01:00
488a032eba Handle choices in UCQ (db, sync done) 2018-12-08 20:35:36 +01:00
333bb408e1 backend: save the checksum of each try, to be able to detect duplicates after 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
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
1e2a74f3ca sync: add dependency on flag to download file 2018-12-08 03:23:08 +01:00
dcfb34c6fd libfic: fix missing field retrieve in EFile 2018-12-08 03:23:08 +01:00
2a941a4fc7 db: support real UTF-8
https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
2018-12-08 03:23:08 +01:00
20dfd99ec0 admin: new route to check file on disk 2018-12-08 03:23:08 +01:00
5b30788cff libfic: Fix a nil dereference when checking size of not found files 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
cb02fa98dd libfic: fix WipeMCQ which didn't work 2018-12-08 03:23:07 +01:00
d05c211a7c sync/file: hide by default the whole calculated digest
This is to avoid direct copy/paste to DIGESTS.txt without real local calculation.
2018-12-08 03:23:07 +01:00
Thibaut
12cb4e95f4 libfic: update SQL modes to be compatible with lastest MySQL version 2018-06-05 13:37:03 +02:00
f70fb20a70 reset db: use transaction when turncating tables 2018-05-13 14:16:06 +02:00
dcb67fba63 Docs, docs, docs! 2018-05-13 14:15:07 +02: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
62aea5413e use more official blake2b checksum 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
1e36eb8b2f events.json: display 10 events instead of 6 2018-05-11 05:27:51 +02:00
91663f55af my-public.json: prefer display overview instead of statement, if available 2018-05-11 05:27:51 +02:00
3c8f9e55b6 db: allow multiple identical events 2018-05-11 05:27:51 +02:00
627c28cd94 libfic: don't show useless decimals to gain 2018-05-11 05:27:50 +02:00
6d1ef0f51c admin: new route to fill URLIds if they are not defined 2018-05-11 05:27:50 +02:00
8ae4d1c42f libfic: remove trailing - at the end of some urlids 2018-05-11 05:27:50 +02:00
3f1f60030c db: increase DB connection retries 2018-05-11 05:27:50 +02:00
c118035c33 Introducing new PKI management 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
3932bba83d db: when DB is unreachable, retry 5 times before fatal return 2018-01-18 12:08:12 +01:00
e7d3e34c0b libfic: explode theme file 2018-01-18 12:08:12 +01:00
beba0a615f improve overall exercices interfaces 2018-01-18 12:08:12 +01:00
11d0fe8d1f admin/sync: handle hint files download 2018-01-18 12:08:12 +01:00
2aa1d6eeca libfic: fix bad hints displayed 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
184714aeeb frontend: team registration 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
a0737d91b9 libfic: force MySQL charset 2018-01-17 18:52:47 +01:00
4052969304 libfic/mcq: remove Kind, as we can only handle checkbox; another kind of record should be created to handle select/radio 2018-01-17 18:52:46 +01:00
e630bc3d75 Improve bootstrap 4 support 2018-01-17 18:52:46 +01:00
838918da66 Exercice: add overview field
This field is use as a high level description of the exercice. It will be
displayed on the public interface only: not to players.
2018-01-17 18:52:45 +01:00
830dacd6f5 Save MCQ diff 2018-01-17 18:52:45 +01:00
b079f7891c admin: sync mcq/ucq 2018-01-17 18:52:45 +01:00
d6012dfffb frontend: display MCQ in interface 2018-01-17 18:52:45 +01:00
6903c91df2 Able to check MCQ 2018-01-17 18:52:44 +01:00
c36cd202e8 libfic: start working on MCQ: structures done 2018-01-17 18:52:44 +01:00
9a9d5fcda4 libfic: Type key is now Label 2018-01-17 18:52:41 +01:00
ae7e1ede14 libfic: increase authors field size 2018-01-17 18:52:40 +01:00
38d7cb00b6 libfic: add function to get exercice by title 2018-01-17 18:52:40 +01:00