Commit Graph

55 Commits

Author SHA1 Message Date
Darks f6706f2b66
Correction d'un bug au login sur le formulaire du menu 2019-11-28 13:17:13 +01:00
Darks 279c194a59
Ajout du support de LDAP
Mettre le flag à True dans local_config.py pour l'activer, et la doc 
dans VPS-config pour setup l'environnement
2019-11-28 13:10:50 +01:00
Lephe 79e5af7924
users: allow norm-equivalent names in profile url 2019-09-09 08:11:38 +02:00
Lephe 8a0ba309e0
forum: restructure models and add topic creation
This changes fixes #25 by restructuring the forum models in a way
compatible with the polymorphic behavior of SQLAlchemy. Incidentally,
the new form turns out to be more appropriate for our use than the
polymorphic one originally used.

The migration for this task is non-trivial because the Thread class was
created with a foreign-key id which thus had no auto-increment or
associated sequence. The most reliable way of getting it back was to
recreate the table because SQLAlchemy ony performs automated sequence
introduction at table creation time. Four separate migration files
perform the whole change.

This commit also adds views and forms to create topics, and the
boilerplate for an advanced markup editor that can be used as a widget.
2019-09-09 08:11:38 +02:00
Lephe d1a8333cae
forum: add forum listing routes
With this change, URLs for forum listings are now available. This
includes URLs like /news or /projects/games. Each of them show a
(currently empty) forum index.

Note that URLs that are not linked to in the forum index, namely URLs
for forums that have children (eg. /forum/news), are still accessible. We
could ban this by raising ValidationError if the forum has a non-empty
[sub_forums] attribute but displaying all subjects feels better.

URLs that point to /forum, but do not name a sub-forum and are not of
the form of a topic URL produce 404 errors.
2019-09-09 08:11:38 +02:00
Lephe 9f30bd36a0
forum: add the forum index page
Also prepare some functions for topic listings for each forum.
2019-09-09 08:11:38 +02:00
Lephe aa75ff09a1
forum: implement forum tree generation
This commit adds a forum tree YAML file (URL-based rather than an
actual tree...) and the 'forums' and 'create-forums' commands for
the master script.

A page /admin/forums is also used to currently display the forum
tree, although this will probably be turned into a full table with
forum descriptions, and a form with edition capabilities.
2019-09-09 08:11:37 +02:00
Eragon b628510455
Merge branch 'dev' of gitea.planet-casio.com:devs/PCv5 into dev 2019-09-08 16:45:11 +02:00
Eragon 2b8a78fe20
Issue #3, remplir /register/validation 2019-09-08 16:44:10 +02:00
Darks 0a33161af0
Corrige une erreur 500 si l'on se connecte sur un compte inexistant 2019-09-08 12:28:39 +02:00
Darks 7cad3d4345
Correction préférence de newsletter
À l'inscription, la préférence de la newsletter n'était pas prise en 
compte. Merci Hackcell pour la remontée du bug.
2019-09-08 11:38:26 +02:00
Darks ab6275c08f
Correction de bug
Il manquait un import menant à une erreur 500 lors d'une redirection 
avec `?next=some_url`
2019-09-07 14:58:16 +02:00
Eragon dbef50cb86
Ajout du temps maximum d'inactivité pour une connexion
Issue n° #23 Fixer le temps d'une session par cookie (Remember me)
Corrigé, par l'ajout d'une option dans le fichier de configuration et
du code pour gèrer ça.
2019-09-07 14:15:31 +02:00
Darks 2e80a56596
Ajout d'un groupe `nologin` (corrige #22)
Les comptes GLaDOS et PlanèteCasio sont automatiquement ajoutés au 
groupe "No login", qui empêche l'utilisateur de se connecter, et ce même 
si les identifiants sont corrects.
2019-09-03 09:28:07 +02:00
Darks 7971e47522
Debug sur notifs, ajout du nombre dans le menu latéral
L'affichage du nombre de notifs méritera peut être un coup de peinture… 
À voir.
2019-09-01 22:33:00 +02:00
Darks 15a4d38ea0
Ajout des notifications 2019-09-01 12:30:41 +02:00
Lephe 4cefe39c36 trophies: automatically remove undeserved trophies
... and other minor edits from the trophies branch.
2019-08-19 17:26:22 +02:00
Darks 7f640a13e9
Modification de la zone d'admin des comptes
Retrait de la liste déroulante au profit d'une liste de checkbox. Il 
faudra ajouter les icones.
2019-08-10 20:06:07 +02:00
Darks 95efa36228
Tentative (foireuse) de générer une liste de BooleanInput 2019-08-10 00:07:50 +02:00
Darks ff21d89c23
Small modifications 2019-08-09 23:20:53 +02:00
Darks 1d638689c6
Modifications on trophies and titles #10 (and more)
- remove `title` attribute
- do the migration of db
- add initialization routine in `master.py`
- add default trophies and titles in `data/trophies.yaml`
- add `add_trophy` method in `Member` class
- add `update_trophies` method in `Member` class
- add form in admin panel to give a trophy to a member
- same to remove a trophy
- change `if request.method == "POST"` to `if form.submit.data`
2019-06-11 00:15:23 +02:00
Lephe 43264d9de1 account: small trophy improvements on #10 2019-06-07 13:48:28 -04:00
Darks 1bdad7c9e4 Merge branch 'trophies' of devs/PCv5 into master 2019-06-07 01:47:05 +02:00
Darks f67129a36b
Ajout des trophées et du panel pour les gérer 2019-06-07 01:44:04 +02:00
Darks 79e3189f4b
First draw for trophies 2019-06-06 23:24:14 +02:00
Lephe a3b867bab5 core: introduce a master script and enable proper privilege checks 2019-06-06 13:54:01 -04:00
Darks d6e8f7d4d8
Split routes to folders 2019-06-06 02:13:28 +02:00
Darks de2c1e8c63
Put admin routes into a folder 2019-06-06 01:45:39 +02:00
Lephe 21ebfb7d2a account: remove innovation counter, use only xp 2019-06-05 16:42:32 -04:00
Darks e4ed9cb4b0
Retrait de quelques erreurs par rapport à la PEP8 (avec Flake8) 2019-06-05 11:35:54 +02:00
Lephe bc7580de25 account: implement leveling and a simple profile widget 2019-05-03 13:40:20 +02:00
Dark-Storm d482d1a6fb
Modification de la fonction render
- Ajout d'un modificateur pour changer les feuilles de style à la volée
2019-04-17 12:25:24 +02:00
Lephe 05b9328888 minor code and style edits 2019-03-30 22:37:57 +01:00
Lephe 725e768520 groups: move default group data to a suitable place 2019-02-16 17:12:41 +01:00
Dark-Storm 2d0bce5d75
Correction de #20 2019-02-11 14:36:33 +01:00
Dark-Storm 0c4f0f6748
Modifications en vrac
Dans User.valid_name, ajout de caractères non autorisés. Voir #19 pour
faire quelque chose de vraiment propre et safe.
Dans privs, j'ai shooté des règles en double. Répercussion sur les
autres routes.
Ajout du champ username dans le formulaire admin de modif d'un compte.
2019-02-11 00:15:09 +01:00
Lephe 834403038b privs: add methods to properly delete users and groups 2019-02-10 18:51:53 +01:00
Lephe 7921bb5765 privs: create privileges from groups and users
The groups-privileges page takes care of removing privileges
before deleting groups and users; this is to be moved soon to a
proper group/user deletion API.
2019-02-10 15:46:53 +01:00
lephe 78b4299207 responsive: unify common style and light.css (WIP)
This includes loading the common style sheets at low resolutions
and removing the undescribable redundancy in light.css.

The harder part was getting the navbar right, because it relied
heavily on the distinction between navbar.css and light.css.

This is still a work in progress.
2019-02-09 22:42:16 +01:00
lephe 9fe1104b45 admin: more on user and group generation
Also more titles and details on other pages of
the administration section.
2019-02-09 21:18:12 +01:00
lephe 9faabea997 templates: slightly restructure and improve design 2019-02-09 11:32:08 +01:00
lephe 328cf887b0 style: something that makes sense 2019-02-07 17:55:20 +01:00
Dark-Storm 62729e6058
Ajouts dans le panel admin 2019-02-06 13:12:03 +01:00
Dark-Storm eca5fe488b
Ajouts dans le panel admin 2019-02-06 12:44:44 +01:00
Dark-Storm 936d0e2e8e
Correction du ticket #15 2019-02-06 10:20:47 +01:00
Dark-Storm ec748c41e7
Correction des EOF 2019-02-05 23:25:16 +01:00
Dark-Storm 584b1188d8
Grosses modifs sur le design. Ajout des routes /user 2019-02-05 23:21:46 +01:00
Dark-Storm cd533a4ea3
Ajout d'un décorateur @priv_required 2019-02-05 11:30:39 +01:00
Dark-Storm 2089a09753
Ajout du support des avatars. Y'a un peu de nettoyage sur le chemin de stockage 2019-02-04 23:21:29 +01:00
Dark-Storm 62ccaa23d6
Modifications sur la gestion du compte
- Réorganisation des parties
- Ajout d'un formulaire de suppression

Le formulaire de suppression ne fonctionne pas à cause d'un erreur dans le `session.commit()` (`AssertionError: Failed to add object to the flush context!`). Cela est peut-être du aux relations qui mettent orphelines les contenus dépendants du membre. Cf [delete cascades](https://docs.sqlalchemy.org/en/latest/orm/cascades.html#delete) dans sql alchemy
2019-02-04 18:48:31 +01:00