misc: access SMS settings directly (#46712)

This commit is contained in:
Valentin Deniaud 2020-09-17 12:13:15 +02:00
parent bad9b608b0
commit 4a106ef9c7
5 changed files with 11 additions and 11 deletions

View File

@ -80,7 +80,7 @@ class Command(BaseCommand):
'email_extra_info': agenda.reminder_settings.email_extra_info,
'sms_extra_info': agenda.reminder_settings.sms_extra_info,
}
ctx.update(getattr(settings, 'TEMPLATE_VARS', {}))
ctx.update(settings.TEMPLATE_VARS)
if booking.form_url:
ctx['form_url'] = urljoin(settings.SITE_BASE_URL, booking.form_url)
@ -112,21 +112,19 @@ class Command(BaseCommand):
if not booking.user_phone_number:
return
sms_url = getattr(settings, 'SMS_URL', '')
if not sms_url:
if not settings.SMS_URL:
return
sms_from = settings.SMS_FROM
message = render_to_string('agendas/%s_reminder_message.txt' % kind, ctx).strip()
payload = {
'message': message,
'from': settings.SMS_FROM,
'from': settings.SMS_SENDER,
'to': [booking.user_phone_number],
}
try:
with atomic():
request = requests.post(sms_url, json=payload, remote_service='auto', timeout=10)
request = requests.post(settings.SMS_URL, json=payload, remote_service='auto', timeout=10)
request.raise_for_status()
booking.reminder_datetime = timezone.now()
booking.save()

View File

@ -552,7 +552,7 @@ class AgendaReminderForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if not hasattr(settings, 'SMS_URL'):
if not settings.SMS_URL:
del self.fields['send_sms']
del self.fields['sms_extra_info']

View File

@ -181,6 +181,8 @@ except ImportError:
EXCEPTIONS_SOURCES = {}
TEMPLATE_VARS = {}
SMS_URL = ''
SMS_SENDER = ''
local_settings_file = os.environ.get(
'CHRONO_SETTINGS_FILE', os.path.join(os.path.dirname(__file__), 'local_settings.py')

View File

@ -1291,7 +1291,7 @@ def test_agenda_reminders(mailoutbox, freezer):
assert len(mailoutbox) == 0
@override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_FROM='EO')
@override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_SENDER='EO')
def test_agenda_reminders_sms(freezer):
freezer.move_to('2020-01-01 14:00')
agenda = Agenda.objects.create(label='Events', kind='events')
@ -1315,7 +1315,7 @@ def test_agenda_reminders_sms(freezer):
assert body['to'] == ['+336123456789']
@override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_FROM='EO')
@override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_SENDER='EO')
def test_agenda_reminders_retry(freezer):
freezer.move_to('2020-01-01 14:00')
agenda = Agenda.objects.create(label='Events', kind='events')
@ -1432,7 +1432,7 @@ def test_agenda_reminders_email_content(mailoutbox, freezer):
assert 'href="https://example.org/"' in mail.alternatives[0][0]
@override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_FROM='EO', TIME_ZONE='UTC')
@override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_SENDER='EO', TIME_ZONE='UTC')
def test_agenda_reminders_sms_content(freezer):
freezer.move_to('2020-01-01 14:00')
agenda = Agenda.objects.create(label='Events', kind='events')

View File

@ -3997,7 +3997,7 @@ def test_manager_reminders(app, admin_user):
assert 'Users will be reminded of their booking by email, 3 days in advance.' in resp.text
with override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_FROM='EO'):
with override_settings(SMS_URL='https://passerelle.test.org/sms/send/', SMS_SENDER='EO'):
resp = resp.click('Configure', href='reminder')
resp.form['send_sms'] = True
resp = resp.form.submit().follow()