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 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
88ef2f64c0
admin: ensure _public is created at startup
2018-01-17 18:52:36 +01:00
a15b285090
admin: fix form to append teams
2018-01-17 18:52:35 +01:00
82ecd0d6dd
admin: Fix redirections when using baseurl
2018-01-17 18:52:35 +01:00
d03350f6b3
Fix generated JSON in case of error
2018-01-17 18:52:35 +01:00
ce46313dd1
admin: make baseurl optional
2018-01-17 18:52:35 +01:00
410ab529ae
admin: don't need submission directory anymore
2018-01-17 18:52:35 +01:00
d0f588e47d
Generate DNS from env
2018-01-17 18:52:34 +01:00
db210ebc5e
admin: improve design of settings page
2018-01-17 18:52:34 +01:00
2235470d9d
admin: manage team certificate from interface
2018-01-17 18:52:34 +01:00
2e8d28542e
admin: unify API to revoke certificates
2018-01-17 18:52:34 +01:00
31c079701f
admin: Add a page to list teams and members
2018-01-17 18:52:34 +01:00
6148897dac
settings: add title and authors
2018-01-17 18:52:33 +01:00
963c6ff4f2
admin: fix and generalize team stats
2018-01-17 18:52:33 +01:00
dea178b7ba
admin: add danger alert in select
2018-01-17 18:52:33 +01:00
1ebcdd7687
Move PKI scripts at root
2018-01-17 18:52:33 +01:00
cc3892463a
Compute hint mime type in a variable and display it instead of the hint content
2018-01-17 18:52:33 +01:00
50ec3df2d6
admin: add a route to simulate time.json on backend machine
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
4fe641a9f5
change the way themes are stored in stats
2018-01-17 18:52:31 +01:00
17f51f5e7b
admin: can force page regeneration
2018-01-17 18:52:31 +01:00
318bc4bc4d
Update openssl settings
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
8e91e7edbe
admin: sanitize use of InitialName when needed
2018-01-17 18:52:30 +01:00
4550f653ea
admin: Display time before start in UI
2018-01-17 18:52:30 +01:00
67f27d3d8b
Force cd into PKI directory
2018-01-17 18:52:30 +01:00
b1c4ebfe45
settings: admin interface see default params
2018-01-17 18:52:30 +01:00
ef4a738672
admin: control settings
2018-01-17 18:52:29 +01:00
b42016c74a
Coefficients transit and display on UI
2018-01-17 18:52:29 +01:00
b772a22705
Hints can something else than text
2018-01-17 18:52:29 +01:00
91182b1877
admin: Improve CA API
2018-01-17 18:52:28 +01:00
1c879fe50e
squash! WIP: apply a coeff on given points
2018-01-17 18:52:14 +01:00
3f80b89a4c
fill_exercices: flags.txt files can use tabulation char as separator instead of :
2018-01-17 18:51:54 +01:00
f3a484fb67
fill_exercice: define HINT_COST
2018-01-17 18:51:54 +01:00
1bd403cd8c
Handle file import digest
2018-01-17 18:51:53 +01:00
0b4e8a233c
admin: various fixes in fill_exercices
2018-01-17 18:51:53 +01:00
119280d814
admin: can pass args to fill_exercices to limit the fill to a theme or an exercice
2018-01-17 18:51:53 +01:00
63931f73ba
admin: new argument --rapidimport to speed up the import but don't ensure consistency
2018-01-17 18:51:53 +01:00
f0621fa191
[admin] Add new routes to manage hints, files and keys
2018-01-17 18:51:53 +01:00
b6782962f1
[admin] Add events
2018-01-17 18:51:53 +01:00
863070c037
[admin] Add exercices related pages
2018-01-17 18:51:53 +01:00
6a4868b9b3
[admin] Add page title
2018-01-17 18:51:52 +01:00
27ca960b2a
[admin] Add ng-sanitize
2018-01-17 18:51:52 +01:00
2e718b22b6
Merge exercices API routes
2018-01-17 18:51:52 +01:00
4b4c6881c7
Bump new version API
2018-01-17 18:51:52 +01:00
3b320469b5
Use github.com/julienschmidt/httprouter instead of gorilla
2018-01-17 18:51:52 +01:00
5a0b81ba32
Merge big splitted files before import
2018-01-17 18:51:52 +01:00
7fe35c5f1c
WIP misc
2018-01-17 18:51:51 +01:00
25bf34e82c
Multiple hints
2018-01-17 18:51:50 +01:00
1054dd7086
admin/api: use gorilla/mux instead of Go router
2018-01-17 18:51:44 +01:00
384b6cd212
themes: don't expect authors to be dirty
2017-11-25 15:01:01 +01:00
9894a91948
admin: can give the static dir location
2017-11-25 15:01:01 +01:00
5fa19223a9
admin: can change the baseurl interface
2017-11-25 15:01:01 +01:00
aa7afe1a6a
by default, only listen on localhost
2017-11-25 15:01:00 +01:00
018282d798
fill_team: improve script reliability
2017-11-25 15:01:00 +01:00
e0a1aeb053
admin: add ability to add files from local storage
2017-11-25 15:00:54 +01:00
c137969b6a
Add a logger prefix
2017-04-05 01:51:20 +02:00
347f317dd9
[admin] Improve interface
2017-04-05 01:51:20 +02:00
017adfb2b1
[admin] statistic generation
2017-01-12 11:55:30 +01:00
5e74b3f7ce
[admin] Can retrieves tries rate
2017-01-12 11:55:29 +01:00
bde582ad4b
Don't use the default mux for handling requests
2016-10-13 19:56:31 +02:00
fc0834ea4c
log.Fatal already do Exit(1)
2016-10-13 19:56:31 +02:00
ad95ce6f16
admin: display team details instead of members
2016-10-13 19:56:30 +02:00
c711f9e78e
admin: add exercices/ API to access and modify exercices
2016-10-13 19:56:30 +02:00
61f96a643c
Use initial name instead of ID
2016-10-13 19:56:29 +02:00
467641f4f2
Add initial_name field in DB
2016-10-13 19:56:29 +02:00
1c62f61bf0
Backend: extract file generation and team renaming in dedicated files
2016-10-13 19:56:27 +02:00
ee67788d59
Expect full downloadable file pathname (allow CDN)
2016-10-13 19:56:26 +02:00
bd0deecc89
Team colors are uint32
2016-10-13 19:56:25 +02:00
a8031452f7
New scripts to get files
2016-10-13 19:56:23 +02:00
f3a15b00e9
Too much things
2016-02-01 16:07:41 +01:00
9b293b7d32
themes.json: add stat of tries count
2016-01-25 03:08:42 +01:00
6863891ba2
Improve team interface
2016-01-24 16:49:00 +01:00
e207e90c2e
my.json now contains team members, instead of teams.json
2016-01-24 14:33:16 +01:00
2b2b1a893d
admin: page for team binding
2016-01-24 14:33:16 +01:00
86d36589d4
Generate 12 empty extra teams
2016-01-24 14:33:16 +01:00
645f40f0c6
format
2016-01-23 13:19:28 +01:00
8788eea4f0
Use MySQL instead of SQLite
2016-01-23 13:17:24 +01:00
859dbc68cb
Add authors in themes
2016-01-23 12:57:15 +01:00
e628e7931c
Extract my.json generation
2016-01-23 12:57:15 +01:00
992dbfc67d
Bufferize file download (to avoid OOM)
2016-01-23 12:57:14 +01:00
499346e611
Fully automated fill_exercice.sh
2016-01-23 12:57:14 +01:00
58fb73f742
admin: Don't download file already downloaded
2016-01-23 12:57:14 +01:00
46dcff83c3
admin: improve human interface
2016-01-23 12:57:14 +01:00
61dc38c09c
admin: Implement theme modification through PATCH
2016-01-23 12:57:13 +01:00
ad6199269b
admin: Add /exercices pages to get all exercices of a theme
2016-01-23 12:57:13 +01:00
c9e4d3e27c
admin: fix static routing
2016-01-23 12:57:13 +01:00
db2e286677
Minor fix number of imported team
2016-01-23 12:57:13 +01:00
4f97d2088d
Semi-manual fill_exercice.sh
2016-01-23 12:57:13 +01:00
b30d109529
Add color and error recovery
2016-01-23 12:57:12 +01:00
fa8343405b
Use same BASEURI as gosrc
2016-01-23 12:57:12 +01:00
763396193e
Improve fill_exo
2016-01-23 12:57:12 +01:00
2d7a7f67e8
Return an error if the file doesn't exists
2016-01-23 12:57:12 +01:00
d4ee546a91
Add script to append exercices
2016-01-23 12:57:12 +01:00
3aafb15f19
Add rank
2016-01-21 05:34:00 +01:00
5a8d2c36b7
Export themes.json
2016-01-21 05:34:00 +01:00