thomas girod
6449724ed5
fix pagination macro and add ellision
2024-09-27 11:21:33 +02:00
thomas girod
6179c3e7d4
Better style for forum messages
2024-09-27 11:21:33 +02:00
thomas girod
3e5d4c5fbb
add fixtures for the forum
2024-09-27 11:21:33 +02:00
thomas girod
3f2b63aaa5
move forum style into its own file
2024-09-27 11:21:33 +02:00
thomas girod
d29a5cdb44
Add the new 3DSv2 fields
2024-09-27 11:10:38 +02:00
thomas girod
bbcc7ffeaa
Merge pull request #839 from ae-utbm/user-ordering
...
User ordering
2024-09-25 17:51:25 +02:00
thomas girod
93f4dede3e
Put users that never logged in at the end
2024-09-25 14:36:22 +02:00
thomas girod
43917317b4
optimize file recursive rights
2024-09-25 12:31:51 +02:00
thomas girod
f182de5929
restore user ordering
2024-09-24 12:52:40 +02:00
thomas girod
c6657bffd2
fix: profile picture deletion by board members
2024-09-23 23:35:14 +02:00
thomas girod
3d138d404f
move webcam JS to its own file
2024-09-23 23:35:14 +02:00
9c93162741
Add missing files
2024-09-23 10:25:27 +02:00
6068c6048a
Use real name of the website once again
2024-09-23 01:37:25 +02:00
thomas girod
d47461ba40
Merge pull request #830 from ae-utbm/repair-pagination
...
fix: `fetch_paginated`
2024-09-20 00:03:34 +02:00
thomas girod
d3cada4c95
fix family graph image exension
2024-09-19 20:52:10 +02:00
thomas girod
b246e171b7
fix: fetch_paginated
2024-09-18 22:03:39 +02:00
thomas girod
7458f622f5
Merge pull request #809 from ae-utbm/ajax-image-sas
...
Ajax image sas
2024-09-18 15:03:54 +02:00
thomas girod
ab72e01707
lower the number of characters to trigger a fulltext search
2024-09-17 17:52:39 +02:00
thomas girod
acad74528d
fix: sale creation in populate_more
2024-09-17 16:05:42 +02:00
thomas girod
a2a858262a
apply review comments
2024-09-17 12:23:13 +02:00
thomas girod
bc40b92744
completely ajaxify the picture page
2024-09-17 12:23:13 +02:00
thomas girod
d545becf24
add spinner during loading
2024-09-17 12:17:21 +02:00
thomas girod
48f605dbe0
Use select2 for user picture identification
2024-09-17 12:17:17 +02:00
thomas girod
b0d7bbbb79
select 2 builder
2024-09-17 12:14:20 +02:00
Bartuccio Antoine
f624b7c66d
Graph de famille en frontend ( #820 )
...
* Remove graphviz and use cytoscape.js instead
* Frontend generated graphs
* Make installation easier and faster
* Better user experience
* Family api and improved interface
* Fix url history when using 0, improve button selection and reset reverse with reset button
* Use klay layout
* Add js translations and apply review comments
2024-09-17 12:10:06 +02:00
thomas girod
e8b496cfdc
test: Product and ProductType icon resizing
2024-09-15 16:38:58 +02:00
thomas girod
79ef151ad3
auto compress product icons
2024-09-15 14:12:41 +02:00
thomas girod
e2b42145e1
Merge pull request #819 from ae-utbm/fix-delete-picture
...
fix undeletable SAS pictures
2024-09-10 23:12:59 +02:00
thomas girod
55ad1f99fd
fix undeletable SAS pictures
2024-09-10 21:38:13 +02:00
Skia
d1c88a5cef
core: commands: make 'install_xapian' way faster
2024-09-09 15:17:09 +02:00
thomas girod
cf46c3800f
remove sith version from the footer
2024-09-01 23:47:25 +02:00
thomas girod
dd07c374d7
convert uploaded images to webp
2024-09-01 19:05:54 +02:00
thomas girod
b3e59b3829
remove unused view GET user/<user_id>/profile_upload
2024-09-01 18:49:50 +02:00
thomas girod
85a99fc8fa
fix promo img on clicks
2024-09-01 12:33:49 +02:00
thomas girod
a4d801bed4
Merge pull request #798 from ae-utbm/fix-content-disposition
...
repair name of protected files
2024-08-30 10:44:49 +02:00
thomas girod
fbff38c5c3
repair name of protected files
...
Depuis l'implémentation de l'envoi des fichiers par le reverse-proxy, le nom des fichiers n'était plus envoyé.
2024-08-30 10:27:03 +02:00
cc5df9b171
Better form for user submiting images, fix potential attack vector on bad file being resized and treated as an image
2024-08-27 17:05:37 +02:00
thomas girod
e564c6604c
Merge pull request #788 from ae-utbm/manifest-static-files
...
Manifest static files
2024-08-27 11:08:49 +02:00
d95d4901d2
Use reduce instead of groupBy for user picture sorting to support more browsers
2024-08-27 10:35:38 +02:00
thomas girod
b7261ec629
custom manifest static files storage that also minify scss and js files
2024-08-26 22:34:32 +02:00
thomas girod
2e1f16fa04
slim jquery-ui
2024-08-26 22:34:32 +02:00
thomas girod
d295cc5223
move vendored files into their own folder
2024-08-26 22:34:32 +02:00
thomas girod
ff088009d9
move static files in their respective application
2024-08-26 22:34:31 +02:00
thomas girod
52c19e9962
simplify scss management
2024-08-26 22:34:31 +02:00
thomas girod
68d0a16d1c
Merge pull request #782 from ae-utbm/ajax-navigation-history
...
Ajax navigation history in uv guide
2024-08-26 22:29:19 +02:00
a422e8d39a
Improve rendering of file input
2024-08-26 22:21:16 +02:00
ef80c1be61
Make camera error gray to be less aggressive on the eyes
2024-08-26 22:21:16 +02:00
85d9816aaa
Improve delete button behavior
2024-08-26 22:21:16 +02:00
93b66d980d
Directly display selected img of form on screen and convert to webp
2024-08-26 22:21:16 +02:00
07d617da91
Get video resolution from the camera settings for a better image quality
2024-08-26 22:21:16 +02:00
f54bf2b8af
Adjust css
2024-08-26 22:21:16 +02:00
e7d04d9817
Unify user profile display with a nice macro and handle camera errors
2024-08-26 22:21:16 +02:00
ef1537ac2c
Basic webcam setup with modern web api
2024-08-26 22:21:16 +02:00
d13b79552b
Remove to_markdown.jinja forgotten during bbcode convertion removal
2024-08-21 15:35:43 +02:00
thomas girod
4036bfd703
Merge pull request #775 from ae-utbm/user-pictures-ajax
...
Render user picture page with ajax to improve performances
2024-08-18 12:40:07 +02:00
cdb73ee49c
Don't rely on waiting for pedagogy history
2024-08-17 02:57:00 +02:00
9188c28ee7
Remove intersect
2024-08-16 22:52:20 +02:00
2a6c1f050d
Create a paginate_alpine macro
2024-08-11 15:11:51 +02:00
589119c9ee
Improve update_query_string with enum action
2024-08-10 23:32:50 +02:00
b35e1a476e
Fix back function in album pagination
2024-08-10 18:38:04 +02:00
a75730d91f
Fix unbalanced html
2024-08-10 15:16:37 +02:00
a2b5f929dd
Apply review comments
...
* Add alpine intersect
* Move alpine and it's plugins to a folder
* Fix spinning wheel position
* Improve album title position
2024-08-10 14:49:02 +02:00
thomas girod
7a0fa9f1a0
remove doku/bbcode to markdown
2024-08-10 14:23:01 +02:00
thomas girod
28ff7f24c5
Merge pull request #774 from ae-utbm/fix-operation-logs
...
Fix operation logs
2024-08-10 10:33:39 +02:00
bf5f72fd9d
Fix user search displaying results that shouldn't be viewed
2024-08-10 00:43:03 +02:00
0eeaf1ce21
Render user picture page with ajax to improve performances
2024-08-09 18:09:58 +02:00
thomas girod
c56d6e3f6b
fix wrong page size when fetching pictures.
2024-08-09 17:35:33 +02:00
20e8854467
Fix operation logs
2024-08-09 17:35:26 +02:00
thomas girod
7ea9a5ca2d
improved feedback when loading ajax content
2024-08-09 11:58:26 +02:00
thomas girod
ecb48ce663
fix error when uploading image with an alpha channel
2024-08-09 11:58:26 +02:00
thomas girod
d3b203a4a1
change cache on picture download
2024-08-08 11:50:45 +02:00
thomas girod
da6bd84cdf
restify album view
2024-08-08 11:50:45 +02:00
thomas girod
0b9ccf6a57
paginate GET /api/sas/picture
2024-08-08 11:50:45 +02:00
thomas girod
62bb15317c
T2 ruff rule
2024-08-06 11:42:10 +02:00
thomas girod
996dadf6f5
update alpineJS to 3.14
2024-08-05 17:16:24 +02:00
thomas girod
29bb0f6712
promote AlpineJS to global dependency
2024-08-05 17:08:30 +02:00
thomas girod
a637742bb0
apply review comment
2024-08-05 10:52:15 +02:00
thomas girod
a5e4db99fb
Use X-Accel-Redirect to send files in prod
2024-08-05 10:52:15 +02:00
thomas girod
a9f66e2cd9
extract sent_from_logged_counter(request)
2024-08-05 10:52:15 +02:00
181e74b1d1
Add antispam app
...
* update_spam_database command to update suspicious domains from an
external provider
* Add a AntiSpamEmailField that deny emails from suspicious domains
* Update documentation
2024-08-04 22:34:40 +02:00
thomas girod
946f35c601
Merge pull request #752 from ae-utbm/autocomplete-admin
...
use autocomplete_fields in admin
2024-08-01 13:01:27 +02:00
thomas girod
eef15e05f4
use autocomplete_fields in admin
2024-08-01 11:27:54 +02:00
f265346a10
Sort pictures by album in zip file
2024-07-31 12:01:08 +02:00
thomas girod
819e2b5f9f
better download button style
2024-07-30 19:58:58 +02:00
thomas girod
91344741a5
add some alpine to picture download
2024-07-30 19:23:48 +02:00
ffa3936878
Improve zip download
...
* Remove jszip for zip.js which is better maintained
* Pictures keep their creation date
2024-07-30 11:11:31 +02:00
3304f32ef0
Add image download progress bar and fix output name of pictures
2024-07-28 23:53:18 +02:00
thomas girod
39151b61e7
Merge pull request #741 from ae-utbm/better-pagination
...
improve pagination
2024-07-28 16:46:00 +02:00
thomas girod
3f49d70745
remove pedagogy style from style.scss
2024-07-28 16:39:15 +02:00
thomas girod
e5434961de
Merge pull request #736 from ae-utbm/better-scss
...
Better scss
2024-07-28 16:35:12 +02:00
thomas girod
b022ebb80e
improve pagination
2024-07-27 10:46:57 +02:00
thomas girod
2737cae4ab
update django-phonenumber-field
2024-07-26 21:45:18 +02:00
thomas girod
63b6b262c6
repair BASE_DIR
2024-07-26 18:21:57 +02:00
thomas girod
424639ea80
better scss
2024-07-26 15:55:15 +02:00
thomas girod
594776f3a6
better scss compilation
2024-07-26 15:55:15 +02:00
thomas girod
6c4251a91f
populate more
2024-07-26 15:15:50 +02:00
thomas girod
2261782920
Merge pull request #738 from ae-utbm/fix-remove-from-picture
...
Fix button to remove a user from picture
2024-07-26 14:48:28 +02:00
thomas girod
3c76c5e0f1
fix grouping
2024-07-26 00:39:29 +02:00
thomas girod
d348e6314a
fix the pictures order (not just the album)
2024-07-26 00:39:29 +02:00
thomas girod
b3fa6f352b
fix album order for user pictures
2024-07-26 00:39:29 +02:00
thomas girod
215fdce411
Fix button to remove a user from picture
2024-07-25 23:29:12 +02:00
thomas girod
b25805e0a1
introduce djhtml as jinja+scss formater
2024-07-25 16:46:45 +02:00
15f51fb03f
Create an NFC button for browser supporting NFC API
2024-07-25 07:18:39 +02:00
thomas girod
a24b1f5c2a
Merge pull request #730 from ae-utbm/picture-zip
...
Téléchargement des images dans un zip
2024-07-25 01:21:02 +02:00
thomas girod
04e7f65e8e
Merge pull request #725 from ae-utbm/drop-jquery-calendar
...
Remove jquery datetimepicker
2024-07-25 01:20:41 +02:00
41b9318028
Download user pictures as a zip
2024-07-24 23:51:15 +02:00
thomas girod
d51dbf8a53
Merge pull request #724 from ae-utbm/ninja
...
Use django-ninja for the API
2024-07-24 00:48:08 +02:00
thomas girod
c03a1b57c5
update doc
2024-07-24 00:44:09 +02:00
thomas girod
9295325d21
remove jquery datetime picker
2024-07-23 23:26:48 +02:00
thomas girod
cb1aa8bef0
add tests
2024-07-23 20:36:57 +02:00
b9d19be183
Fix markdown api and add test for user picture page
2024-07-23 20:36:46 +02:00
293369f165
Pagination on UV guide
2024-07-23 19:58:11 +02:00
thomas girod
3046438cb1
replace drf by django-ninja
2024-07-23 19:57:33 +02:00
c7f8cdd098
Support field_name argument in honeypot jinja extension
2024-07-22 11:34:22 +02:00
58ff5b934a
add get_client_ip util function
2024-07-22 09:49:08 +02:00
thomas girod
82d3791859
refactor counter
2024-07-21 10:51:08 +02:00
thomas girod
8c69a94488
use google convention for docstrings
2024-07-21 00:57:04 +02:00
thomas girod
07b625d4aa
Rewrite documentation with MkDocs
2024-07-21 00:56:58 +02:00
thomas girod
8245ddf2a6
fix font for code blocks in markdown
2024-07-18 14:51:50 +02:00
bad67a8b65
Add promo 24 logo
2024-07-16 00:25:50 +02:00
0fb61938ce
Reorganize honeypot settings
2024-07-11 10:49:08 +02:00
d6b27f2f21
Make honeypot errors less suspicious
2024-07-10 19:30:01 +02:00
thomas girod
e15bcfae07
Send an email when creating an account via POST /register
2024-07-10 17:21:07 +02:00
72cf5a3d5e
Introduce honeypot for login/registering/password changing
2024-07-10 14:51:39 +02:00
thomas girod
7f6c4f6236
change sup and sub in mde editor
2024-07-08 17:04:18 +02:00
thomas girod
30948f1701
better style for rendered markdown
2024-07-08 15:56:38 +02:00
thomas girod
02ec3607b2
fix install_xapian.sh
2024-07-08 15:56:37 +02:00
thomas girod
3c2dcfbfa2
update mistune
2024-07-08 15:56:37 +02:00
thomas girod
c6d2ac9100
ruff rule B
2024-07-08 15:37:10 +02:00
thomas girod
2ac578c3ad
ruff rule DJ
...
Co-authored-by: Bartuccio Antoine <klmp200@users.noreply.github.com>
2024-07-08 15:37:10 +02:00
thomas girod
f941435232
ruff rule C4
2024-07-08 15:37:10 +02:00
thomas girod
171a1cb876
ruff rule FBT
2024-07-08 15:37:09 +02:00
thomas girod
cfc19434d0
ruff rules UP008 and UP009
2024-07-08 15:37:09 +02:00
thomas girod
688871a680
ruff rule A
2024-07-08 15:37:08 +02:00
thomas girod
aa07fa9207
faster tests
2024-07-04 14:03:19 +02:00
thomas girod
ea8247aa16
fix broken translations
2024-07-04 11:31:36 +02:00
thomas girod
bf18284450
apply forgotten migrations
2024-07-04 11:31:36 +02:00
thomas girod
cd58d5a357
resolve warnings
2024-07-04 11:31:35 +02:00
thomas girod
d97602e60b
Use pytest for tests ( #681 )
...
* use pytest for tests
Eh ouais, il y a que la config qui change. Pytest est implémentable par étapes. Et ça c'est beau.
* rework tests with pytest
* remove unittest custom TestRunner
* Edit doc and CI
2024-06-26 19:10:24 +02:00
thomas girod
3143d3d91a
reorganize imports with ruff
2024-06-26 12:35:38 +02:00
thomas girod
9bdf3fc4ac
use ruff for formating
...
Co-authored-by: Bartuccio Antoine <klmp200@users.noreply.github.com>
2024-06-26 12:35:14 +02:00
ca27b89a8b
Apply shellcheck on install_xapian.sh
2024-06-26 11:31:39 +02:00
e1bf7caa9a
Fix CVE-2023-31047
2024-06-24 13:27:22 +02:00
5416d88c97
Upgrade dependencies and install xapian from sources
2024-06-24 13:26:58 +02:00
Julien Constant
d16bf12611
Links update & translations typos fixes ( #671 )
...
* Remove BDF link (as BDF is now part of AE)
* Remove unused pages
* Fix typos
* Fix typo again
2023-10-10 15:29:02 +02:00
thomas girod
aaf30ab965
Add missing method on AnonymousUser ( #649 )
2023-09-07 23:53:42 +02:00
Julien Constant
38295e591d
Fix immutable default variable in get_start_of_semester
( #656 )
...
Le serveur ne percevait pas le changement de semestre, parce
que la valeur par défaut passée à la fonction `get_start_of_semester()` était une fonction appelée une seule fois, lors du lancement du serveur. Bref, c'était ça : https://beta.ruff.rs/docs/rules/function-call-in-default-argument/
---------
Co-authored-by: imperosol <thgirod@hotmail.com>
2023-09-07 23:11:58 +02:00
Julien Constant
84768eb74e
[FIX] Fix cached groups ( #647 )
2023-05-12 13:27:51 +02:00
Skia
87295ad9b7
Galaxy improvements ( #628 )
...
* galaxy: improve logging and performance reporting
* galaxy: add a full galaxy state test
* galaxy: optimize user self score computation
* galaxy: add 'generate_galaxy_test_data' command for development at scale
* galaxy: big refactor
Main changes:
- Multiple Galaxy objects can now exist at the same time in DB. This allows for ruling a new galaxy while still
displaying the old one.
- The criteria to quickly know whether a user is a possible citizen is now a simple query on picture count. This
avoids a very complicated query to database, that could often result in huge working memory load. With this change,
it should be possible to run the galaxy even on a vanilla Postgres that didn't receive fine tuning for the Sith's
galaxy.
* galaxy: template: make the galaxy graph work and be usable with a lot of stars
- Display focused star and its connections clearly
- Display star label faintly by default for other stars to avoid overloading the graph
- Hide non-focused lanes
- Avoid clicks on non-highlighted, too far stars
- Make the canva adapt its width to initial screen size, doesn't work dynamically
* galaxy: better docstrings
* galaxy: use bulk_create whenever possible
This is a big performance gain, especially for the tests.
Examples:
----
`./manage.py test galaxy.tests.GalaxyTest.test_full_galaxy_state`
Measurements averaged over 3 run on *my machine*™:
Before: 2min15s
After: 1m41s
----
`./manage.py generate_galaxy_test_data --user-pack-count 1`
Before: 48s
After: 25s
----
`./manage.py rule_galaxy` (for 600 citizen, corresponding to 1 user-pack)
Before: 14m4s
After: 12m34s
* core: populate: use a less ambiguous 'timezone.now()'
When running the tests around midnight, the day is changing, leading to some values being offset to the next day
depending on the timezone, and making some tests to fail. This ensure to use a less ambiguous `now` when populating
the database.
* write more extensive documentation
- add documentation to previously documented classes and functions and refactor some of the documented one, in accordance to the PEP257 and ReStructuredText standards ;
- add some type hints ;
- use a NamedTuple for the `Galaxy.compute_users_score` method instead of a raw tuple. Also change a little bit the logic in the function which call the latter ;
- add some additional parameter checks on a few functions ;
- change a little bit the logic of the log level setting for the galaxy related commands.
* galaxy: tests: split Model and View for more efficient data usage
---------
Co-authored-by: maréchal <thgirod@hotmail.com>
2023-05-10 12:47:02 +02:00
Julien Constant
5ab5ef681c
Remove duplicated css
2023-05-09 23:08:32 +02:00