Commit Graph

47 Commits

Author SHA1 Message Date
Lephe 7fc4424812
forum: use a more readable date format 2021-07-10 17:54:07 +02:00
Darks 55beccf7f4
widgets: humanize sizes of attachements 2021-04-27 19:35:37 +02:00
Lephe 284e8986fa
forum: random improvements to overflows on the forum
* Wrap long usernames
* Prevent images from overflowing to the right
2021-03-05 13:52:55 +01:00
Lephe 6f98cba65e
review of privileges and forum permissions
* Sorted privileges into categories, similar to the v4.3 style

Added privilege check utilities:
* Forum: is_news(), is_default_accessible() and is_default_postable()
* Member: can_access_forum(), can_post_in_forum(), can_edit_post(),
  and can_delete_post()

Unfortunately current_user is not a Guest when logged out, so one
cannot usually write current_user.can_*() without checking for
authentication first, so the checks are still somewhat verbose.

Reviewed forum permissions; the following permission issues have been
fixed (I have tested most but not all of them prior to fixing):

* app/routes/forum/index.py: Users that were not meant to access a
  forum could still obtain a listing of the topics
* app/routes/forum/topic.py: Users that were not meant to see topics
  could still read them by browsing the URL
* app/routes/forum/topic.py: Authenticated users could post in any
  topic, including ones that they should not have access to
* app/routes/posts/edit.py: Users with edit.posts (eg. mods) could edit
  and delete messages in forums they can't access (eg. creativecalc)

* app/templates/account/user.html: Users with admin panel access would
  see account editing links they can't use (affects developers)
* app/templates/base/navbar/forum.html: The "Forum" tab would list all
  forums including ones the user doesn't have access to
* app/templates/forum/index.html: Users would see every single forum,
  including ones they can't access
* app/template/widgets/thread.html: Anyone would see Edit/Delete links
  on every message, even though most were unusable

Miscellaneous changes:
* app/routes/forum/topic.py: Ordered comments by date as intended,
  which I assume worked by chance until now
* Removed the old assets/privs.txt files which is now superseded by the
  list implemented in app/data/groups.yaml

This commit changes group and forum information, run master.py with:
@> forums update
@> groups update
2021-02-26 18:32:45 +01:00
Lephe d50b58cd24
(random improvements on texts) 2021-02-26 18:31:10 +01:00
Eldeberen d6512bb197
polls: added multi-choices polls 2021-02-22 22:49:11 +01:00
Eldeberen b23fc15b6e
polls: changes in template, display results when user has voted 2021-02-21 21:15:54 +01:00
Eragon f3bb8858f0
Vérification de l'existence d'une signature pour l'afficher 2021-02-21 12:17:55 +01:00
Eldeberen d0714d87b0
poll: phoque it. XML is much more restrictive than html 2021-02-20 18:43:37 +01:00
Eldeberen e2c84df6e3
poll: fixed a ***** bug 2021-02-20 18:31:40 +01:00
Eldeberen 9d08f81342
poll,md: adds pclink for polls 2021-02-20 17:17:33 +01:00
Eldeberen 473448ab5b
poll: add ability to vote
Fixed some bugs too
2021-02-20 00:33:34 +01:00
Eldeberen ec3f33ead0
polls: updated templates 2021-02-19 23:26:10 +01:00
Eldeberen d2c5ddd874
polls: added models 2021-02-19 22:07:31 +01:00
Lephe 8155cf1550
threads: fix misplaced </td> in template 2020-11-01 15:59:25 +01:00
Lephe bb6450bda2
editor: don't autofocus by default
Autofocus prompts the browser to scroll to the editor when the page
loads, which makes little to no sense on topic pages where the important
information is at the top.
2020-10-31 22:15:03 +01:00
Lephe 36ccb16536
thread: use the thread widget for top comments
This allows the top comment to be permalinked and edited as any comment,
following the intent of pinning normal comments to the top.
2020-10-31 15:35:00 +01:00
Lephe c7846c4f8b
threads: improve layout and flow of messages
* When there is enough space, put links and date on the right
* On small screens, compact profile information
* On small screens, leave links and date on the right to maximize
  message width
2020-10-31 15:35:00 +01:00
Lephe 05c16b8fa8
threads: hide signature delimiter if there is no signature 2020-10-31 15:35:00 +01:00
Darks ed231f6524
fix CSRF token for message preview (#77) 2020-10-07 21:47:21 +02:00
Darks 3b188e3bab
posts: add deletion 2020-09-26 14:55:55 +02:00
Darks 8edeb052e2
templates: added <hr> separation between comment and signature 2020-09-26 12:31:17 +02:00
Darks e308fca0ba
templates: added a widget for threads
It will be used for program comments, etc.
2020-09-26 11:56:07 +02:00
Darks 67c3ebba42
editor: fix #73 2020-09-24 22:43:39 +02:00
Darks ed5367d46d
editor: added previews 2020-09-23 23:58:25 +02:00
Eragon ed0f3b47f6
Meilleur gestion avec plusieurs forms dans une page
L'éditeur markdown est lié à l'id du textarea qui l'invoque (Acte Vaudou)
2020-09-18 14:59:38 +02:00
Eragon b5f1ea1d1d
Un seul chargement du script même avec plusieurs textarea
Le script est chargé de manière standard, comme les autres scripts.
L'init du script est lancé seulement après le chargement complet
de toute les dépendances de la page.
2020-09-18 11:53:50 +02:00
Eragon c419716806
Utilisation de https://github.com/sparksuite/simplemde-markdown-editor comme éditeur
Ajout des fichiers dans les fichiers statiques. (min.css & min.js).
Supression des scripts custom d'édition.
Remplacement par les bon appels de fonctions dans app/templates/widgets/editor.html
2020-09-17 22:41:32 +02:00
Darks 3a35c26bd7
forum: add pagination to topic list (#64) 2020-08-02 17:28:43 +02:00
Darks 554898db87
attachments: merged attachments system into dev 2020-08-01 21:47:25 +02:00
Darks 56a584c535
attachments: added attachments system
Still need some work on it…
2020-08-01 21:26:06 +02:00
Lephe 8a95d43eb0
templates: represent actual level in XP bar in user widget
This is much more useful in determining a user's activity than the
current level progression. Since the XP bar is the second most visible
item apart from the avatar, it's more relevant.
2020-08-01 15:28:36 +02:00
Darks a2767c4343
widget_user: add title style if there is one 2020-07-30 14:50:08 +02:00
Darks b108ce4cfe
titles: add displayed title (#65)
- with forms for user and admins
2020-07-29 00:57:06 +02:00
Darks 8fbc3a635a
widget: FIX le lien vers la page d'un membre 2020-07-23 19:36:49 +02:00
Darks 48dd2b982b
widget-user: ajout de la polymorphie au widget 2020-07-21 18:45:06 +02:00
Lephe 17c78204a6
update the route model for the forum to <id>/<page>/<slug>
This works by bundling the topic object and page number in a pair during
conversion to/from URL, so that the slug can be computed effortlessly
and put in all links.
2020-07-16 23:58:21 +02:00
Darks 275eacbcbb
Correction d'un bug de pagination 2019-12-10 00:42:09 +01:00
Darks 9341c5883c
Premier jet sur les avatars 2019-12-09 23:24:05 +01:00
Darks d447372bf3
Petite modif : on a toujours au moins un commentaire par thread 2019-12-07 16:51:54 +01:00
Darks b4341ed0f8
Ajout de la pagination pour les topics de forum 2019-12-07 16:34:39 +01:00
Darks da96de2f14
Ajout d'un premier jet d'éditeur Js de LightScript 2019-12-04 22:16:29 +01:00
Darks 0a85f1fbee
Ajout de l'éditeur :D 2019-12-04 16:25:05 +01:00
Eragon 134eaa4d58
Ajout du style et d'un peut d'affichage pour les topics
J'ai fait mon possible pour que ça rende bien et que le css ne soit pas
trop moche. Il faudra peut-être modifier légèrement l'afichage du
profil, ce dernier est pas assez bien en place à mon goût.
2019-12-03 23:13:22 +01:00
Darks 662882cc15
Ajout des commentaires de topics
On ne peut pas encore modifier le top comment ni commencer un topic à 
partir d'un thread externe, mais les bases sont là :)
2019-12-03 20:32:01 +01: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 bc7580de25 account: implement leveling and a simple profile widget 2019-05-03 13:40:20 +02:00