Skip to content

Commit 616dc93

Browse files
committed
save real alert objects into db
1 parent 4a270ab commit 616dc93

File tree

5 files changed

+44
-5
lines changed

5 files changed

+44
-5
lines changed

alerts/admin.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
from django.contrib import admin
22

3-
# Register your models here.
3+
from .models import Alert
4+
5+
6+
class AlertAdmin(admin.ModelAdmin):
7+
pass
8+
9+
10+
admin.site.register(Alert, AlertAdmin)

alerts/migrations/0002_alert_sent.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 2.1.5 on 2019-02-17 19:49
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('alerts', '0001_initial'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='alert',
15+
name='sent',
16+
field=models.BooleanField(default=False),
17+
),
18+
]

alerts/models.py

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ class Alert(models.Model):
77
when = models.DateField()
88
to = PhoneNumberField()
99
what = models.CharField(max_length=255)
10+
sent = models.BooleanField(default=False)

courtbot/settings.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
DEBUG = config('DJANGO_DEBUG', default=False)
3030

3131
ALLOWED_HOSTS = [
32-
"29f0c384.ngrok.io"
32+
"29f0c384.ngrok.io",
33+
"127.0.0.1"
3334
]
3435

3536

sms/views.py

+15-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datetime import datetime
1+
from datetime import datetime, timedelta
22

33
from django.http import HttpResponse
44
from django.shortcuts import render
@@ -14,6 +14,7 @@
1414
def twilio(request):
1515
resp = MessagingResponse()
1616
case_num = request.POST['Body']
17+
from_phone = request.POST['From']
1718
# FIXME: no county defaults to Tulsa
1819
case = oscn.request.Case(year='2018', number=case_num)
1920
arraignment_event = find_arraignment_or_return_False(case.events)
@@ -23,8 +24,19 @@ def twilio(request):
2324
arraignment_datetime = parse_datetime_from_oscn_event_string(
2425
arraignment_event.Event
2526
)
26-
# Alert.objects.create()
27-
resp.message(f'The arraignment is {arraignment_event.Event}')
27+
week_alert_datetime = arraignment_datetime - timedelta(days=7)
28+
day_alert_datetime = arraignment_datetime - timedelta(days=1)
29+
Alert.objects.create(
30+
when=week_alert_datetime,
31+
what=f'Arraignment for case {case_num} in 1 week at {arraignment_datetime}',
32+
to=from_phone
33+
)
34+
Alert.objects.create(
35+
when=day_alert_datetime,
36+
what=f'Arraignment for case {case_num} in 1 day at {arraignment_datetime}',
37+
to=from_phone
38+
)
39+
resp.message(f'I will send you a reminder on {week_alert_datetime} and on {day_alert_datetime}')
2840
return HttpResponse(resp)
2941

3042

0 commit comments

Comments
 (0)