From 4830c3ea2d737dcbe509dbdac40a2c43ddf9425f Mon Sep 17 00:00:00 2001 From: Julien Constant <49886317+Juknum@users.noreply.github.com> Date: Tue, 4 Apr 2023 19:17:44 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20mars=20(#586)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --------- Co-authored-by: Thomas Girod Co-authored-by: Théo DURR --- .github/dependabot.yml | 18 + .readthedocs.yml | 2 +- LICENSE.old | 21 - README.md | 5 +- accounting/__init__.py | 24 +- accounting/admin.py | 24 +- accounting/models.py | 24 +- accounting/tests.py | 24 +- accounting/urls.py | 24 +- accounting/views.py | 24 +- api/__init__.py | 24 +- api/admin.py | 24 +- api/models.py | 24 +- api/tests.py | 24 +- api/urls.py | 24 +- api/views/__init__.py | 24 +- api/views/api.py | 24 +- api/views/club.py | 24 +- api/views/counter.py | 24 +- api/views/group.py | 24 +- api/views/launderette.py | 24 +- api/views/user.py | 24 +- club/__init__.py | 24 +- club/admin.py | 24 +- club/tests.py | 24 +- com/__init__.py | 24 +- com/admin.py | 24 +- com/models.py | 2 + com/templates/com/news_list.jinja | 13 +- com/tests.py | 28 +- com/urls.py | 24 +- core/__init__.py | 24 +- core/admin.py | 24 +- core/lookups.py | 24 +- core/management/__init__.py | 24 +- core/management/commands/__init__.py | 24 +- core/management/commands/setup.py | 24 +- core/markdown.py | 24 +- core/middleware.py | 24 +- .../0019_preferences_receive_weekmail.py | 2 +- core/models.py | 4 +- core/static/core/header.scss | 433 +++++++++++ core/static/core/img/logo_no_text.png | Bin 0 -> 7918 bytes core/static/core/js/script.js | 2 - core/static/core/navbar.scss | 110 +++ core/static/core/style.scss | 431 ++--------- core/static/counter/activity.scss | 24 + core/static/sas/album.scss | 249 ++++++ core/static/sas/picture.scss | 309 ++++++++ core/static/user/login.scss | 108 +++ core/static/user/user_detail.scss | 200 +++++ core/static/user/user_edit.scss | 193 +++++ core/static/user/user_godfathers.scss | 113 +++ core/static/user/user_group.scss | 12 + core/static/user/user_preferences.scss | 58 ++ core/static/user/user_stats.scss | 48 ++ core/static/user/user_tools.scss | 91 +++ core/templates/core/base.jinja | 486 ++++++------ core/templates/core/login.jinja | 72 +- core/templates/core/register.jinja | 39 +- core/templates/core/user_clubs.jinja | 2 + core/templates/core/user_detail.jinja | 305 ++++---- core/templates/core/user_edit.jinja | 250 ++++-- core/templates/core/user_godfathers.jinja | 52 +- core/templates/core/user_group.jinja | 24 +- core/templates/core/user_pictures.jinja | 42 +- core/templates/core/user_preferences.jinja | 95 ++- core/templates/core/user_stats.jinja | 44 +- core/templates/core/user_tools.jinja | 283 ++++--- core/templatetags/__init__.py | 24 +- core/templatetags/renderer.py | 55 +- core/tests.py | 26 +- core/utils.py | 51 +- core/views/files.py | 24 +- core/views/forms.py | 1 + core/views/group.py | 24 +- core/views/page.py | 24 +- counter/admin.py | 24 +- counter/models.py | 111 ++- counter/templates/counter/activity.jinja | 50 +- counter/templates/counter/stats.jinja | 97 +-- counter/tests.py | 232 +++++- counter/urls.py | 24 +- counter/views.py | 117 +-- doc/header | 27 +- eboutic/__init__.py | 24 +- eboutic/admin.py | 24 +- eboutic/models.py | 24 +- eboutic/views.py | 24 +- forum/__init__.py | 24 +- forum/admin.py | 24 +- forum/tests.py | 24 +- launderette/__init__.py | 24 +- launderette/admin.py | 24 +- launderette/models.py | 24 +- launderette/tests.py | 24 +- launderette/urls.py | 24 +- launderette/views.py | 24 +- locale/fr/LC_MESSAGES/django.po | 711 +++++++++--------- manage.py | 24 +- poetry.lock | 17 +- pyproject.toml | 2 +- rootplace/__init__.py | 24 +- rootplace/admin.py | 24 +- rootplace/models.py | 24 +- rootplace/tests.py | 24 +- sas/__init__.py | 24 +- sas/admin.py | 24 +- sas/models.py | 38 +- sas/templates/sas/album.jinja | 400 +++++----- sas/templates/sas/main.jinja | 148 ++-- sas/templates/sas/picture.jinja | 284 +++---- sas/tests.py | 24 +- sas/urls.py | 24 +- sas/views.py | 24 +- sith/__init__.py | 24 +- sith/settings.py | 4 +- sith/urls.py | 24 +- sith/wsgi.py | 24 +- subscription/__init__.py | 24 +- subscription/admin.py | 24 +- subscription/models.py | 24 +- subscription/tests.py | 24 +- subscription/urls.py | 24 +- subscription/views.py | 24 +- 125 files changed, 4978 insertions(+), 3243 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 LICENSE.old create mode 100644 core/static/core/header.scss create mode 100644 core/static/core/img/logo_no_text.png create mode 100644 core/static/core/navbar.scss create mode 100644 core/static/counter/activity.scss create mode 100644 core/static/sas/album.scss create mode 100644 core/static/sas/picture.scss create mode 100644 core/static/user/login.scss create mode 100644 core/static/user/user_detail.scss create mode 100644 core/static/user/user_edit.scss create mode 100644 core/static/user/user_godfathers.scss create mode 100644 core/static/user/user_group.scss create mode 100644 core/static/user/user_preferences.scss create mode 100644 core/static/user/user_stats.scss create mode 100644 core/static/user/user_tools.scss diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..fde3ebe0 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" + # Raise pull requests for version updates + # to pip against the `develop` branch + target-branch: "taiste" + reviewers: + - "ae-utbm/developpers-v3" + commit-message: + prefix: "[UPDATE] " \ No newline at end of file diff --git a/.readthedocs.yml b/.readthedocs.yml index afd7b4e3..481160ff 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -18,7 +18,7 @@ formats: all # Optionally set the version of Python and requirements required to build your docs python: - version: 3.8 + version: "3.8" install: - method: pip path: . diff --git a/LICENSE.old b/LICENSE.old deleted file mode 100644 index 4e272d3f..00000000 --- a/LICENSE.old +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Skia - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index 99c5a34c..bf818ec6 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - +

@@ -37,5 +37,4 @@ -> This project is licenced under GNU GPL, see the LICENSE file at the top of the repository for more details. - +> This project is licensed under GNU GPL, see the LICENSE file at the top of the repository for more details. diff --git a/accounting/__init__.py b/accounting/__init__.py index 0ace29c4..0aa913c4 100644 --- a/accounting/__init__.py +++ b/accounting/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/admin.py b/accounting/admin.py index 93960568..e485392d 100644 --- a/accounting/admin.py +++ b/accounting/admin.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/models.py b/accounting/models.py index 285a615a..8579e436 100644 --- a/accounting/models.py +++ b/accounting/models.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/tests.py b/accounting/tests.py index f1d7e855..4b44e599 100644 --- a/accounting/tests.py +++ b/accounting/tests.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/urls.py b/accounting/urls.py index 4ae59a1e..7363cd48 100644 --- a/accounting/urls.py +++ b/accounting/urls.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/views.py b/accounting/views.py index e3a0f83e..820c34cd 100644 --- a/accounting/views.py +++ b/accounting/views.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/__init__.py b/api/__init__.py index 0ace29c4..0aa913c4 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/admin.py b/api/admin.py index 84bb227c..362a5c4f 100644 --- a/api/admin.py +++ b/api/admin.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/models.py b/api/models.py index 5877743e..5672eba4 100644 --- a/api/models.py +++ b/api/models.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/tests.py b/api/tests.py index b8fbbe1e..46a200c2 100644 --- a/api/tests.py +++ b/api/tests.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/urls.py b/api/urls.py index 14ed5172..ca267eee 100644 --- a/api/urls.py +++ b/api/urls.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/__init__.py b/api/views/__init__.py index 96ee04d1..ae83fbe5 100644 --- a/api/views/__init__.py +++ b/api/views/__init__.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/api.py b/api/views/api.py index 94dcf35c..732ee654 100644 --- a/api/views/api.py +++ b/api/views/api.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/club.py b/api/views/club.py index d379d0b4..24377073 100644 --- a/api/views/club.py +++ b/api/views/club.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/counter.py b/api/views/counter.py index a57093c3..ddc1edfe 100644 --- a/api/views/counter.py +++ b/api/views/counter.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/group.py b/api/views/group.py index f4bb9951..f6fd7594 100644 --- a/api/views/group.py +++ b/api/views/group.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/launderette.py b/api/views/launderette.py index 96c831ef..a5d62e9f 100644 --- a/api/views/launderette.py +++ b/api/views/launderette.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/api/views/user.py b/api/views/user.py index be3d97f8..ed3b6b1a 100644 --- a/api/views/user.py +++ b/api/views/user.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/club/__init__.py b/club/__init__.py index 0ace29c4..0aa913c4 100644 --- a/club/__init__.py +++ b/club/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/club/admin.py b/club/admin.py index d72a66b2..c9b547b5 100644 --- a/club/admin.py +++ b/club/admin.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # from ajax_select import make_ajax_form diff --git a/club/tests.py b/club/tests.py index b7f3226f..e6df319b 100644 --- a/club/tests.py +++ b/club/tests.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/com/__init__.py b/com/__init__.py index 0ace29c4..0aa913c4 100644 --- a/com/__init__.py +++ b/com/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/com/admin.py b/com/admin.py index f7ffbeb3..7e31cd52 100644 --- a/com/admin.py +++ b/com/admin.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # from ajax_select import make_ajax_form diff --git a/com/models.py b/com/models.py index c3061ed0..c61fe7b4 100644 --- a/com/models.py +++ b/com/models.py @@ -36,6 +36,7 @@ from django.core.exceptions import ValidationError from django.utils import timezone +from core import utils from core.models import User, Preferences, RealGroup, Notification, SithFile from club.models import Club @@ -46,6 +47,7 @@ class Sith(models.Model): alert_msg = models.TextField(_("alert message"), default="", blank=True) info_msg = models.TextField(_("info message"), default="", blank=True) weekmail_destinations = models.TextField(_("weekmail destinations"), default="") + version = utils.get_git_revision_short_hash() def is_owned_by(self, user): return user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID) diff --git a/com/templates/com/news_list.jinja b/com/templates/com/news_list.jinja index dfc664e6..15eb7ea3 100644 --- a/com/templates/com/news_list.jinja +++ b/com/templates/com/news_list.jinja @@ -8,13 +8,13 @@ {% block content %} {% if user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID) %} +
{% endif %}
- {% for news in object_list.filter(type="NOTICE") %}

{{ news.title }}

@@ -97,6 +97,15 @@
{% endfor %} {% endif %} + +

{% trans %}All coming events{% endtrans %}

+
diff --git a/com/tests.py b/com/tests.py index e0ebfc69..def450d6 100644 --- a/com/tests.py +++ b/com/tests.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # @@ -82,7 +74,7 @@ class ComTest(TestCase): self.assertContains( r, """
-

ALERTE!

+

ALERTE!

Caaaataaaapuuuulte!!!!

""", ) @@ -100,7 +92,7 @@ class ComTest(TestCase): self.assertContains( r, """
-

INFO: Caaaataaaapuuuulte!!!!

""", +

INFO: Caaaataaaapuuuulte!!!!

""", ) def test_birthday_non_subscribed_user(self): diff --git a/com/urls.py b/com/urls.py index 433ec3b3..ca4ee41e 100644 --- a/com/urls.py +++ b/com/urls.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/__init__.py b/core/__init__.py index 0ace29c4..0aa913c4 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/admin.py b/core/admin.py index 4698a489..33ce50e4 100644 --- a/core/admin.py +++ b/core/admin.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/lookups.py b/core/lookups.py index 18e61f70..f245442b 100644 --- a/core/lookups.py +++ b/core/lookups.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/__init__.py b/core/management/__init__.py index 0ace29c4..0aa913c4 100644 --- a/core/management/__init__.py +++ b/core/management/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/commands/__init__.py b/core/management/commands/__init__.py index 0ace29c4..0aa913c4 100644 --- a/core/management/commands/__init__.py +++ b/core/management/commands/__init__.py @@ -1,23 +1,15 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/commands/setup.py b/core/management/commands/setup.py index 128b762d..b2e9ae27 100644 --- a/core/management/commands/setup.py +++ b/core/management/commands/setup.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/markdown.py b/core/markdown.py index 8ce70265..72b1cd02 100644 --- a/core/markdown.py +++ b/core/markdown.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/middleware.py b/core/middleware.py index 538fc7cb..39afa266 100644 --- a/core/middleware.py +++ b/core/middleware.py @@ -1,24 +1,16 @@ # -*- coding:utf-8 -* # -# Copyright 2016,2017 -# - Skia +# Copyright 2023 © AE UTBM +# ae@utbm.fr / ae.info@utbm.fr # -# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, -# http://ae.utbm.fr. +# This file is part of the website of the UTBM Student Association (AE UTBM), +# https://ae.utbm.fr. # -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License a published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. +# You can find the source code of the website at https://github.com/ae-utbm/sith3 # -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA. +# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) +# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/migrations/0019_preferences_receive_weekmail.py b/core/migrations/0019_preferences_receive_weekmail.py index 951488aa..5bfe0d97 100644 --- a/core/migrations/0019_preferences_receive_weekmail.py +++ b/core/migrations/0019_preferences_receive_weekmail.py @@ -13,7 +13,7 @@ class Migration(migrations.Migration): model_name="preferences", name="receive_weekmail", field=models.BooleanField( - default=False, verbose_name="do you want to receive the weekmail" + default=False, verbose_name="receive the weekmail" ), ) ] diff --git a/core/models.py b/core/models.py index e904603f..dff97cf0 100644 --- a/core/models.py +++ b/core/models.py @@ -783,9 +783,7 @@ class Preferences(models.Model): user = models.OneToOneField( User, related_name="_preferences", on_delete=models.CASCADE ) - receive_weekmail = models.BooleanField( - _("do you want to receive the weekmail"), default=False - ) + receive_weekmail = models.BooleanField(_("receive the Weekmail"), default=False) show_my_stats = models.BooleanField(_("show your stats to others"), default=False) notify_on_click = models.BooleanField( _("get a notification for every click"), default=False diff --git a/core/static/core/header.scss b/core/static/core/header.scss new file mode 100644 index 00000000..82d4bbfe --- /dev/null +++ b/core/static/core/header.scss @@ -0,0 +1,433 @@ +.header { + box-sizing: border-box; + background-color: #354a5f; + box-shadow: 3px 3px 3px 0 #dfdfdf; + border-radius: 0; + width: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + padding: 10px; + gap: 10px; + + @media (max-width: 700px) { + height: auto; + } + + @media (max-width: 580px) { + justify-content: space-between; + } + + &-logo { + display: flex; + flex-direction: row; + gap: 10px; + + >a { + color: #fff; + } + + &:hover>a { + color: #1a78b3; + } + + @media (max-width: 607px) { + width: 100%; + justify-content: center; + } + + &-picture { + height: 100%; + width: 65px; + display: flex; + + background-position: center center; + background-size: contain; + background-repeat: no-repeat; + + @media (max-width: 580px) { + height: auto; + } + } + + &-text { + color: white; + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + + >span:first-child { + font-size: 1.43em; + } + + >span:last-child { + font-size: .7em; + } + } + + } + + &-lang { + box-sizing: border-box; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 3px; + + @media (max-width: 580px) { + flex-direction: row; + } + + >form { + margin: 0; + box-sizing: border-box; + position: relative; + + >input[type=submit] { + border-radius: 0; + margin: 0; + box-sizing: border-box; + background-color: #354a5f; + width: 45px; + height: 25px; + padding: 0; + color: white; + font-weight: normal; + line-height: 1.3em; + + &:hover { + background-color: #283747; + } + } + } + } + + &-disconnected { + box-sizing: border-box; + flex: 1; + display: flex; + justify-content: flex-end; + align-items: center; + + @media (max-width: 607px) { + justify-content: center; + } + + >.button { + box-sizing: border-box; + height: 35px; + background-color: transparent; + font-weight: normal; + padding: 5px 20px; + display: flex; + justify-content: center; + align-items: center; + text-transform: uppercase; + text-decoration: none; + color: white; + margin: 0; + font-size: .9em; + width: 120px; + + &:hover { + background-color: #283747; + } + } + } + + &-disconnected~&-lang { + @media (max-width: 662px) { + flex-direction: row; + width: 100%; + } + } + + &-connected { + box-sizing: border-box; + flex: 1; + display: flex; + flex-direction: row; + + @media (min-width: 400px) and (max-width: 1200px) { + flex-direction: column; + min-width: 100%; + justify-content: center; + align-items: center; + gap: 10px; + } + + @media (max-width: 400px) { + flex-direction: column; + width: 100%; + gap: 10px; + padding: 0 10px; + } + + >.right, + >.left { + box-sizing: border-box; + display: flex; + flex-direction: row; + align-items: center; + + @media (min-width: 400px) and (max-width: 1200px) { + width: 100%; + justify-content: space-between; + padding: 0 20px; + } + } + + >.right { + flex: 1; + justify-content: flex-end; + + >.user { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + gap: 15px; + + @media (max-width: 1200px) { + width: 100%; + flex-direction: row-reverse; + justify-content: flex-end; + } + + >a>img { + width: 40px; + height: 40px; + border-radius: 50%; + } + + >.options { + display: flex; + flex-direction: column; + gap: 2px; + + >.username { + display: flex; + justify-content: flex-end; + gap: 5px; + + >a { + color: white; + + &:hover { + color: #1a78b3; + } + } + } + + >.links { + width: 100%; + display: flex; + justify-content: flex-end; + gap: 5px; + + @media (max-width: 1200px) { + justify-content: flex-start; + } + + >a { + text-align: right; + color: white; + + &:hover { + color: #1a78b3; + } + + &:last-child { + color: #eb2f06; + + &:hover { + color: #cc2804; + } + } + } + } + } + } + + >.notification { + height: 100%; + width: 55px; + display: flex; + justify-content: center; + align-items: center; + position: relative; + + >a { + color: white; + position: relative; + font-size: 25px; + + &:hover { + color: #1a78b3; + } + + >span { + color: white; + font-size: 14px; + display: flex; + justify-content: center; + align-items: center; + width: 10px; + height: 10px; + padding: 5px; + background-color: #eb2f06; + border-radius: 50%; + position: absolute; + top: -50%; + right: -50%; + } + } + + >#header_notif { + box-sizing: border-box; + display: none; + position: absolute; + margin: 0; + background-color: whitesmoke; + top: calc(100% + 10px); + right: calc(50% - 30px); + width: 400px; + max-width: calc(100vw - 30px); + padding: 10px; + z-index: 100; + border-radius: 10px; + box-shadow: 3px 3px 3px 0 #767676; + + >ul { + list-style-type: none; + margin: 0; + display: flex; + flex-direction: column; + gap: 10px; + min-height: 20px; + max-height: 120px; + overflow-y: auto; + + >li { + >a { + .datetime { + display: flex; + justify-content: flex-start; + gap: 10px; + font-style: italic; + font-size: .8em; + } + } + + &.empty-notification { + text-align: center; + font-style: italic; + } + } + } + + .options { + width: 100%; + display: flex; + justify-content: space-between; + margin-top: 10px; + gap: 5px; + + >a { + color: black; + padding: 5px; + width: 50%; + display: flex; + justify-content: center; + text-align: center; + align-items: center; + border-radius: 5px; + background-color: #ddd; + + &:hover { + background-color: rgba(0, 0, 0, .2); + } + } + } + } + } + } + + >.left { + gap: 10px; + display: flex; + + @media (max-width: 1200px) { + flex-direction: row-reverse; + } + + @media (max-width: 550px) { + flex-direction: column-reverse; + } + + >form { + margin: 0; + width: 200px; + + @media (max-width: 550px) { + width: 100%; + } + + >input[type=text] { + box-sizing: border-box; + max-width: 100%; + width: 100%; + height: 35px; + border-radius: 5px; + font-size: .9em; + margin: 0; + background-color: #283747; + padding: 0 10px; + color: white; + } + } + } + } + + &-connected~&-lang { + @media (max-width: 1200px) { + flex-direction: row; + width: 100%; + } + } +} + +.bars { + list-style-type: none; + min-width: 120px; + margin: 0; + padding: 0; + + @media(max-width: 1200px) { + display: flex; + flex-direction: row; + gap: 20px; + } + + >li>a { + display: flex; + color: white; + + &:hover { + color: #1a78b3; + } + + >span { + margin-left: 10px; + } + + >i { + width: 16px; + display: flex; + justify-content: center; + align-items: center; + } + } +} \ No newline at end of file diff --git a/core/static/core/img/logo_no_text.png b/core/static/core/img/logo_no_text.png new file mode 100644 index 0000000000000000000000000000000000000000..73e952577fdaf3ad3c19105db2a6949abb0631ad GIT binary patch literal 7918 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 .menu, + > .link { + box-sizing: border-box; + width: 130px; + height: 52px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + + @media (max-width: 500px) { + width: 100%; + height: auto; + justify-content: flex-start; + + &:first-child { + border-radius: .6em .6em 0 0; + } + + &:last-child { + border-radius: 0 0 .6em .6em; + + > .content { + box-shadow: 3px 3px 3px 0 #dfdfdf; + } + } + } + } + + > .menu > .head, + > .link { + color: white; + padding: 10px 20px; + box-sizing: border-box; + + @media (max-width: 500px) { + padding: 10px; + } + } + + .link:hover, + .menu:hover { + background-color: rgba(0, 0, 0, .2); + } + + > .menu:hover > .content, + > .menu > .head:hover + .content, + > .menu > .content:hover { + display: flex; + } + + > .menu { + display: flex; + position: relative; + + > .content { + z-index: 10; + display: none; + position: absolute; + top: 100%; + background-color: white; + margin: 0; + list-style-type: none; + width: 130px; + box-shadow: 3px 3px 3px 0 #dfdfdf; + flex-direction: column; + + @media (max-width: 500px) { + position: absolute; + flex-direction: row; + flex-wrap: wrap; + width: 100%; + box-shadow: inset 3px 3px 3px 0 #dfdfdf; + } + + > li > a { + display: flex; + padding: 15px 20px; + + @media (max-width: 500px) { + padding: 10px; + } + + &:hover { + color: hsl(203, 75%, 40%); + background-color: rgba(0, 0, 0, .05); + } + } + } + } +} \ No newline at end of file diff --git a/core/static/core/style.scss b/core/static/core/style.scss index 3279d0d7..7abfa8ca 100644 --- a/core/static/core/style.scss +++ b/core/static/core/style.scss @@ -48,6 +48,7 @@ body { font-family: sans-serif; } +a.button, button, input[type="button"], input[type="submit"], @@ -60,11 +61,13 @@ input[type="file"] { margin: 0.1em; font-size: 1.2em; border-radius: 5px; + color: black; &:hover { background: hsl(0, 0%, 83%); } } +a.button, input[type="button"], input[type="submit"], input[type="reset"], @@ -72,10 +75,12 @@ input[type="file"] { font-weight: bold; } +a.button:not(:disabled), button:not(:disabled), input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), input[type="reset"]:not(:disabled), +input[type="checkbox"]:not(:disabled), input[type="file"]:not(:disabled) { cursor: pointer; } @@ -99,6 +104,7 @@ textarea { padding: 7px; font-size: 1.2em; border-radius: 5px; + font-family: sans-serif; } select { border: none; @@ -109,7 +115,8 @@ select { border-radius: 5px; cursor: pointer; } -a { + +a:not(.button) { text-decoration: none; color: $primary-dark-color; &:hover { @@ -181,166 +188,6 @@ a { /*--------------------------------HEADER-------------------------------*/ -#header_language_chooser { - position: absolute; - top: 2em; - left: 0.5em; - width: 3%; - min-width: 2.2em; - text-align: center; - input { - display: block; - width: 100%; - padding: 4px; - margin: 0px; - } - form { - display: block; - margin: 0.2em 0em; - width: 100%; - } -} - -header { - width: 90%; - margin: 0 auto; - display: flex; - box-shadow: $shadow-color 0 0 15px; - border-top: none; - background-color: $primary-neutral-dark-color; - border-radius: 0px 0px 10px 10px; - - #header_logo { - background-color: $white-color; - padding: 0.2em; - border-radius: 0 0 0 9px; - - a { - display: flex; - align-items: center; - margin: 0px; - width: 100%; - height: 100%; - - img { - max-width: 70%; - max-height: 100%; - margin: auto; - display: block; - } - } - } - - #header_connect_links { - margin: 0.6em 0.6em 0 auto; - padding: 0.2em; - color: $white-color; - form { - display: inline; - width: 100%; - label { - display: inline; - } - } - } - - #header_bar { - display: flex; - flex: auto; - flex-wrap: wrap; - align-items: center; - width: 80%; - - a { - text-decoration: none; - margin: 0 1em; - font-weight: bold; - color: $white-color; - &:hover { - color: $secondary-color; - text-decoration: underline; - } - } - - #header_bars_infos { - flex: initial; - list-style-type: none; - margin: 0.2em 0.2em; - } - - #header_search { - display: inline-block; - flex: auto; - margin: 0.8em 0; - input { - width: 14ch; - } - } - - #header_user_links { - display: flex; - flex: initial; - flex-wrap: wrap; - text-align: right; - margin: 0; - div { - display: inline; - padding: 1.2em 0; - &:first-child { - flex: auto; - } - } - .white { - background: $white-color; - a { - color: $black-color; - } - } - #header_notif { - display: none; - position: absolute; - max-height: 20em; - width: 22em; - overflow: auto; - list-style-type: none; - box-shadow: grey 1px 1px 5px; - background: white; - text-align: left; - font-size: 80%; - margin: 1.5em 0 0em -14em; - .header_notif_date { - font-weight: bold; - } - .header_notif_time { - color: grey; - } - a { - margin: 0; - color: $black-color; - &:hover { - color: $primary-dark-color; - } - } - li { - padding: 0.2em; - &:hover { - background: hsl(180, 14%, 77%); - } - } - li:last-child { - text-align: center; - a { - color: $primary-dark-color; - &:hover { - color: $primary-light-color; - } - } - } - } - } - } -} - #popupheader { width: 88%; margin: 0 auto; @@ -350,8 +197,13 @@ header { #info_boxes { display: flex; flex-wrap: wrap; - width: 90%; - margin: 1em auto; + margin: 1em; + + @media (max-width: 500px) { + margin: 0; + width: 100%; + } + #alert_box, #info_box { flex: 49%; @@ -388,75 +240,6 @@ header { width: 90%; margin: 20px auto 0; /*---------------------------------NAV---------------------------------*/ - nav { - display: flex; - flex-wrap: wrap; - background-color: $primary-dark-color; - color: $white-color; - border-radius: 6px 6px 0 0; - box-shadow: $shadow-color 0 0 15px; - align-items: center; - - a { - flex: auto; - text-align: center; - padding: 1.5em; - color: $white-color; - font-style: normal; - font-weight: bolder; - text-decoration: none; - - &:hover { - background: $secondary-neutral-color; - color: $white-color; - &:first-of-type { - border-radius: 6px 0 0 0; - } - &:last-of-type { - border-radius: 0 6px 0 0; - } - } - } - - .dropdown { - flex: auto; - text-align: center; - position: relative; - } - - .dropbtn { - all: unset; - padding: 20px; - font-weight: bolder; - } - - .dropdown-content { - display: none; - position: absolute; - overflow: auto; - width: 100%; - background-color: #f9f9f9; - box-shadow: 3px 3px 3px 0 $shadow-color; - z-index: 1; - } - - .dropdown-content a { - float: none; - color: black; - padding: 12px 16px; - display: block; - text-align: center; - &:hover { - border-radius: unset; - color: white; - background: $secondary-neutral-color; - } - } - - .dropdown:hover .dropdown-content { - display: block; - } - } .btn { font-size: 15px; @@ -570,7 +353,11 @@ header { /*---------------------------------NEWS--------------------------------*/ #news { display: flex; - flex-wrap: wrap; + + @media (max-width: 800px) { + flex-direction: column; + } + .news_column { display: inline-block; margin: 0; @@ -1120,32 +907,26 @@ h6 { h1 { font-size: 160%; - margin-left: 0; } h2 { font-size: 150%; - margin-left: 10px; } h3 { font-size: 140%; - margin-left: 20px; } h4 { font-size: 130%; - margin-left: 30px; } h5 { font-size: 120%; - margin-left: 40px; } h6 { font-size: 110%; - margin-left: 50px; } p, @@ -1199,17 +980,37 @@ blockquote h5:first-child { table { width: 100%; - font-size: 0.9em; + margin: 15px auto; + border-collapse: collapse; + border-spacing: 0; + border-radius: 5px; + -moz-border-radius: 5px; + overflow: hidden; + box-shadow: rgba(60, 64, 67, .3) 0 1px 3px 0, rgba(60, 64, 67, .15) 0 4px 8px 3px; +} + +@media screen and (max-width: 500px){ + table { + width: 100%; + } } th { padding: 4px; } +td, th { + vertical-align: middle; + text-align: center; + padding: 5px 10px; + > ul { + margin-top: 0; + } +} + td { padding: 4px; margin: 5px; - border: solid 1px $primary-neutral-color; border-collapse: collapse; vertical-align: top; overflow: hidden; @@ -1219,18 +1020,29 @@ td { } } +th, thead td { + text-align: center; + border-top: none; +} + thead { - font-weight: bold; + background-color: #354a5f; + color: white; } tbody > tr { &:nth-child(even) { background: $primary-neutral-light-color; } - &:hover { + &.clickable:hover { + cursor: pointer; background: $secondary-neutral-light-color; width: 100%; } + &.highlight { + color: $primary-dark-color; + font-style: italic; + } } sup { @@ -1297,88 +1109,6 @@ u, /*-----------------------------USER PROFILE----------------------------*/ -#user_profile_page { - #user_profile { - display: flex; - justify-content: center; - margin-top: 2em; - margin-bottom: 4em; - #user_profile_infos { - flex-basis: 30%; - border-right: solid 1px grey; - div { - margin: 0.5em; - } - #user_profile_infos_items { - margin-top: 3em; - } - .user_profile_infos_item, - .user_profile_infos_item_value { - vertical-align: top; - display: inline-block; - width: 49%; - } - .user_profile_infos_item { - color: grey; - } - #user_profile_infos_promo { - display: flex; - align-items: center; - img { - width: 5em; - margin: 0.5em; - } - } - #user_profile_infos_quote { - text-align: right; - color: grey; - font-style: italic; - &:after, - &:before { - content: "\201C"; - vertical-align: middle; - } - } - } - #user_profile_pictures { - height: 20em; - flex-basis: 30%; - display: flex; - justify-content: flex-end; - #user_profile_pictures_bigone { - flex-grow: 9; - flex-basis: 20em; - display: flex; - justify-content: center; - align-items: center; - img { - max-width: 100%; - max-height: 100%; - object-fit: contain; - } - } - #user_profile_pictures_thumbnails { - flex-grow: 1; - flex-basis: 50px; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - img { - margin: 0.1em; - width: 50px; - } - } - } - @media screen and (max-width: $small-devices) { - #user_profile_infos, - #user_profile_pictures { - flex-basis: 50%; - } - } - } -} - .user_mini_profile { height: 100%; width: 100%; @@ -1660,47 +1390,6 @@ textarea { } } -/*------------------------------SAS------------------------------------*/ - -.album { - display: inline-block; - border: solid 1px $black-color; - text-align: center; - padding: 5px; - width: 200px; - height: 140px; - background: hsl(0, 0%, 93%); - box-shadow: black 2px 2px 10px; - margin: 10px; - vertical-align: top; - img { - max-height: 100px; - } -} - -.picture { - display: inline-block; - border: solid 1px $black-color; - width: 150px; - height: 100px; - margin: 5px; - background: #eeeeee; - box-shadow: grey 2px 2px 5px; - padding: 2px; - vertical-align: middle; - img { - max-width: 100%; - max-height: 100px; - display: block; - margin: auto; - } -} - -.not_moderated { - border: solid 1px red; - box-shadow: red 2px 2px 10px; -} - /*--------------------------------FOOTER-------------------------------*/ footer { @@ -1716,18 +1405,24 @@ footer { border-radius: 5px; display: flex; flex-wrap: wrap; + align-items: center; background-color: $primary-neutral-dark-color; box-shadow: $shadow-color 0 0 15px; a { padding: 0.8em; flex: 1; font-weight: bold; - color: $white-color; + color: $white-color !important; &:hover { color: $primary-dark-color; } } } + + > .version { + margin-top: 3px; + color: rgba(0, 0, 0, .3) + } } /*---------------------------------FORMS-------------------------------*/ @@ -2350,4 +2045,4 @@ $pedagogy-white-text: #f0f0f0; } } } -} +} \ No newline at end of file diff --git a/core/static/counter/activity.scss b/core/static/counter/activity.scss new file mode 100644 index 00000000..1ffb1111 --- /dev/null +++ b/core/static/counter/activity.scss @@ -0,0 +1,24 @@ +.activity-description { + display: flex; + flex-direction: column; + gap: 5px; + width: 100%; + margin-top: 10px; + + > div { + display: flex; + flex-direction: row; + gap: 10px; + + > span { + text-align: left; + } + + > i { + width: 16px; + display: flex; + justify-content: center; + align-items: center; + } + } +} \ No newline at end of file diff --git a/core/static/sas/album.scss b/core/static/sas/album.scss new file mode 100644 index 00000000..fbbba94b --- /dev/null +++ b/core/static/sas/album.scss @@ -0,0 +1,249 @@ +main { + box-sizing: border-box; + padding: 10px; +} + +.navbar { + margin-top: 10px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 10px; + justify-content: space-between; +} + +.toolbar { + display: flex; + align-items: flex-end; + flex-wrap: wrap; + gap: 5px; + + > a, + > input { + padding: 0.4em; + margin: 0.1em; + font-size: 1.2em; + line-height: 1.2em; + color: black; + background-color: #f2f2f2; + border-radius: 5px; + font-weight: bold; + + &:hover { + background-color: #d4d4d4; + } + + &:disabled { + background-color: #f2f2f2; + color: #d4d4d4; + } + } +} + +.add-files { + display: flex; + flex-direction: column; + + > .inputs { + align-items: flex-end; + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 10px; + + > p { + box-sizing: border-box; + max-width: 300px; + width: 100%; + + @media (max-width: 500px) { + max-width: 100%; + } + + > input { + box-sizing: border-box; + max-width: 100%; + width: 100%; + height: 40px; + line-height: normal; + font-size: 16px; + } + } + + > div > input, + > input { + box-sizing: border-box; + height: 40px; + width: 100%; + max-width: 300px; + + @media (max-width: 500px) { + max-width: 100%; + } + } + + > div { + width: 100%; + max-width: 300px; + } + + > input[type=submit]:hover { + background-color: #287fb8; + color: white; + } + } + +} + +.clipboard { + margin-top: 10px; + padding: 10px; + background-color: rgba(0,0,0,.1); + border-radius: 10px; +} + +.paginator { + display: flex; + justify-content: center; + gap: 10px; + width: -moz-fit-content; + width: fit-content; + background-color: rgba(0,0,0,.1); + border-radius: 10px; + padding: 10px; + margin: 10px 0 10px auto; +} + +.photos, +.albums { + box-sizing: border-box; + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 5px; + + > div { + background: rgba(0, 0, 0, .5); + cursor: not-allowed; + } + + > div, + > a { + box-sizing: border-box; + position: relative; + height: 128px; + + @media (max-width: 500px) { + width: calc(50% - 5px); + height: 108px; + } + + @media (max-width: 300px) { + width: 100%; + } + + &:hover { + background: rgba(0, 0, 0, .5); + } + + > input[type=checkbox] { + position: absolute; + top: 0; + right: 0; + height: 15px; + width: 15px; + margin: 5px; + + cursor: pointer; + } + + > .photo, + > .album { + box-sizing: border-box; + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + + width: calc(16 / 9 * 128px); + height: 128px; + + margin: 0; + padding: 0; + box-shadow: none; + + border: 1px solid rgba(0, 0, 0, .3); + + @media (max-width: 500px) { + width: 100%; + height: 100%; + } + + &:hover > .text { + background-color: rgba(0, 0, 0, .5); + } + + &:hover > .overlay { + -webkit-backdrop-filter: blur(2px); + backdrop-filter: blur(2px); + + ~ .text { + background-color: transparent; + } + } + + > .text { + position: absolute; + box-sizing: border-box; + top: 0; + left: 0; + width: 100%; + height: 100%; + + display: flex; + flex-direction: column; + justify-content: flex-end; + align-items: flex-start; + + padding: 10px; + color: white; + } + + > .overlay { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + + &::before { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: '⚠️'; + color: white; + display: flex; + justify-content: center; + align-items: center; + + background: rgba(0, 0, 0, .5); + -webkit-backdrop-filter: blur(5px); + backdrop-filter: blur(5px); + } + } + } + + > .album > div { + background: rgba(0, 0, 0, .5); + background: linear-gradient(0deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%); + text-align: left; + word-break: break-word; + } + + > .photo > .text { + align-items: center; + padding-bottom: 30px; + } + } +} \ No newline at end of file diff --git a/core/static/sas/picture.scss b/core/static/sas/picture.scss new file mode 100644 index 00000000..f5c895fe --- /dev/null +++ b/core/static/sas/picture.scss @@ -0,0 +1,309 @@ +#content { + padding: 10px !important; +} + +.title { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.container { + display: flex; + flex-direction: row; + gap: 10px; + + @media (max-width: 1000px) { + flex-direction: column; + } +} + +.main { + display: flex; + flex-direction: column; + width: calc(75% - 5px); + gap: 10px; + + @media (max-width: 1000px) { + width: 100%; + } + + > .photo { + box-sizing: border-box; + height: 500px; + display: flex; + justify-content: center; + background-color: #333333; + padding: 5px; + + @media (max-width: 1000px) { + width: 100%; + height: auto; + } + + > img { + height: 100%; + max-width: 100%; + object-fit: contain; + } + } +} + +.subsection { + width: calc(25% - 5px); + + @media (max-width: 1000px) { + width: 100%; + } + + > .navigation { + display: flex; + flex-direction: row; + gap: 10px; + + @media (max-width: 1000px) { + width: 100%; + } + + > #prev, + > #next { + width: calc(50% - 5px); + aspect-ratio: 16/9; + background: #aaa; + + > a { + display: flex; + position: relative; + width: 100%; + height: 100%; + + > div { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + font-size: 30px; + color: white; + + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + + &::before { + position: absolute; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background-color: rgba(0, 0, 0, .3); + } + } + } + } + + > #prev > a > div::before { + content: '←'; + } + > #next > a > div::before { + content: '→'; + } + } + + > .tags { + @media (min-width: 1001px) { + margin-right: 5px; + } + + > ul { + list-style-type: none; + margin: 0; + display: flex; + flex-direction: column; + gap: 5px; + + @media (max-width: 1000px) { + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + margin-right: 5px; + } + + > li { + box-sizing: border-box; + display: flex; + flex-direction: row; + align-items: center; + width: 100%; + justify-content: space-between; + + @media (max-width: 1000px) { + max-width: calc(50% - 5px); + } + + > a { + display: flex; + flex-direction: row; + align-items: center; + gap: 10px; + + &.user { + width: 100%; + background-color: #eee; + padding: 5px 10px 5px 5px; + border-radius: 5px; + color: black; + max-width: calc(100% - 40px); + min-height: 30px; + + &:hover { + background-color: #aaa; + } + + > span { + width: 100%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + } + + &.delete { + margin-left: 10px; + } + + > img { + width: 25px; + max-height: 25px; + object-fit: contain; + border-radius: 50%; + } + } + } + } + + > form { + > p { + box-sizing: border-box; + + > input { + width: 100%; + max-width: 100%; + box-sizing: border-box; + } + } + + > .results_on_deck > div { + position: relative; + display: flex; + align-items: center; + word-break: break-word; + + > span { + position: absolute; + top: 0; + right: 0; + } + } + + > input { + width: 100%; + max-width: 100%; + box-sizing: border-box; + } + } + } +} + +.general { + display: flex; + flex-direction: row; + gap: 20px; + + @media (max-width: 1000px) { + flex-direction: column; + } + + > .infos { + display: flex; + flex-direction: column; + + > div > div { + display: flex; + flex-direction: row; + justify-content: space-between; + + > *:first-child { + min-width: 150px; + + @media (max-width: 1000px) { + min-width: auto; + } + } + } + } + + > .tools { + display: flex; + flex-direction: column; + width: 100%; + + > div { + display: flex; + flex-direction: row; + justify-content: space-between; + + > div { + > a.button { + box-sizing: border-box; + background-color: #f2f2f2; + display: flex; + justify-content: center; + align-items: center; + padding: 10px; + color: black; + border-radius: 5px; + width: 40px; + height: 40px; + + &:hover { + background-color: #aaa; + } + } + + > a.text.danger { + color: red; + + &:hover { + color: darkred; + } + } + + &.buttons { + display: flex; + gap: 5px; + } + } + } + } +} + +.moderation { + box-sizing: border-box; + width: 100%; + border: 2px solid coral; + border-radius: 2px; + padding: 10px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + + > div:last-child { + display: flex; + gap: 20px; + } +} diff --git a/core/static/user/login.scss b/core/static/user/login.scss new file mode 100644 index 00000000..fb4a5768 --- /dev/null +++ b/core/static/user/login.scss @@ -0,0 +1,108 @@ +html, +body { + box-sizing: border-box; + height: 100%; +} + +body { + display: flex; + flex-direction: column; +} + +#page { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + #content { + display: flex; + flex-direction: column; + padding: 10px; + box-shadow: none; + background-color: white; + margin: 0; + + > .title { + text-align: center; + margin: 0; + } + + > div, + > form { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 10px; + width: 100%; + max-width: 500px; + margin-top: 20px; + + > p, + > div { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + margin: 0; + + > label { + width: 100%; + + @media (min-width: 500px) { + width: 300px; + } + } + } + + > input, + > p > input, + > div > input { + box-sizing: border-box; + width: 100%; + max-width: 500px; + + @media (min-width: 500px) { + max-width: 300px; + } + } + + > .errorlist { + color: red; + text-align: center; + margin: 10px 0 0 0; + list-style-type: none; + } + + > .required > .helptext { + text-align: center; + font-style: italic; + } + + > .required:last-of-type { + box-sizing: border-box; + max-width: 300px; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; + + > label { + width: 100%; + } + + > img { + width: 70px; + object-fit: contain; + } + + > input { + width: 200px; + } + } + } + } +} \ No newline at end of file diff --git a/core/static/user/user_detail.scss b/core/static/user/user_detail.scss new file mode 100644 index 00000000..6ac5065a --- /dev/null +++ b/core/static/user/user_detail.scss @@ -0,0 +1,200 @@ +main { + box-sizing: border-box; + display: flex; + margin-bottom: 4em; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 10px; + width: 100%; + + > .user_profile > .user_profile_infos { + @media (max-width: 960px) { + border-right-color: transparent; + } + } +} + +.user-name { + display: flex; + flex-direction: column; + align-items: flex-start; + width: 100%; + max-width: 1080px; + margin: 0 auto; +} + +.infos-and-picture { + display: flex; + flex-direction: row; + justify-content: center; + width: 100%; + max-width: 1080px; + margin: 0 auto; + + @media (max-width: 960px) { + flex-direction: column-reverse; + gap: 20px; + } + + > .user_profile_infos { + width: 50%; + border-right: solid 1px grey; + + @media (max-width: 960px) { + width: 100%; + } + + @media (min-width: 960px) { + padding-right: 20px; + } + + > .user_profile_infos_promo { + display: flex; + flex-direction: row; + gap: 10px; + align-items: center; + justify-content: center; + width: 100%; + + > img { + width: 5em; + margin: 0.5em; + } + } + + > .user_profile_infos_items { + margin-top: 30px; + display: flex; + flex-direction: column; + gap: 5px; + + > div { + box-sizing: border-box; + display: flex; + + > .user_profile_infos_item, + > .user_profile_infos_item_value { + vertical-align: top; + display: block; + width: 50%; + } + + > .user_profile_infos_item { + color: gray; + } + } + } + + > #user_profile_infos_quote { + text-align: right; + color: grey; + font-style: italic; + + @media (max-width: 960px) { + text-align: center; + } + + &:after, + &:before { + vertical-align: middle; + } + + &:before { + content: "\201C"; + } + + &:after { + content: "\201D"; + } + } + } + + > .user_profile_pictures { + height: 20em; + width: 50%; + display: flex; + flex-direction: row; + justify-content: flex-end; + + @media (max-width: 960px) { + width: 100%; + height: 100%; + flex-direction: column; + } + + @media (min-width: 960px) { + padding-left: 20px; + } + + > .user_profile_pictures_bigone { + flex-grow: 9; + flex-basis: 20em; + display: flex; + justify-content: center; + align-items: center; + + > img { + max-height: 100%; + max-width: 100%; + object-fit: contain; + + @media (max-width: 960px) { + max-width: 300px; + width: 100%; + object-fit: contain; + } + } + } + + > .user_profile_pictures_thumbnails { + padding: 20px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 20px; + flex-grow: 1; + + @media (max-width: 960px) { + flex-direction: row; + height: 50%; + } + + > img { + max-height: calc(100% / 3); + width: 100%; + object-fit: contain; + + @media (max-width: 960px) { + max-height: 100%; + max-width: calc(100% / 3) !important; + height: auto; + } + } + } + } +} + +.form-gifts { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + gap: 10px; + + @media (max-width: 960px) { + flex-direction: column; + } + + >select, + >input { + min-width: 300px; + max-width: 100%; + height: 40px; + + @media (max-width: 960px) { + width: 100%; + } + } +} \ No newline at end of file diff --git a/core/static/user/user_edit.scss b/core/static/user/user_edit.scss new file mode 100644 index 00000000..fdba806e --- /dev/null +++ b/core/static/user/user_edit.scss @@ -0,0 +1,193 @@ + +@media (max-width: 750px) { + .title { + text-align: center; + } +} + +.field-error { + height: auto !important; + + > ul { + list-style-type: none; + margin: 0; + color: indianred; + + > li { + text-align: left !important; + line-height: normal; + margin-top: 5px; + } + } +} + +.profile { + &-visible { + display: flex; + justify-content: center; + align-items: center; + gap: 5px; + padding-top: 10px; + } + + &-pictures { + box-sizing: border-box; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + gap: 40px; + align-items: stretch; + + @media (max-width: 750px) { + flex-direction: column; + gap: 10px + } + } + + &-picture { + box-sizing: border-box; + display: flex; + justify-content: space-between; + flex-direction: column; + align-items: center; + flex-wrap: wrap; + gap: 20px; + width: 100%; + height: 100%; + max-width: 300px; + + @media (max-width: 750px) { + max-width: 100%; + padding: 10px 10px 0; + } + + &-display { + display: flex; + flex-direction: column; + justify-content: center; + height: 300px; + gap: 10px; + + @media (max-width: 750px) { + height: auto; + } + + >img { + width: 100% !important; + object-fit: contain; + height: auto; + } + + >p { + text-align: left !important; + width: 100% !important; + } + } + + &-edit { + display: flex; + flex-direction: column-reverse; + align-items: center; + justify-content: center; + width: 100%; + + > a { + margin-bottom: 15px; + } + + > input { + font-size: .8em; + font-weight: normal; + cursor: pointer; + } + + > p { + margin-bottom: 0; + text-align: left !important; + min-height: 50px; + } + } + } + + &-fields { + padding: 10px 10px 0; + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 10px; + justify-content: center; + } + + &-field { + display: flex; + flex-direction: row; + align-items: center; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + width: 100%; + max-width: 330px; + min-width: 300px; + + @media (max-width: 750px) { + gap: 4px; + max-width: 100%; + } + + >* { + width: 100%; + max-width: 300px; + + @media (max-width: 750px) { + max-width: 100%; + } + } + + &-label { + text-align: left !important; + } + + &-content { + + >* { + box-sizing: border-box; + text-align: left !important; + line-height: 40px; + max-width: 100%; + width: 100%; + height: 40px; + margin: 0; + + >* { + text-align: left !important; + } + } + + + >textarea { + height: 120px; + min-height: 40px; + min-width: 300px; + max-width: 300px; + line-height: initial; + + @media (max-width: 750px) { + max-width: 100%; + } + } + + >input[type="file"] { + font-size: small; + line-height: 30px; + } + + >input[type="checkbox"] { + width: 20px; + height: 20px; + margin: 0; + float: left; + } + } + } +} \ No newline at end of file diff --git a/core/static/user/user_godfathers.scss b/core/static/user/user_godfathers.scss new file mode 100644 index 00000000..e600ec1b --- /dev/null +++ b/core/static/user/user_godfathers.scss @@ -0,0 +1,113 @@ +.container { + display: flex; + flex-direction: column; + gap: 10px; + padding: 10px; + box-sizing: border-box; + + > form { + margin: 0; + } +} + +.users { + display: flex; + flex-direction: row; + flex-wrap: wrap; + list-style-type: none; + margin: 0; + gap: 10px +} + +.users-card { + display: flex; + flex-direction: column; + gap: 10px; + width: 150px; + padding: 10px; + background-color: rgba(0, 0, 0, .05); + border-radius: 10px; + + @media (max-width: 375px) { + width: 100%; + } + + // Django moment + > div.mini_profile_link { + position: relative; + + > a { + &.mini_profile_link { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 10px; + + @media (max-width: 375px) { + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + max-height: 65px; + } + + > span { + height: 150px; + width: 100%; + + @media (max-width: 375px) { + height: 80px; + width: 80px; + } + + > img { + width: 100%; + max-width: 100%; + max-height: 100%; + height: auto; + object-fit: contain; + + @media (max-width: 375px) { + max-width: 100%; + max-height: 80px; + } + } + } + + > em { + box-sizing: border-box; + padding: 0 5px; + text-align: center; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + + @media (max-width: 375px) { + margin-top: 10px; + text-align: left; + max-width: none; + width: 100%; + } + } + } + + &:last-of-type { + margin-top: 10px; + display: block; + text-align: center; + color: orangered; + + @media (max-width: 375px) { + position: absolute; + bottom: 0%; + right: 0; + } + } + } + } + + // Django moment + > a.mini_profile_link { + display: none; + } +} \ No newline at end of file diff --git a/core/static/user/user_group.scss b/core/static/user/user_group.scss new file mode 100644 index 00000000..5c110c4b --- /dev/null +++ b/core/static/user/user_group.scss @@ -0,0 +1,12 @@ +#id_groups { + margin: 0; + + >li { + list-style-type: none; + padding-left: 20px; + + >label { + cursor: pointer; + } + } +} \ No newline at end of file diff --git a/core/static/user/user_preferences.scss b/core/static/user/user_preferences.scss new file mode 100644 index 00000000..c61142d0 --- /dev/null +++ b/core/static/user/user_preferences.scss @@ -0,0 +1,58 @@ +.form { + display: flex; + flex-direction: column; + margin: 10px 0; + gap: 5px; + + &-general { + > p { + display: flex; + flex-direction: row-reverse; + justify-content: left; + align-items: center; + gap: 5px; + margin: 0; + + > label { + cursor: pointer; + margin: 0; + } + } + } + + &-cards, + &-trombi { + >p { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: justify; + gap: 5px; + margin: 0; + + >input, + >select { + min-width: 300px; + } + } + } + + &-submit-btn { + margin-top: 10px !important; + max-width: 100px; + } +} + +.justify { + text-align: justify; +} + +.main { + padding: 10px; +} + +.no-cards, +.student-cards { + margin-top: 10px; + display: block; +} diff --git a/core/static/user/user_stats.scss b/core/static/user/user_stats.scss new file mode 100644 index 00000000..62edec5c --- /dev/null +++ b/core/static/user/user_stats.scss @@ -0,0 +1,48 @@ +.container { + padding: 10px; + display: flex; + flex-direction: column; + gap: 10px; +} + +.row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + margin-bottom: 10px; + gap: 30px; + + @media (max-width: 535px) { + gap: 20px; + + >div, + >div>.flexed { + width: 100%; + align-items: stretch; + } + } +} + + +.flexed { + display: flex; + flex-direction: column; + gap: 2px; + align-items: self-start; + + >div { + display: flex; + justify-content: space-between; + + >b, + >span { + width: 120px; + + &:last-child { + text-align: right; + } + } + } +} \ No newline at end of file diff --git a/core/static/user/user_tools.scss b/core/static/user/user_tools.scss new file mode 100644 index 00000000..82cb5cbf --- /dev/null +++ b/core/static/user/user_tools.scss @@ -0,0 +1,91 @@ +main { + box-sizing: border-box; + padding: 10px; +} + +.container { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + margin-top: 20px; + gap: 10px; + + > div { + border-radius: 10px; + background-color: rgba(0, 0, 0, .05); + width: 210px; + + > h4 { + text-align: center; + } + + > ul { + list-style-type: none; + margin: 20px 10px; + display: flex; + flex-direction: column; + gap: 10px; + + > .rows { + display: flex; + flex-direction: column; + gap: 5px; + + > span { + margin-top: 5px; + } + + > span > span, + > span { + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 5px; + width: 100%; + + >.button { + font-size: smaller; + width: 100%; + margin: 0; + } + + > span { + display: flex; + flex-direction: row; + width: 100%; + + > .button { + width: 100%; + } + } + } + + > span > span { + flex-wrap: nowrap; + } + } + + > .counter { + background-color: rgba(0, 0, 0, .05); + border-radius: 5px; + padding: 10px; + + @media (max-width: 550px) { + background-color: rgba(0, 0, 0, .1); + } + } + } + } + + @media (max-width: 550px) { + >div { + width: 100%; + background-color: transparent; + + >h4 { + text-align: left; + } + } + } +} \ No newline at end of file diff --git a/core/templates/core/base.jinja b/core/templates/core/base.jinja index e343f2a1..1cf84aaf 100644 --- a/core/templates/core/base.jinja +++ b/core/templates/core/base.jinja @@ -2,27 +2,32 @@ {% block head %} - {% block title %}{% trans %}Welcome!{% endtrans %}{% endblock %} - Association des Étudiants UTBM - - - - - - - {% block jquery_css %} - {# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #} - - {% endblock %} - - - + {% block title %}{% trans %}Welcome!{% endtrans %}{% endblock %} - Association des Étudiants UTBM + + + + + + + + - - - - - {% block additional_css %}{% endblock %} - {% block additional_js %}{% endblock %} + {% block jquery_css %} + {# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #} + + {% endblock %} + + + + + + + + + + + {% block additional_css %}{% endblock %} + {% block additional_js %}{% endblock %} {% endblock %} @@ -33,197 +38,215 @@ {% csrf_token %} {% block header %} - {% if not popup %} -
-
- {% for language in LANGUAGES %} -
{% csrf_token %} - - - -
- {% endfor %} -
- - {% if not user.is_authenticated %} - + {% if not popup %} +
+ + {% if not user.is_authenticated %} + + {% else %} +
+
+ + +
+ +
+ {% endif %} +
+ {% for language in LANGUAGES %} +
+ {% csrf_token %} + + + +
+ {% endfor %} +
+
+ + {% block info_boxes %} +
+ {% set sith = get_sith() %} + {% if sith.alert_msg %} +
+ {{ sith.alert_msg|markdown }} +
+ {% endif %} + {% if sith.info_msg %} +
+ {{ sith.info_msg|markdown }} +
+ {% endif %} +
+ {% endblock %} + {% else %} -
- - {% endcache %} - - -
+
{{ user.get_display_name() }}
{% endif %} -
- -
- {% block info_boxes %} - {% set sith = get_sith() %} - {% if sith.alert_msg %} -
- {{ sith.alert_msg|markdown }} -
- {% endif %} - {% if sith.info_msg %} -
- {{ sith.info_msg|markdown }} -
- {% endif %} - {% endblock %} -
- - {% else %}{# if not popup #} -
{{ user.get_display_name() }}
- {% endif %} - {% endblock %} + {% block nav %} + {% if not popup %} + + {% endif %} + {% endblock %} +
- {% block nav %} - {% if not popup %} - - {% endif %} - {% endblock %}
    {% for n in quick_notifs %} @@ -232,20 +255,15 @@
- {% if list_of_tabs %} -
-
{{ tabs_title }}
-
- {% for t in list_of_tabs -%} - {{ t.name }} - {%- endfor %} -
-
- {% endif %} + {% if list_of_tabs %} +
+
+ {% for t in list_of_tabs -%} + {{ t.name }} + {%- endfor %} +
+
+ {% endif %} {% if error %} {{ error }} @@ -256,18 +274,26 @@
{% if not popup %} - + {% endif %} -
-

{{ profile.get_full_name() }}

+
+

{{ profile.get_full_name() }}

{% if profile.nick_name %} -
« {{ profile.nick_name }} »
+ {% endif %} +
- - - {% if profile.quote %} -
+
+