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 00000000..73e95257 Binary files /dev/null and b/core/static/core/img/logo_no_text.png differ diff --git a/core/static/core/js/script.js b/core/static/core/js/script.js index 671785fe..1ab7887e 100644 --- a/core/static/core/js/script.js +++ b/core/static/core/js/script.js @@ -1,5 +1,3 @@ -console.log('Guy'); - $( function() { buttons = $(".choose_file_button"); popups = $(".choose_file_widget"); diff --git a/core/static/core/navbar.scss b/core/static/core/navbar.scss new file mode 100644 index 00000000..2eede6c0 --- /dev/null +++ b/core/static/core/navbar.scss @@ -0,0 +1,110 @@ +nav.navbar { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: center; + justify-content: center; + background-color: hsl(203, 75%, 40%); + margin: 1em; + color: white; + border-radius: 0.6em; + + @media (max-width: 500px) { + position: relative; + flex-direction: column; + align-items: flex-start; + gap: 0; + margin: .2em; + } + + > .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 %} -
+
+