From 7b32edbd381f0c79e34b591156ba5b9164f44848 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20P=C3=A9pin?=
Date: Fri, 15 Jul 2016 23:31:26 +0200
Subject: [PATCH] Rend le calendrier plus dynamique
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plus besoin de s'authentifier pour accéder au calendrier : il suffit
d'entrer la bonne url qui contient un token aléatoire propre à chaque
utilisateur.
Ce token ne change pas lorsqu'on modifie son inscription
---
gestioncof/forms.py | 2 +-
gestioncof/migrations/0005_add_calendar.py | 14 ++++++++++----
gestioncof/models.py | 1 +
.../templates/calendar_subscription.html | 4 +++-
gestioncof/urls.py | 3 ++-
gestioncof/views.py | 18 +++++++++++-------
6 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/gestioncof/forms.py b/gestioncof/forms.py
index 5d936885..9c9b63f1 100644
--- a/gestioncof/forms.py
+++ b/gestioncof/forms.py
@@ -346,4 +346,4 @@ class CalendarForm(forms.ModelForm):
class Meta:
model = CalendarSubscription
- exclude = ['user']
+ exclude = ['user', 'token']
diff --git a/gestioncof/migrations/0005_add_calendar.py b/gestioncof/migrations/0005_add_calendar.py
index 83b68a12..780586aa 100644
--- a/gestioncof/migrations/0005_add_calendar.py
+++ b/gestioncof/migrations/0005_add_calendar.py
@@ -17,7 +17,9 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='CalendarSubscription',
fields=[
- ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('id', models.AutoField(verbose_name='ID', serialize=False,
+ auto_created=True, primary_key=True)),
+ ('token', models.UUIDField()),
('subscribe_to_events', models.BooleanField(default=True)),
('shows', models.ManyToManyField(to='bda.Spectacle')),
('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)),
@@ -25,7 +27,8 @@ class Migration(migrations.Migration):
),
migrations.AlterModelOptions(
name='custommail',
- options={'verbose_name': 'Mail personnalisable', 'verbose_name_plural': 'Mails personnalisables'},
+ options={'verbose_name': 'Mail personnalisable',
+ 'verbose_name_plural': 'Mails personnalisables'},
),
migrations.AlterModelOptions(
name='eventoptionchoice',
@@ -34,11 +37,14 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='event',
name='end_date',
- field=models.DateTimeField(null=True, verbose_name=b'Date de fin', blank=True),
+ field=models.DateTimeField(null=True, verbose_name=b'Date de fin',
+ blank=True),
),
migrations.AlterField(
model_name='event',
name='start_date',
- field=models.DateTimeField(null=True, verbose_name=b'Date de d\xc3\xa9but', blank=True),
+ field=models.DateTimeField(null=True,
+ verbose_name=b'Date de d\xc3\xa9but',
+ blank=True),
),
]
diff --git a/gestioncof/models.py b/gestioncof/models.py
index aedd43e7..1a9c0e16 100644
--- a/gestioncof/models.py
+++ b/gestioncof/models.py
@@ -237,6 +237,7 @@ class Clipper(models.Model):
class CalendarSubscription(models.Model):
+ token = models.UUIDField()
user = models.OneToOneField(User)
shows = models.ManyToManyField(Spectacle)
subscribe_to_events = models.BooleanField(default=True)
diff --git a/gestioncof/templates/calendar_subscription.html b/gestioncof/templates/calendar_subscription.html
index 65a8b9e6..64cd1826 100644
--- a/gestioncof/templates/calendar_subscription.html
+++ b/gestioncof/templates/calendar_subscription.html
@@ -10,8 +10,10 @@
{{ error }}
{% endif %}
+{% if token %}
Calendrier disponible à
-cette adresse
+cette adresse
+{% endif %}