Skip to content

Commit

Permalink
Merge pull request #422 from FJNR-inc/develop
Browse files Browse the repository at this point in the history
New release
  • Loading branch information
RignonNoel authored Mar 12, 2020
2 parents 0622fa0 + 66d8330 commit 2a9e196
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 4 deletions.
2 changes: 2 additions & 0 deletions cron_manager/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class ExecutionInline(admin.StackedInline):
show_change_link = True
verbose_name_plural = _('Executions')
fk_name = 'task'
readonly_fields = ('created_at',)


class TaskAdmin(admin.ModelAdmin):
Expand Down Expand Up @@ -47,6 +48,7 @@ class ExecutionAdmin(admin.ModelAdmin):
'http_code'
)
autocomplete_fields = ('task',)
readonly_fields = ('created_at',)


admin.site.register(models.Task, TaskAdmin)
Expand Down
33 changes: 33 additions & 0 deletions retirement/migrations/0025_auto_20200312_1205.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Generated by Django 2.2.10 on 2020-03-12 16:05

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('retirement', '0024_auto_20200123_0515'),
]

operations = [
migrations.AddField(
model_name='historicalreservation',
name='post_event_send',
field=models.BooleanField(default=False, verbose_name='Post event notification send'),
),
migrations.AddField(
model_name='historicalreservation',
name='pre_event_send',
field=models.BooleanField(default=False, verbose_name='Pre event notification send'),
),
migrations.AddField(
model_name='reservation',
name='post_event_send',
field=models.BooleanField(default=False, verbose_name='Post event notification send'),
),
migrations.AddField(
model_name='reservation',
name='pre_event_send',
field=models.BooleanField(default=False, verbose_name='Pre event notification send'),
),
]
10 changes: 10 additions & 0 deletions retirement/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,16 @@ class Reservation(SafeDeleteModel):
blank=True
)

post_event_send = models.BooleanField(
verbose_name=_('Post event notification send'),
default=False
)

pre_event_send = models.BooleanField(
verbose_name=_('Pre event notification send'),
default=False
)

history = HistoricalRecords()

def __str__(self):
Expand Down
8 changes: 8 additions & 0 deletions retirement/tests/tests_viewset_Reservation.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ def setUp(self):
'refundable': True,
'exchangeable': True,
'invitation': None,
'post_event_send': False,
'pre_event_send': False,
}
self.reservation2 = Reservation.objects.create(
user=self.user2,
Expand All @@ -185,6 +187,8 @@ def setUp(self):
'refundable': True,
'exchangeable': True,
'invitation': None,
'post_event_send': False,
'pre_event_send': False,
}
self.reservation_admin = Reservation.objects.create(
user=self.admin,
Expand Down Expand Up @@ -249,6 +253,8 @@ def test_create(self):
str(self.retreat2.id),
'order_line': None,
'invitation': None,
'post_event_send': False,
'pre_event_send': False,
'retreat_details': {
'accessibility_detail': None,
'description': None,
Expand Down Expand Up @@ -638,6 +644,8 @@ def test_list(self):
'refundable': True,
'exchangeable': True,
'invitation': None,
'post_event_send': False,
'pre_event_send': False,
}
]
}
Expand Down
2 changes: 2 additions & 0 deletions retirement/tests/tests_viewset_Reservation_update.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ def setUp(self):
'refundable': True,
'exchangeable': True,
'invitation': None,
'post_event_send': False,
'pre_event_send': False,
}
self.reservation_non_exchangeable = Reservation.objects.create(
user=self.admin,
Expand Down
10 changes: 8 additions & 2 deletions retirement/tests/tests_viewset_Retreat.py
Original file line number Diff line number Diff line change
Expand Up @@ -1370,7 +1370,10 @@ def test_reminder_email(self):
),
)

content = {'stop': True}
content = {
'stop': True,
'emails': [], # No reservation on this retreat
}

self.assertEqual(json.loads(response.content), content)

Expand Down Expand Up @@ -1421,7 +1424,10 @@ def test_recap_email(self):
),
)

content = {'stop': True}
content = {
'stop': True,
'emails': [], # No reservation on this retreat
}

self.assertEqual(json.loads(response.content), content)

Expand Down
17 changes: 15 additions & 2 deletions retirement/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,17 @@ def remind_users(self, request, pk=None):
return Response(response_data, status=status.HTTP_200_OK)

# Notify a user for every reserved seat
for reservation in retreat.reservations.filter(is_active=True):
emails = []
for reservation in retreat.reservations.filter(
is_active=True, pre_event_send=False):
send_retreat_7_days_email(reservation.user, retreat)
reservation.pre_event_send = True
reservation.save()
emails.append(reservation.user.email)

response_data = {
'stop': True,
'emails': emails
}
return Response(response_data, status=status.HTTP_200_OK)

Expand All @@ -129,11 +135,18 @@ def recap(self, request, pk=None):
return Response(response_data, status=status.HTTP_200_OK)

# Notify a user for every reserved seat
for reservation in retreat.reservations.filter(is_active=True):
emails = []
for reservation in retreat.reservations.filter(
is_active=True,
post_event_send=False):
send_post_retreat_email(reservation.user, retreat)
reservation.post_event_send = True
reservation.save()
emails.append(reservation.user.email)

response_data = {
'stop': True,
'emails': emails
}
return Response(response_data, status=status.HTTP_200_OK)

Expand Down

0 comments on commit 2a9e196

Please sign in to comment.