Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • mediatek/site-interludes
  • aeltheos/site-kwei
  • mediatek/site-kwei
3 results
Show changes
Commits on Source (34)
Showing
with 131 additions and 74 deletions
...@@ -112,7 +112,7 @@ Le site se gère depuis deux pages d'administration: ...@@ -112,7 +112,7 @@ Le site se gère depuis deux pages d'administration:
## En production ## En production
Le serveur a besoin d'être configuré pour HTTPS et d'être configuré pour livrer directement les fichiers situés des `/static/`. Le serveur a besoin d'être configuré pour HTTPS et d'être configuré pour livrer directement les fichiers situés dans `/static/` et `/media/`.
1. Installer les dépendances `make install` 1. Installer les dépendances `make install`
......
...@@ -12,16 +12,6 @@ ...@@ -12,16 +12,6 @@
<a class="button" href="{% url 'profile' %}">Annuler</a> <a class="button" href="{% url 'profile' %}">Annuler</a>
</div> </div>
</form> </form>
<h2> Mot de Passe </h2>
<h2>Changer mon mot de passe</h2> <a href ="{% url 'account_reset_password'% }" rel="text/html"> Réinitialisez votre mot de passe. </a>
<form method="post" action="{% url 'accounts:change_password' %}">
{% csrf_token %}
{{ password_form.as_html }}
<br>
<div class="flex">
<input type="submit" value="Valider">
<a class="button" href="{% url 'profile' %}">Annuler</a>
</div>
</form>
{% endblock %} {% endblock %}
...@@ -5,16 +5,5 @@ from accounts import views ...@@ -5,16 +5,5 @@ from accounts import views
app_name = "accounts" app_name = "accounts"
urlpatterns = [ urlpatterns = [
path("login/", views.LoginView.as_view(), name="login"),
path("logout/", views.LogoutView.as_view(), name="logout"),
path("create/", views.CreateAccountView.as_view(), name="create"),
path("update/", views.UpdateAccountView.as_view(), name="update"), path("update/", views.UpdateAccountView.as_view(), name="update"),
path("change_password/", views.UpdatePasswordView.as_view(), name="change_password"),
path('activate/<uidb64>/<token>/', views.ActivateAccountView.as_view(), name='activate'),
path("password_reset/", views.ResetPasswordView.as_view(), name="password_reset"),
path(
"password_reset/<uidb64>/<token>/",
views.ResetPasswordConfirmView.as_view(),
name="password_reset_confirm"
),
] ]
...@@ -46,22 +46,14 @@ ...@@ -46,22 +46,14 @@
<div class="qty">Participants</div> <div class="qty">Participants</div>
<div class="nb_big">{{ metrics.participants }}</div> <div class="nb_big">{{ metrics.participants }}</div>
</div> </div>
<div class="stat">
<div class="qty">Ulm</div>
<div class="nb_small">{{ metrics.ulm }}</div>
</div>
<div class="stat">
<div class="qty">Lyon</div>
<div class="nb_small">{{ metrics.lyon }}</div>
</div>
<div class="stat">
<div class="qty">Rennes</div>
<div class="nb_small">{{ metrics.rennes }}</div>
</div>
<div class="stat"> <div class="stat">
<div class="qty">Paris-Saclay</div> <div class="qty">Paris-Saclay</div>
<div class="nb_small">{{ metrics.saclay }}</div> <div class="nb_small">{{ metrics.saclay }}</div>
</div> </div>
<div class="stat">
<div class="qty">Extérieur</div>
<div class="nb_small">{{ metrics.exterieur }}</div>
</div>
<div class="stat"> <div class="stat">
<div class="qty">Non inscrits</div> <div class="qty">Non inscrits</div>
<div class="nb_small">{{ metrics.non_registered }}</div> <div class="nb_small">{{ metrics.non_registered }}</div>
......
...@@ -35,10 +35,8 @@ class AdminView(SuperuserRequiredMixin, TemplateView): ...@@ -35,10 +35,8 @@ class AdminView(SuperuserRequiredMixin, TemplateView):
) )
class metrics: class metrics:
participants = registered.count() participants = registered.count()
ulm = registered.filter(school=models.ParticipantModel.ENS.ENS_ULM).count()
lyon = registered.filter(school=models.ParticipantModel.ENS.ENS_LYON).count()
rennes = registered.filter(school=models.ParticipantModel.ENS.ENS_RENNES).count()
saclay = registered.filter(school=models.ParticipantModel.ENS.ENS_CACHAN).count() saclay = registered.filter(school=models.ParticipantModel.ENS.ENS_CACHAN).count()
exterieur = registered.filter(school=models.ParticipantModel.ENS.EXTERIEUR).count()
non_registered = EmailUser.objects.filter(is_active=True).count() - participants non_registered = EmailUser.objects.filter(is_active=True).count() - participants
# mugs = registered.filter(mug=True).count() # mugs = registered.filter(mug=True).count()
sleeps = registered.filter(sleeps=True).count() sleeps = registered.filter(sleeps=True).count()
......
...@@ -82,7 +82,8 @@ class ActivitySubmissionForm(FormRenderMixin, forms.ModelForm): ...@@ -82,7 +82,8 @@ class ActivitySubmissionForm(FormRenderMixin, forms.ModelForm):
"available_sunday_afternoon", "available_sunday_afternoon",
"constraints", "constraints",
"status", "needs", #"status",
"needs",
"comments", "comments",
) )
......
# Generated by Django 3.2.15 on 2022-08-21 13:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('home', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='activitymodel',
name='status',
field=models.CharField(blank=True, choices=[('P', 'En présentiel uniquement'), ('D', 'En distanciel uniquement'), ('2', 'Les deux')], default='P', max_length=1, verbose_name='Présentiel/distanciel'),
),
migrations.AlterField(
model_name='participantmodel',
name='school',
field=models.CharField(choices=[('C', 'ENS Paris-Saclay'), ('E', 'Extérieur')], max_length=1, verbose_name='ENS Paris-Saclay ou extérieur'),
),
]
...@@ -142,7 +142,10 @@ class ActivityModel(models.Model): ...@@ -142,7 +142,10 @@ class ActivityModel(models.Model):
"Contraintes particulières", max_length=2000, blank=True, null=True "Contraintes particulières", max_length=2000, blank=True, null=True
) )
status = models.CharField("Présentiel/distanciel", choices=Status.choices, max_length=1) status = models.CharField(
"Présentiel/distanciel", choices=Status.choices, max_length=1,
default=Status.PRESENT, blank=True
)
needs = models.TextField( needs = models.TextField(
"Besoin particuliers", max_length=2000, blank=True, null=True "Besoin particuliers", max_length=2000, blank=True, null=True
) )
...@@ -303,13 +306,14 @@ class ParticipantModel(models.Model): ...@@ -303,13 +306,14 @@ class ParticipantModel(models.Model):
class ENS(models.TextChoices): class ENS(models.TextChoices):
"""enum representant les ENS""" """enum representant les ENS"""
ENS_ULM = "U", _("ENS Ulm") #ENS_ULM = "U", _("ENS Ulm")
ENS_LYON = "L", _("ENS Lyon") #ENS_LYON = "L", _("ENS Lyon")
ENS_RENNES = "R", _("ENS Rennes") #ENS_RENNES = "R", _("ENS Rennes")
ENS_CACHAN = "C", _("ENS Paris Saclay") ENS_CACHAN = "C", _("ENS Paris-Saclay")
EXTERIEUR = "E", _("Extérieur")
user = models.OneToOneField(EmailUser, on_delete=models.CASCADE, related_name="Utilisateur") user = models.OneToOneField(EmailUser, on_delete=models.CASCADE, related_name="Utilisateur")
school = models.CharField("ENS de rattachement", choices=ENS.choices, max_length=1) school = models.CharField("ENS Paris-Saclay ou extérieur", choices=ENS.choices, max_length=1)
is_registered = models.BooleanField("est inscrit", default=False) is_registered = models.BooleanField("est inscrit", default=False)
...@@ -325,7 +329,7 @@ class ParticipantModel(models.Model): ...@@ -325,7 +329,7 @@ class ParticipantModel(models.Model):
# mug = models.BooleanField("commander une tasse", default=False) # mug = models.BooleanField("commander une tasse", default=False)
def __str__(self) -> str: def __str__(self) -> str:
school = self.ENS(self.school).label.replace("ENS ", "") if self.school else "" school = self.ENS(self.school).label if self.school else ""
return "{} {} ({})".format(self.user.first_name, self.user.last_name, school) return "{} {} ({})".format(self.user.first_name, self.user.last_name, school)
@property @property
......
home/static/imgs/2022/trois_ptits_pois.png

41.4 KiB

home/static/imgs/2022/trollune.png

255 KiB

{% extends "base.html" %}
\ No newline at end of file
...@@ -82,13 +82,13 @@ ...@@ -82,13 +82,13 @@
<h3>Modalités pratiques</h3> <h3>Modalités pratiques</h3>
<p><strong>Présentiel/distanciel&nbsp;:</strong> &nbsp;{{ form.status }}</p> {% comment "En présentiel" %}<p><strong>Présentiel/distanciel&nbsp;:</strong> &nbsp;{{ form.status }}</p>{% endcomment %}
<p><strong>Besoins spécifiques&nbsp;:</strong></p> <p><strong>Besoins spécifiques&nbsp;:</strong></p>
<ul> <ul>
<li>Vous faut-il une ou plusieurs salles&nbsp;?</li> <li>Vous faut-il une ou plusieurs salles&nbsp;?</li>
<li>Vous faut-il du matériel spécial&nbsp;?</li> <li>Vous faut-il du matériel spécial&nbsp;?</li>
<li>Si possible en distanciel, quel outils faut-il pour participer&nbsp;?</li> {% comment "En présentiel" %}<li>Si possible en distanciel, quel outils faut-il pour participer&nbsp;?</li>{% endcomment %}
<li>Et tout autre besoin de ce type...</li> <li>Et tout autre besoin de ce type...</li>
</ul> </ul>
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
Mon compte Mon compte
</a> </a>
{% else %} {% else %}
<a href="{% url 'accounts:login' %}" <a href="{% url 'account_login' %}"
class="{% block nav_login %}{% endblock %}"> class="{% block nav_login %}{% endblock %}">
Connexion Connexion
</a> </a>
...@@ -105,7 +105,11 @@ ...@@ -105,7 +105,11 @@
{% block "content" %} {% block "content" %}
{% endblock %} {% endblock %}
{% block content %}
{% endblock %}
</main> </main>
{% block extra_body %}
{% endblock %}
<footer> <footer>
<div id="sponsors"> <div id="sponsors">
...@@ -113,8 +117,18 @@ ...@@ -113,8 +117,18 @@
<img src="{% static "imgs/2022/ens_lyon.svg" %}" alt="École Normale Supérieure de Lyon" <img src="{% static "imgs/2022/ens_lyon.svg" %}" alt="École Normale Supérieure de Lyon"
title="École Normale Supérieure de Lyon" /> title="École Normale Supérieure de Lyon" />
</a> </a>
<img src="{% static "imgs/2022/bul.png" %}" alt="Bureau Ludique de l'ENS de Lyon" <a class="external" href="https://discord.gg/27QWSDUNgM">
title="Bureau Ludique de l'ENS de Lyon" /> <img src="{% static "imgs/2022/bul.png" %}" alt="Bureau Ludique de l'ENS de Lyon"
title="Bureau Ludique de l'ENS de Lyon" />
</a>
<a class="external" href="https://www.trollune.fr/">
<img src="{% static "imgs/2022/trollune.png" %}" alt="Trollune"
title="Trollune" />
</a>
<a class="external" href="https://www.3ptitspois.fr/">
<img src="{% static "imgs/2022/trois_ptits_pois.png" %}" alt="Trois Ptits Pois"
title="Trois Ptits Pois" />
</a>
</div> </div>
{% if settings.contact_email %} {% if settings.contact_email %}
<p>Pour tout problème, contacter&nbsp;:<br><span class="antispam">{{ settings.contact_email_reversed }}</span> <p>Pour tout problème, contacter&nbsp;:<br><span class="antispam">{{ settings.contact_email_reversed }}</span>
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
{% block "content" %} {% block "content" %}
<h2>Quelle différence entre l'inscription sur HelloAsso et sur le site&nbsp;?</h2>
<p>L'inscription HelloAsso vous inscrit à l'événement, au logement et aux repas (selon l'option que vous prenez). Sur le site internet, vous pouvez créer un compte pour vous inscrire aux différentes activités qui seront proposées lors de l'événement. </p>
<h2>Quelles seront les mesures de protection sanitaire&nbsp;?</h2> <h2>Quelles seront les mesures de protection sanitaire&nbsp;?</h2>
<p>Les mesures définitives vous seront communiquées à l'arrivée à l'événement. Elles incluront probablement&nbsp;:</p> <p>Les mesures définitives vous seront communiquées à l'arrivée à l'événement. Elles incluront probablement&nbsp;:</p>
<ul> <ul>
...@@ -63,7 +66,6 @@ ...@@ -63,7 +66,6 @@
</div> </div>
<h2>Comment sont réparties les activités&nbsp;?</h2> <h2>Comment sont réparties les activités&nbsp;?</h2>
<p> <p>
La répartition est faite par un algorithme puis vérifiée à la main. La répartition est faite par un algorithme puis vérifiée à la main.
Dans la mesure du possible, l'algorithme essaie d'attribue au moins une activité par personne. Par conséquent, si vous ne mettez qu'une seule activité, vous avez plus de chance de l'avoir. Dans la mesure du possible, l'algorithme essaie d'attribue au moins une activité par personne. Par conséquent, si vous ne mettez qu'une seule activité, vous avez plus de chance de l'avoir.
...@@ -83,4 +85,6 @@ ...@@ -83,4 +85,6 @@
</ol> </ol>
<p>Le code est sur <a href="https://github.com/Imakoala/InterludesMatchings">github</a>, il ne marche pas encore parfaitement, et on risque de devoir bidouiller à la main en plus pour résoudre tous les cas particuliers (conflits d'horaires, activité présente plusieurs fois...). <p>Le code est sur <a href="https://github.com/Imakoala/InterludesMatchings">github</a>, il ne marche pas encore parfaitement, et on risque de devoir bidouiller à la main en plus pour résoudre tous les cas particuliers (conflits d'horaires, activité présente plusieurs fois...).
<h2>J'ai encore une question, je fais quoi ?</h2>
<p> Hésite pas à nous passer un mail à <span class="antispam">{{ settings.contact_email_reversed }}</span> pour nous poser tes questions !</p>
{% endblock %} {% endblock %}
...@@ -30,11 +30,18 @@ ...@@ -30,11 +30,18 @@
</p> </p>
<h2>Inscriptions</h2> <h2>Inscriptions</h2>
<h3>Inscription à l'événement</h3>
<p>
L'inscription à l'événement,
à l'hébergement et aux repas se fait sur <a
href="https://www.helloasso.com/associations/bureau-ludique-de-l-ens-de-lyon/evenements/interludes-ens-de-lyon">le
formulaire HelloAsso</a>
</p>
<h3>Inscription aux activités</h3>
<p> <p>
Ce site vous permettra de vous <a href="{% url 'inscription' Une fois votre inscription à l'événement effectuée, vous pourrez vous <a href="{% url 'inscription'%}">inscrire aux activités</a>
%}">inscrire à l'événement et aux activités</a> et de <a
href="{% url 'activites' %}">voir les activités</a> qui y
seront proposées.
</p> </p>
{% if settings.inscriptions_start and settings.inscriptions_end %} {% if settings.inscriptions_start and settings.inscriptions_end %}
<p>Les inscriptions seront ouvertes <p>Les inscriptions seront ouvertes
......
...@@ -3,13 +3,19 @@ ...@@ -3,13 +3,19 @@
{% block nav_inscription %}current{% endblock %} {% block nav_inscription %}current{% endblock %}
{% block "content" %} {% block "content" %}
<h2>Inscriptions</h2> <h2>Inscriptions à l'événement</h2>
<p>L'inscription à l'événement,
l'hébergement et aux repas se fait sur <a
href="https://www.helloasso.com/associations/bureau-ludique-de-l-ens-de-lyon/evenements/interludes-ens-de-lyon">le
formulaire HelloAsso</a>.</p>
<h2>Inscriptions aux activités</h2>
{% if settings.inscriptions_not_open_yet %} {% if settings.inscriptions_not_open_yet %}
<p>Les inscriptions ne sont pas encores ouvertes.</p> <p>Les inscriptions aux activités ne sont pas encores ouvertes.</p>
<p>Leur ouverture est prévue le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p> <p>Leur ouverture est prévue le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p>
<p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p> <p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p>
{% elif settings.inscriptions_have_closed %} {% elif settings.inscriptions_have_closed %}
<p>Les inscriptions sont fermées.</p> <p>Les inscriptions aux activités sont fermées.</p>
<p> <p>
Les inscriptions cette année sont facultatives, Les inscriptions cette année sont facultatives,
tu peux quand même rejoindre le {% if settings.discord_link %}<a href="{{ settings.discord_link }}">serveur discord</a>{% else %}serveur discord{% endif %} et participer aux jeux libres et tu peux quand même rejoindre le {% if settings.discord_link %}<a href="{{ settings.discord_link }}">serveur discord</a>{% else %}serveur discord{% endif %} et participer aux jeux libres et
...@@ -19,7 +25,7 @@ ...@@ -19,7 +25,7 @@
<p>Pour tout problème, contacter&nbsp;:<br><span class="antispam">{{ settings.contact_email_reversed }}</span></p> <p>Pour tout problème, contacter&nbsp;:<br><span class="antispam">{{ settings.contact_email_reversed }}</span></p>
{% endif %} {% endif %}
{% else %} {% else %}
<p>Les inscriptions ne sont pas encores ouvertes ou ont été fermées.</p> <p>Les inscriptions aux activités ne sont pas encores ouvertes ou ont été fermées.</p>
<p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p> <p>Nous communiquerons par mail via les BDE des différentes écoles pour leur ouverture.</p>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
...@@ -21,6 +21,14 @@ ...@@ -21,6 +21,14 @@
{% csrf_token %} {% csrf_token %}
<p>{{ form.school.label_tag }} {{ form.school }}</p> <p>{{ form.school.label_tag }} {{ form.school }}</p>
<p>{{ form.meal_friday_evening.label_tag }} {{ form.meal_friday_evening }} </p>
<p>{{ form.meal_saturday_morning.label_tag }} {{ form.meal_saturday_morning }} </p>
<p>{{ form.meal_saturday_midday.label_tag }} {{ form.meal_saturday_midday }}</p>
<p>{{ form.meal_saturday_evening.label_tag }} {{ form.meal_saturday_evening }} </p>
<p>{{ form.meal_sunday_morning.label_tag }} {{ form.meal_sunday_morning}} </p>
<p>{{ form.meal_sunday_midday.label_tag }} {{ form.meal_sunday_midday }}</p>
<p>Vous êtes considéré⋅e commme extérieur si vous n'êtes pas actuellement scolarisé⋅e ou inscrit⋅e à l'ENS Paris-Saclay. Nous avons besoin de cette information pour transmettre la liste des extérieurs à l'administration de l'ENS.</p>
<h3>Choix d'activités</h3> <h3>Choix d'activités</h3>
...@@ -34,8 +42,6 @@ ...@@ -34,8 +42,6 @@
<p>Si vous vous inscrivez à une activité qui nécessite préparation, nous communiquerons <p>Si vous vous inscrivez à une activité qui nécessite préparation, nous communiquerons
votre email aux orgas pour qu'iels puissent vous contacter. votre email aux orgas pour qu'iels puissent vous contacter.
</p> </p>
{% if formset.non_form_errors %} {% if formset.non_form_errors %}
{{ formset.non_form_errors }} {{ formset.non_form_errors }}
{% endif %} {% endif %}
......
...@@ -4,9 +4,8 @@ ...@@ -4,9 +4,8 @@
{% block "content" %} {% block "content" %}
<h2>Inscriptions</h2> <h2>Inscriptions</h2>
<p>Vous devez être connecté pour pouvoir vous inscrire à l'événement.</p> <p>Vous devez être connecté pour pouvoir vous inscrire à des activités.
<p>Aller à la page de <a href="{% url 'accounts:login' %}">connexion</a> pour vous connectez <p>Aller à la page de <a href="{% url 'account_login' %}">connexion</a> pour vous connecter ou créer un compte.
ou à celle de <a href="{% url 'accounts:create' %}">création de compte</a> si vous n'avez pas de compte.</p>
{% if settings.inscriptions_end %} {% if settings.inscriptions_end %}
<p>Les inscriptions seront ouvertes jusqu'au {{ settings.inscriptions_end|date:"l d F Y à H:i" }})</p> <p>Les inscriptions seront ouvertes jusqu'au {{ settings.inscriptions_end|date:"l d F Y à H:i" }})</p>
{% endif %} {% endif %}
......
...@@ -65,18 +65,18 @@ ...@@ -65,18 +65,18 @@
{% endif %} {% endif %}
</ul> </ul>
{% else %} {% else %}
<strong>Vous n'êtes pas incrit à l'événement.</strong> <strong>Vous n'avez pas encore renseigné vos choix d'activités.</strong>
{% if not settings.inscriptions_open %} {% if not settings.inscriptions_open %}
{% if settings.inscriptions_not_open_yet %} {% if settings.inscriptions_not_open_yet %}
<p>Les inscriptions ne sont pas encores ouvertes. Elles ouvrirons le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p> <p>Les inscriptions aux activités ne sont pas encores ouvertes. Elles ouvrirons le <strong>{{ settings.inscriptions_start|date:"l d F Y à H:i" }}</strong>.</p>
{% elif settings.inscriptions_have_closed %} {% elif settings.inscriptions_have_closed %}
<p>Les inscriptions sont fermées.</p> <p>Les inscriptions aux activités sont fermées.</p>
{% else %} {% else %}
<p>Les inscriptions ne sont pas encores ouvertes ou ont été fermées.</p> <p>Les inscriptions aux activités ne sont pas encores ouvertes ou ont été fermées.</p>
{% endif %} {% endif %}
{% elif settings.inscriptions_end %} {% elif settings.inscriptions_end %}
<p>les inscriptions sont ouvertes jusqu'au {{ settings.inscriptions_end|date:"l d F Y à H:i" }}).</p> <p>les inscriptions aux activités sont ouvertes jusqu'au {{ settings.inscriptions_end|date:"l d F Y à H:i" }}).</p>
{% endif %} {% endif %}
<br><br> <br><br>
{% endif %} {% endif %}
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
{% endif %} {% endif %}
<a class="button" href="{% url 'accounts:update' %}">Modifier mes informations</a> <a class="button" href="{% url 'accounts:update' %}">Modifier mes informations</a>
<a class="button" href="{% url 'accounts:logout' %}">Déconnexion</a> <a class="button" href="{% url 'account_logout' %}">Déconnexion</a>
</div> </div>
{% endblock %} {% endblock %}
...@@ -37,6 +37,8 @@ def import_secret(name): ...@@ -37,6 +37,8 @@ def import_secret(name):
except AttributeError: except AttributeError:
raise RuntimeError("Secret missing: {}".format(name)) raise RuntimeError("Secret missing: {}".format(name))
SITE_ID=1
SECRET_KEY = import_secret("SECRET_KEY") SECRET_KEY = import_secret("SECRET_KEY")
DB_NAME = import_secret("DB_NAME") DB_NAME = import_secret("DB_NAME")
...@@ -56,7 +58,7 @@ EMAIL_USE_SSL = True ...@@ -56,7 +58,7 @@ EMAIL_USE_SSL = True
DEBUG = True DEBUG = True
# FIXME - set hosts in production # FIXME - set hosts in production
ALLOWED_HOSTS = [] ALLOWED_HOSTS = ["127.0.0.1", "localhost","kwei-dev.crans.org"]
if DEBUG: if DEBUG:
# This will display emails in Console. # This will display emails in Console.
...@@ -84,12 +86,19 @@ INSTALLED_APPS = [ ...@@ -84,12 +86,19 @@ INSTALLED_APPS = [
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'django.contrib.sitemaps', 'django.contrib.sitemaps',
'django.contrib.sites',
'home.apps.HomeConfig', 'home.apps.HomeConfig',
'admin_pages.apps.AdminPagesConfig', 'admin_pages.apps.AdminPagesConfig',
'accounts.apps.AccountsConfig', 'accounts.apps.AccountsConfig',
'site_settings.apps.SiteSettingsConfig', 'site_settings.apps.SiteSettingsConfig',
'shared.apps.SharedConfig', 'shared.apps.SharedConfig',
# allauth support.
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth_note_kfet',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
...@@ -138,6 +147,7 @@ DATABASES = { ...@@ -138,6 +147,7 @@ DATABASES = {
AUTHENTICATION_BACKENDS = ( AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', 'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
) )
# Password validation # Password validation
...@@ -145,6 +155,19 @@ AUTHENTICATION_BACKENDS = ( ...@@ -145,6 +155,19 @@ AUTHENTICATION_BACKENDS = (
AUTH_USER_MODEL = 'accounts.EmailUser' AUTH_USER_MODEL = 'accounts.EmailUser'
AUTH_PROFILE_MODULE = 'home.ParticipantModel' AUTH_PROFILE_MODULE = 'home.ParticipantModel'
# Tell oauth how the user is configured.
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_AUTHENTICATION_METHOD = "email"
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
SOCIALACCOUNT_PROVIDERS = {
'notekfet': {
'DOMAIN': 'note-dev.crans.org', # À remplacer si nécessaire
# 'SCOPE': ['1_1'], # Adapter les scopes demandées (par défaut lecture des champs utilisateur⋅rice)
},
}
AUTH_PASSWORD_VALIDATORS = [ AUTH_PASSWORD_VALIDATORS = [
{ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', },
...@@ -159,7 +182,7 @@ SESSION_COOKIE_AGE = 3600 ...@@ -159,7 +182,7 @@ SESSION_COOKIE_AGE = 3600
# Internationalization # Internationalization
# https://docs.djangoproject.com/en/3.0/topics/i18n/ # https://docs.djangoproject.com/en/3.0/topics/i18n/
LANGUAGE_CODE = 'fr-fr' LANGUAGE_CODE = 'fr'
TIME_ZONE = 'CET' TIME_ZONE = 'CET'
......