Skip to content
Snippets Groups Projects
Commit 9de01675 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

time format is configurable

parent 2ca2e03a
No related branches found
No related tags found
1 merge request!238Tns update
......@@ -4,7 +4,7 @@ from __future__ import unicode_literals
from django.db import migrations
from web.models.constants import KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
from web.models.constants import KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE, KIT_DAILY_EMAIL_TIME_FORMAT_TYPE
def create_item(apps, type, value, name):
......@@ -21,6 +21,9 @@ def create_item(apps, type, value, name):
def configuration_items(apps, schema_editor):
create_item(apps, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE, "7",
"Number of days with sample kits included in email")
create_item(apps, KIT_DAILY_EMAIL_TIME_FORMAT_TYPE, "%Y-%m-%d %H:%M",
"Appointment date format used in sample kits email")
class Migration(migrations.Migration):
......
# coding=utf-8
import re
from django.db import models
from web.models.constants import CANCELLED_APPOINTMENT_COLOR_CONFIGURATION_TYPE, \
NO_SHOW_APPOINTMENT_COLOR_CONFIGURATION_TYPE, KIT_EMAIL_HOUR_CONFIGURATION_TYPE, \
KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_TIME_FORMAT_TYPE, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
class ConfigurationItem(models.Model):
......@@ -47,6 +48,8 @@ class ConfigurationItem(models.Model):
pattern = "^[0-9]+$"
if item.type == KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE:
pattern = "^(MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY|SUNDAY)$"
if item.type == KIT_DAILY_EMAIL_TIME_FORMAT_TYPE:
pattern = "^(%Y-%m-%d|%Y-%m-%d %H:%M)$"
if pattern is not None:
if not re.compile(pattern).match(item.value):
return "Invalid value of param: " + item.name + ". It should match regex pattern: " + pattern
......
......@@ -45,6 +45,7 @@ KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE = "KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE
KIT_EMAIL_HOUR_CONFIGURATION_TYPE = "KIT_DAILY_EMAIL_HOUR_CONFIGURATION_TYPE"
KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE = "KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE"
KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE = "KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE"
KIT_DAILY_EMAIL_TIME_FORMAT_TYPE = "KIT_DAILY_EMAIL_TIME_FORMAT_TYPE"
MAIL_TEMPLATE_CONTEXT_SUBJECT = 'S'
MAIL_TEMPLATE_CONTEXT_APPOINTMENT = 'A'
......
......@@ -15,9 +15,9 @@ from django_cron.models import CronJobLog
from notifications import get_filter_locations, get_today_midnight_date
from web.decorators import PermissionDecorator
from web.models import ConfigurationItem, Language, Worker
from web.models.constants import KIT_EMAIL_HOUR_CONFIGURATION_TYPE, \
from web.models.constants import KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE, \
KIT_EMAIL_HOUR_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_TIME_FORMAT_TYPE, \
KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE, CRON_JOB_TIMEOUT
from web.models.constants import KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
from . import wrap_response
from ..forms import KitRequestForm
from ..models import AppointmentType, Appointment
......@@ -89,6 +89,8 @@ def kit_requests(request):
def send_mail(data):
time_format= ConfigurationItem.objects.get(type=KIT_DAILY_EMAIL_TIME_FORMAT_TYPE).value
end_date_str = " end of time"
if data["end_date"] is not None:
end_date_str = data["end_date"].strftime('%Y-%m-%d')
......@@ -117,7 +119,7 @@ def send_mail(data):
row_style = ' background-color: #f9f9f9;'
email_body += "<tr style='" + row_style + "'>"
email_body += "<td style='" + cell_style + "'>" + \
appointment.datetime_when.strftime('%Y-%m-%d %H:%M') + "</td>"
appointment.datetime_when.strftime(time_format) + "</td>"
if appointment.visit is not None and appointment.visit.subject is not None:
email_body += "<td style='" + cell_style + "'>" + \
appointment.visit.subject.nd_number + "</td>"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment