Commit Graph

191 Commits

Author SHA1 Message Date
Lephe b3d99b93f8
account: add a theme setting (#14) 2021-07-08 11:43:09 +02:00
Lephe cc5f4e481b
account: member deletion, with post anonymization (#57) 2021-07-08 10:39:22 +02:00
Lephe f75f1618bc
add a developer warning for slow requests (#63) 2021-07-07 18:42:17 +02:00
Lephe c59e844852
forum: count comments for all presented topics in a single request (#63)
It appears as though performing a lot of requests is the most costly
aspect of listing comment counts per topic; this change aims to address
that by reading all the counts in a single request.

On my computer, this changes loading times from an absolute 100-200 ms to
50-100 ms most of the time. The request impact is not easy to measure as a
couple ms is small enough to fall in the range of disk access and other
semi-random events.
2021-07-07 17:26:22 +02:00
Eragon 6cbf5a51f9
Implémentation du "skip to content" #94 2021-04-28 19:30:41 +02:00
Darks 55beccf7f4
widgets: humanize sizes of attachements 2021-04-27 19:35:37 +02:00
Darks d7d8244da9
polls: small fix on template 2021-03-16 18:51:11 +01:00
Darks 8bdf3909ea
login_as: fixed some issues
See https://gitea.planet-casio.com/devs/PCv5/issues/90#issuecomment-1131
2021-03-06 11:36:35 +01:00
Darks 87ef91b9e3
login_as: add function to login as arbitrary account 2021-03-05 23:56:03 +01: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 07a91c4663
admin: show group CSS on user editor 2021-02-27 11:50:40 +01:00
Lephe 1d63d05c1e
admin: show trophy icons on user editor 2021-02-27 11:42:29 +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 7e7e865430
Merge branch 'dev' of gitea.planet-casio.com:devs/PCv5 into dev 2021-02-22 23:54:51 +01:00
Eldeberen fecbdffee8
polls: add link in admin panel 2021-02-22 23:54:47 +01:00
Eldeberen 938516cb3f
polls: added admin panel and deletion form 2021-02-22 23:50:19 +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
Eldeberen 5958605d2b
forum: fix message for necropost warning 2021-02-21 20:29:55 +01:00
Eldeberen f10d5404c2
forum: fix #84 2021-02-21 20:17:48 +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 cd8efcced8
Merge branch 'dev' of gitea.planet-casio.com:devs/PCv5 into polls 2021-02-20 01:36:04 +01:00
Eldeberen fabad32955
polls: add a panel to manage own polls 2021-02-20 01:28:08 +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 3b1aa2fc1d
admin-panel: fix users registration date 2021-02-19 22:23:26 +01:00
Eldeberen d2c5ddd874
polls: added models 2021-02-19 22:07:31 +01:00
Eragon 4ddf60353c
#84 Passage du dernier post en cas de nécropost 2021-01-12 17:30:54 +01:00
Eragon c0ae3cc8ab
#84 Confirmation anti-nécropost 2021-01-12 16:40:52 +01:00
Lephe 1d38f906ee
admin/members: add a dynamic regex/logic filter for the member list
This commit introduces a client-side table filter that supports regexes
and propositional logic to filter table rows.

A table can be filtered if it has the [filter-target] class and its
first row has <th> tags with a [data-filter] attribute specifying column
names.

The filter itself is a div with the [form] and [filter] classes, and a
[data-target] attribute pointing to the table to filter. The filter
contains a text <input> which is passed to filter_update() when the
filter expression is validated.

The client-side filter code runs the expression through a basic lexer
and parser, then matches the result for every row in the target table.
The [textContent] of each cell is used for string and regex matching.
2020-11-02 14:38:28 +01:00
Lephe 13b2bd2671
admin/members: add a full member list
... which can someday be filtered for names, shared IPs, registration
dates, and other useful tools.
2020-11-01 16:12:15 +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
Lephe 93e5fc380a
admin: improve display of trophies 2020-10-31 09:53:55 +01:00
Darks ed231f6524
fix CSRF token for message preview (#77) 2020-10-07 21:47:21 +02:00
Eragon 227087ebbc
Issue #76 Refactoriser les messages flash
Javascript :
Supression du javascript inutile, l'entièreté du bloc du flash.

CSS :
Alignement plus correct des notifications flash, fini le fixed, 15%
place au margin auto.
Ajout d'une marge pour éviter l'effet «bloc».
Héritage des propriétés de couleur du texte et du fond de la classe supèrieure.

Modification des templates :
Les messages sont désormais chargés avant le contenu et après le header.
2020-10-01 22:16:15 +02:00
Darks 3b188e3bab
posts: add deletion 2020-09-26 14:55:55 +02:00
Darks 0d8dd70956
security: add CSRF protection globally
The decorator @check_csrf can be used to check CSRF protection when 
using GET links (like delete a post or logout)
2020-09-26 14:48:30 +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 5253f8ec8f
post edition: added redirection to topic (#49)
Beware that the urlparse method may return unsafe results… IDK
2020-09-24 23:25:25 +02:00
Darks 67c3ebba42
editor: fix #73 2020-09-24 22:43:39 +02:00
Darks e265e003b9
admin: fixed the forum panel 2020-09-24 00:22:20 +02:00