Commit Graph

775 Commits

Author SHA1 Message Date
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
26eab7ed67 sync: import heading.jpg only in Sync phase 2020-01-17 14:57:03 +01:00
5dcb13629a admin: display on interface time synchronization diff 2020-01-17 14:57:03 +01:00
6740256a32 sync: implement hint dependency on flags 2020-01-17 07:02:40 +01:00
cefed3bf23 admin: fix synchronisation when idtheme is not in url 2019-11-25 14:52:19 +01:00
97a3aa713f sync: fix hash computation by factorizing 2019-11-25 14:52:19 +01:00
0766fbe480 sync: don't rely on map order to import flags
Sometimes, maps order doesn't match file order. Return flag ID as
list to keep the order.
2019-11-25 14:52:19 +01:00
Tristan Ruter-Naon
cb7f3326c4 admin: fix typo 2019-11-25 14:52:19 +01:00
f2fc142869 api: remote route takes advantage from builds functions 2019-11-25 14:52:19 +01:00
ca891cd9b2 sync: Fix non-import of MCQ during sync 2019-11-25 14:52:19 +01:00
6265f85149 sync: Implement vector flags 2019-11-25 14:52:19 +01:00
99fcc99e82 sync: turn IgnoreCase on by default with reverse field CaseSensitive 2019-11-25 14:52:19 +01:00
33f7d104e4 sync: MCQ justifications are given in the choice tag directly 2019-11-25 14:52:19 +01:00
d7f0425d8a repochecker: Fix given URL to documentation 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
846f2ce8a4 admin: Double check before doing dangerous actions in settings panel
Suggested-by: Nicolas Ribeyrolle <nicolas.ribeyrolle@epita.fr>
2019-11-25 14:52:19 +01:00
8e618565ad sync: Fix long running bug known as "why my fresh uploaded file is now empty again"
Thanks to Nicolas Ribeyrolle
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
c8ece39cb2 sync: alert about unknown keys in challenge.txt 2019-07-21 22:38:45 +02:00
936ef09e33 admin: fix strange behaviour when deleting some items 2019-07-21 21:55:36 +02:00
973363b3da admin/api: refactor file API 2019-07-21 21:55:11 +02:00
3e5b4ebad2 admin: add missing default settings 2019-07-12 19:22:05 +02:00
ba5642da8f admin: new form to update history coefficient 2019-07-12 19:21:07 +02:00
3bcac39f5f FIC2020 logo 2019-07-10 17:41:07 +02:00
32f1c86519 sync: ignore directory beginning with . (like .git) 2019-07-10 13:09:08 +02:00
eb95d861d3 sync: Extract function that import hints from importer 2019-07-10 13:09:08 +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
3f99771910 sync: Extract function that builds an exercice from importer 2019-07-06 03:28:44 +02:00
682598fdbb sync: Extract function that builds a theme from importer 2019-07-06 03:28:44 +02:00
771627a0da pki: fix team association, complement to 68e5c4cd2b
The fix introduced in the referenced commit was not working.

This time, it has been tested with the following commands:

	# Associate all certificate to a team
	curl http://localhost:8081/api/certs/ | jq -r .[].id | while read CERTID; do curl -X PUT -d '{"id_team":1}' http://localhost:8081/api/certs/$CERTID; done

	# For each certificate associated with the team, try to connect to the server with each certificate. Report failing certificates.
	curl -s http://localhost:8081/api/teams/1/certificates | jq -r '.[] | .id + " " + .password' | while read CERTID PASSWORD; do curl -sf --cert-type P12 --cert $CERTID.p12:$PASSWORD https://fic.srs.epita.fr/my.json > /dev/null || echo $CERTID; done
