diff --git a/FlOpEDT/base/queries.py b/FlOpEDT/base/queries.py index ae5bfa1ad3db66d2c0bfea154362457c75ad223e..d6d40c8fcfd71ce551aeda758e55ee4e6a238757 100644 --- a/FlOpEDT/base/queries.py +++ b/FlOpEDT/base/queries.py @@ -344,12 +344,12 @@ def get_working_days(dept): def get_notification_preference(user): if user is not None: try: - return user.notifications_preference.nb_of_notified_weeks + return user.notifications_preference.is_notified except NotificationsPreferences.DoesNotExist: if user.is_tutor: - return 4 + return True elif user.is_student: - return 0 + return True else: pass - return 0 + return False diff --git a/FlOpEDT/base/templates/base/notification.html b/FlOpEDT/base/templates/base/notification.html index 581d23d53538211d1e1cdd01dfcb8d4a257b7f22..3bc319d274eee2e4e28cfcf91f6cb9dd9ba75426 100644 --- a/FlOpEDT/base/templates/base/notification.html +++ b/FlOpEDT/base/templates/base/notification.html @@ -21,20 +21,32 @@ {% load i18n %} - +
+ + diff --git a/FlOpEDT/base/views.py b/FlOpEDT/base/views.py index dda26ff66212ced17962040fe7d2145b8a02481e..d6dde4312b9cb12a898075ecd4fa2464f8aa7bfd 100644 --- a/FlOpEDT/base/views.py +++ b/FlOpEDT/base/views.py @@ -382,8 +382,11 @@ def user_notifications_pref_changes(req, username=None, *args, **kwargs): u = User.objects.get(username=username) n, created = NotificationsPreferences.objects.get_or_create(user=u) data = req.POST - user_notifications_pref = int(data['user_notifications_pref']) - n.nb_of_notified_weeks = user_notifications_pref + + if 'user_notifications_pref' in data: + n.is_notified = True + else: + n.is_notified = False n.save() return redirect('base:preferences', req.department) diff --git a/FlOpEDT/people/migrations/0032_notificationspreferences_is_notified.py b/FlOpEDT/people/migrations/0032_notificationspreferences_is_notified.py new file mode 100644 index 0000000000000000000000000000000000000000..097b9052e6f3b60f4c24f4ab19f1ed777caad96b --- /dev/null +++ b/FlOpEDT/people/migrations/0032_notificationspreferences_is_notified.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.14 on 2022-03-11 13:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('people', '0031_auto_20220214_2231'), + ] + + operations = [ + migrations.AddField( + model_name='notificationspreferences', + name='is_notified', + field=models.BooleanField(default=True), + ), + ] diff --git a/FlOpEDT/people/migrations/__0032_auto_20220311_1334.py b/FlOpEDT/people/migrations/__0032_auto_20220311_1334.py new file mode 100644 index 0000000000000000000000000000000000000000..d127305041406d46348f13b898de66acaed65606 --- /dev/null +++ b/FlOpEDT/people/migrations/__0032_auto_20220311_1334.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.14 on 2022-03-11 13:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('people', '0031_auto_20220214_2231'), + ] + + operations = [ + migrations.AlterField( + model_name='notificationspreferences', + name='nb_of_notified_weeks', + field=models.BooleanField(default=True), + ), + ] diff --git a/FlOpEDT/people/migrations/___0032_auto_20220311_1057.py b/FlOpEDT/people/migrations/___0032_auto_20220311_1057.py new file mode 100644 index 0000000000000000000000000000000000000000..b822edbfef82b75603f82ab09234496df9428825 --- /dev/null +++ b/FlOpEDT/people/migrations/___0032_auto_20220311_1057.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.14 on 2022-03-11 10:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('people', '0031_auto_20220214_2231'), + ] + + operations = [ + migrations.AlterField( + model_name='notificationspreferences', + name='nb_of_notified_weeks', + field=models.BooleanField(default=True), + ), + ] diff --git a/FlOpEDT/people/models.py b/FlOpEDT/people/models.py index 7beb91130df073ede31e67e384b0a67c9dda6547..e92fc7f594bba706fd27b5842c88d3bb7d1966c6 100644 --- a/FlOpEDT/people/models.py +++ b/FlOpEDT/people/models.py @@ -283,6 +283,7 @@ class NotificationsPreferences(models.Model): on_delete=models.CASCADE, related_name='notifications_preference') nb_of_notified_weeks = models.PositiveSmallIntegerField(default=0) + is_notified = models.BooleanField(default=False) class UserPreferredLinks(models.Model):