2019-02-06 03:40:49 +01:00
b778d29dd9 admin: allow certid to finish by .p12, to permit downloading .p12 file 2019-02-06 03:40:49 +01:00
703eaef880 admin: display serial in hexadecimal 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
2b95995104 settings: add canJoinTeam parameter 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
34d2054e04 sync: avoid useless line break at the end of markdown processing 2019-02-06 03:40:49 +01:00
473332e101 admin: show only active team in export 2019-02-06 03:40:48 +01:00
73db9da682 admin: thanks to ng-base, don't need other modifications 2019-02-06 03:40:48 +01:00
650f1f4d59 admin: add a new route to generate a file for movie links 2019-02-06 03:40:48 +01:00
1757b40a9c Remove old unused files 2019-02-06 03:40:48 +01:00
5714e8f41b admin: start adding monitor 2019-01-23 02:25:19 +01:00
fa2d514bbc dashboard: add rank on the side 2019-01-23 01:38:00 +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
48fcfec0d0 backend: use a new team field 'active', to avoid some team generation 2019-01-22 08:49:44 +01:00
19b57f5908 admin: read sync import in settings page 2019-01-22 08:49:44 +01:00
58dbd9499b sync: fix report display with some security headers 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
24989c4cfa settings: new option to disable event fetch from server side 2019-01-21 09:58:36 +01:00
a4e0a90adf dashboard: can now change the sidebar 2019-01-21 09:58:36 +01:00
8190bbfdc0 Update bootstrap 2019-01-21 09:58:36 +01:00
6042f9b477 sync: check video file size during import process 2019-01-21 09:58:36 +01:00
2ac205bf83 admin: add a page to view resolution video 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
d9fb261232 sync: import files first during the full import, to permit file dependency to flag 2019-01-21 09:58:36 +01:00
4f98536f91 sync: import MCQ justification as Flag 2019-01-21 09:58:36 +01:00
07ec6cb613 sync: Use hint title if provided 2019-01-21 09:58:36 +01:00
2879b697c0 sync: fix ordered import 2019-01-21 09:58:36 +01:00
cf3c4b998f admin: add new event button on event-details page 2019-01-21 09:58:36 +01:00
8749a7c164 Make go vet -strictshadow mostly happy 2019-01-21 09:58:36 +01:00
af1cecd3ce admin: highlight revoked certificates on PKI page 2019-01-21 09:58:36 +01:00
024ae04f45 admin: new page to see score details 2019-01-21 09:58:36 +01:00
4a4d0f634a settings: add new coefficient for all exercices 2019-01-21 09:58:36 +01:00
9be56fb9a2 settings: new option to postpone the activation of the given settings file 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
ff3dec059c sync: Refactor exercice flags 2019-01-21 09:58:35 +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
25b23e7ae0 sync: fix message 2019-01-21 03:08:06 +01:00
ba9bf4ef45 sync: ignore bad named directory when looking for dependancies 2019-01-21 03:08:06 +01:00
d1e98fc4f9 admin: fix bad location change after exercice deletion 2019-01-21 03:08:06 +01:00
0d8505131e sync: automatically add &nbsp; before ponctuation 2019-01-21 03:08:06 +01:00
0075bdeb52 admin: update public screen presets 2019-01-21 03:08:06 +01:00
8c87451d80 sync: better trim authors lines 2019-01-21 03:08:06 +01:00
f3eabd74fc admin: add wchoices in team_history.json 2019-01-21 03:08:06 +01:00
99ef5046db admin: add button to move to previous and next exercice 2019-01-21 03:08:06 +01:00
aa3750bb68 dashboard: improve general design (mostly events related) 2019-01-21 03:08:06 +01:00
83ad6340b2 admin: display important information first
No more useless column, link with theme when possible
2019-01-21 03:08:06 +01:00
81ce648b5d admin: add related theme in exercice list page 2019-01-21 03:08:06 +01:00
69979ced1d admin: able to download files through /files/ route 2019-01-21 03:08:06 +01:00
85658bb3c6 admin: secondary formating 2019-01-21 03:08:05 +01:00
4de0c64672 fill_teams.sh: add a new option to generate password 2019-01-21 03:08:05 +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
d89cd2f0ca sync: Allow \r at EOL in DIGESTS 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
485ffafc9a admin: display errmsg 2019-01-21 03:08:05 +01:00
d1ce2a0740 Wording: tentative is better than soumission 2019-01-21 03:08:05 +01:00
819614278f Update bootstrap 2019-01-21 03:08:05 +01:00
c02b30409b use clearfix feature from bootstrap 2019-01-21 03:08:05 +01:00
c877da1161 admin: use accordeon on exercice page 2019-01-21 03:08:05 +01:00
07dcc1804b admin: new button in navbar to regenerate static files 2019-01-21 03:08:05 +01:00
f2e1268398 admin: rearrange settings page 2019-01-21 03:08:05 +01:00
6aacce23ca admin: add the ability to deep sync from interface 2019-01-21 03:08:05 +01:00
4dba8dc882 admin: improve notify with HTML, margins, ... 2019-01-21 03:08:05 +01:00
b2e639697f admin: place notify at the bottom of the screen 2019-01-21 03:08:05 +01:00
5ad7d208b3 admin: fix notify closing 2019-01-21 03:08:05 +01:00
d1a41bbcb7 admin: add time progress bar 2019-01-21 03:08:05 +01:00
ff3e83e9ee admin: theme page format 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
dc4a4925e3 sync: refactor exercice synchronization 2019-01-21 03:08:05 +01:00
c8cbbcb84d admin: use common.js as well 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
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
deb12052b5 sync: include headline in exercice overview, as it is difficult to retrieve otherwise 2019-01-21 03:08:04 +01:00
99024ee5ce admin: Improve public interface 2019-01-21 03:08:04 +01:00
d25462177e admin: improve claim interface 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
abd7fc6bef sync: randomize imports: themes order, MCQ and UCQ choices 2019-01-21 03:07:47 +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
11e0b46034 pki: fix out-of-bound error when a symlink directory doesn't contain a serial 2019-01-21 03:07:47 +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
168e7cd636 frontend: use a menu to group scenarii 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
44d335bc9f Add issue field for exercice, to be able to communicate about problem with exercice 2018-12-08 20:35:36 +01:00
0654033721 admin: use toolbar inside exercice details 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
665fd301c6 admin: avoid HTML button without type 2018-12-08 20:35:36 +01:00
1c09ae2fa8 admin: Continue refactoring of exercice view 2018-12-08 20:35:36 +01:00
06dcd0c2b7 admin: Refactor exercice page to include regexp validator 2018-12-08 20:35:36 +01:00
5eaf1926c1 Update angulasJS 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
3146e75ead sync: rehandle dependency, trivial processing 2018-12-08 20:32:36 +01:00
2a6fbd4e32 admin&sync: insert format helper in database 2018-12-08 20:32:33 +01:00
971273a185 admin: improve usability of theme edition page 2018-12-08 03:23:08 +01:00
1e2a74f3ca sync: add dependency on flag to download file 2018-12-08 03:23:08 +01:00
f9e1cf6691 sync: add a new section to allow locking file waiting flag validation 2018-12-08 03:23:08 +01:00
da2a88a3a6 sync: parse complex AUTHORS.txt as described in README 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
af2fe21d73 admin: initialize directory structure and required files at launch 2018-12-08 03:23:08 +01:00
7da6f5cd0c settings: add VideosLink parameter 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
c33390fa80 sync: import texts as Markdown 2018-12-08 03:23:08 +01:00
be7a159815 sync: Perfers content from challenge.txt to import hints 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
66391baeef sync: alert when imported file is empty 2018-12-08 03:23:07 +01:00
a6bc0727b2 admin: use spacing bootstrap utility 2018-12-08 03:23:07 +01:00
3a65363ebb admin: implement MCQ edition in interface 2018-12-08 03:23:07 +01:00
92ba880006 sync: save import_report into StaticDir 2018-12-08 03:23:07 +01:00
e6b1b932f4 sync: fix synchronized URLId 2018-12-08 03:23:07 +01:00
Thibaut
3b7d9a2a75 sync: handle new sync format: flags 2018-12-08 03:23:07 +01:00
Thibaut
af55c5af9f sync: handle new sync format: extends challenge defines 2018-12-08 03:23:07 +01:00
Thibaut
d303ecfa38 sync: handle new sync format: filenames and locations 2018-06-22 20:34:35 +02:00
492ab72dcd sync: read UTF8 string, don't expect sane encoding from imported files, just force it 2018-05-13 14:16:06 +02:00
e126743d69 sync: Update specifications
Add same constraint for hint files than files (need DIGESTS.txt).
Update flag_ucq usage (difference between value and label).
2018-05-13 14:16:06 +02:00
dcb67fba63 Docs, docs, docs! 2018-05-13 14:15:07 +02:00
12a85ee804 admin: fix bootstrap 4.0 custom checkbox 2018-05-11 15:03:11 +02:00
0d125071ef admin/sync: update README.md to introduce new syntax of the year 2018-05-11 15:03:10 +02:00
1a959862f1 admin/sync: fill README.md with synchronisation instructions for students 2018-05-11 15:03:10 +02:00
156a87abc0 admin/pki: use symlink instead of DB to associate certificate to team 2018-05-11 15:03:10 +02:00
b0f81c59d4 Update logo to FIC 2019 developers 2018-05-11 15:03:10 +02:00
bcc598ebd5 Write docs! 2018-05-11 15:03:09 +02:00
c460bb7bf5 Handle graceful http shutdown 2018-05-11 05:27:51 +02:00
0ec90b14c6 Fixes thanks to go vet 2018-05-11 05:27:51 +02:00
4b538cdea8 admin: improve exercice-list 2018-05-11 05:27:51 +02:00
a78973be29 admin: fix margin mess in menus 2018-05-11 05:27:51 +02:00
4077431ef0 admin: remove last occurence of initialName 2018-05-11 05:27:51 +02:00
faab83e037 admin: improve claim-list usability 2018-05-11 05:27:51 +02:00
00688cb996 public: news carousel for ranking 2018-05-11 05:27:51 +02:00
62aea5413e use more official blake2b checksum 2018-05-11 05:27:51 +02:00
1dcebc4eca public: new carousels in pubic interface: teams and exercices
+ fix autocarousel directive
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
3ed8c619b1 admin: disable revoke button when already revoked 2018-05-11 05:27:51 +02:00
ff98bfa79f admin: can edit flags after creation 2018-05-11 05:27:51 +02:00
167a6ae1cb admin: fix some details about times 2018-05-11 05:27:51 +02:00
45620ba4c2 admin: try to generate events.json file 2018-05-11 05:27:51 +02:00
3aadab40b0 public interface: random fixes 2018-05-11 05:27:51 +02:00
e53bcadc05 admin: add happy hour preselect public scene 2018-05-11 05:27:51 +02:00
1110afa058 public front: can choose levels to display in levels table 2018-05-11 05:27:51 +02:00
bd924150eb public front: add new carousel displaying themes 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
59beafb314 admin/pki: avoid some hard to read characters in password 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
bbaf0ed9d9 Update to angularJS 1.6.8 2018-01-26 12:02:32 +01: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
ca41e4edee admin/sync: defines.txt can also contains informations about hints 2018-01-18 12:08:12 +01:00
332aa90931 admin/sync: handle exercice gain from toml file: defines.txt 2018-01-18 12:08:12 +01:00
494ccb740b admin/sync: tiny refactor 2018-01-18 12:08:12 +01:00
1b852f255e admin: autofocus search fields 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
6cc40be36a admin/sync: rename Indice to Astuce 2018-01-18 12:08:12 +01:00
db9077a85c admin/sync: add stat method to importer 2018-01-18 12:08:12 +01:00
57758cd018 admin/sync: avoid error when no depends.txt exists 2018-01-18 12:08:12 +01:00
24f527ab8a admin/sync: includes mcq and ucq in full synchronization 2018-01-18 12:08:12 +01:00
935b1666ac admin/sync: Add last sync date into full_import_report 2018-01-18 12:08:12 +01:00
809d166a2d admin/sync: avoid false positive when no files are distributed 2018-01-18 12:08:12 +01:00
fc902e1063 admin/sync: import resolution movies 2018-01-18 12:08:12 +01:00
5e2e03f5e9 admin: can edit theme introductions 2018-01-18 12:08:11 +01:00
0f9c8e0335 admin: use light text on dark background in interface 2018-01-18 12:08:11 +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
bc135d00c5 admin: general statistics 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
baf992bccb admin: fix camembert size overflow 2018-01-17 18:52:47 +01:00
ba88129580 Improve public screen page 2018-01-17 18:52:47 +01:00
55f87f7a67 Bring back glyphicons to life 2018-01-17 18:52:46 +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
eee1558dd9 admin/sync: new error on flags import 2018-01-17 18:52:46 +01:00
a0a2313924 admin: fix display of b2sums 2018-01-17 18:52:46 +01:00
e630bc3d75 Improve bootstrap 4 support 2018-01-17 18:52:46 +01:00
6329f44d42 admin/sync: escape cloud URL 2018-01-17 18:52:46 +01:00
11c8a56f14 admin/sync: handle dependancy between exercices 2018-01-17 18:52:45 +01:00
edc6ca9b7a change request log format, close to nginx ones 2018-01-17 18:52:45 +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
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
31b80a5b2a admin: msgbox can contains lists 2018-01-17 18:52:44 +01:00
33bf5a0f34 Update angularJS to 1.6.6 2018-01-17 18:52:44 +01:00
73080d7d0d Update bootstrap to 4.0-beta 2018-01-17 18:52:43 +01:00
978f260c64 js: compatible with angular 1.6 2018-01-17 18:52:43 +01:00
292fef7d12 admin/sync: remove old exercices no more in tree 2018-01-17 18:52:43 +01:00
68bb0e6b21 admin/sync: hide full URI from error message 2018-01-17 18:52:43 +01:00
1ab94862d0 admin/sync: can only perform one deep sync at a time 2018-01-17 18:52:43 +01:00
de3c78b2ee admin/sync: don't show error when no hints directory to import 2018-01-17 18:52:42 +01:00
bb3e4547bb admin/sync: regenerate backend after deep sync 2018-01-17 18:52:42 +01:00
92c7de942b admin: API version bump 2018-01-17 18:52:42 +01:00
8ed23ddc7a admin: localimporter can make symlink instead of copying whole files 2018-01-17 18:52:42 +01:00
d81f068eba admin: new route to display import report 2018-01-17 18:52:42 +01:00
a543be0255 admin: able to sync splitted files 2018-01-17 18:52:42 +01:00
b4057c1a2c admin/sync: generate report on full import 2018-01-17 18:52:41 +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
9225038ffa admin: interface to synchronize 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
a033f81f5f admin: new function to retrieve file content 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
bfd7126e1e tmp 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
99975d9df4 admin: Take cloud URL, user and pass from environment 2018-01-17 18:52:39 +01:00
cd5a9d06ea Define global default value at initialisation 2018-01-17 18:52:39 +01:00
bf86e40db0 fill_exercices: we are in 2018! 2018-01-17 18:52:39 +01:00
07a372ab79 fill_teams: fix path to import team members 2018-01-17 18:52:38 +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
76a4c09f37 admin: add comments 2018-01-17 18:52:37 +01:00
eefac93091 admin: display publication confirmation; show an alert when empty scene 2018-01-17 18:52:37 +01:00
f2089c4d96 admin: display team history 2018-01-17 18:52:37 +01:00
41400a8710 admin: add history route in API 2018-01-17 18:52:37 +01:00
7b2fdaf0ad admin: alert can contains yes/no buttons 2018-01-17 18:52:36 +01:00
070807b485 admin: can dismiss alert 2018-01-17 18:52:36 +01:00
df5c9532cd admin: add confirmation message box on error and some success 2018-01-17 18:52:36 +01:00
1458c71cfa admin: improve team-print view 2018-01-17 18:52:36 +01:00