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

mails wit kit requessts can be send for different periods of time

parent bfb5ebcc
No related branches found
No related tags found
1 merge request!238Tns update
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-04-04 09:43
from __future__ import unicode_literals
from django.db import migrations
from web.models.constants import KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
def create_item(apps, type, value, name):
# We can't import the ConfigurationItem model directly as it may be a newer
# version than this migration expects. We use the historical version.
ConfigurationItem = apps.get_model("web", "ConfigurationItem")
item = ConfigurationItem.objects.create()
item.type = type
item.value = value
item.name = name
item.save()
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")
class Migration(migrations.Migration):
dependencies = [
('web', '0157_auto_20200414_0909'),
]
operations = [
migrations.RunPython(configuration_items),
]
...@@ -4,7 +4,7 @@ from django.db import models ...@@ -4,7 +4,7 @@ from django.db import models
from web.models.constants import CANCELLED_APPOINTMENT_COLOR_CONFIGURATION_TYPE, \ from web.models.constants import CANCELLED_APPOINTMENT_COLOR_CONFIGURATION_TYPE, \
NO_SHOW_APPOINTMENT_COLOR_CONFIGURATION_TYPE, KIT_EMAIL_HOUR_CONFIGURATION_TYPE, \ NO_SHOW_APPOINTMENT_COLOR_CONFIGURATION_TYPE, KIT_EMAIL_HOUR_CONFIGURATION_TYPE, \
KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
class ConfigurationItem(models.Model): class ConfigurationItem(models.Model):
...@@ -43,6 +43,8 @@ class ConfigurationItem(models.Model): ...@@ -43,6 +43,8 @@ class ConfigurationItem(models.Model):
pattern = "^#[0-9a-fA-F]+$" pattern = "^#[0-9a-fA-F]+$"
if item.type == KIT_EMAIL_HOUR_CONFIGURATION_TYPE: if item.type == KIT_EMAIL_HOUR_CONFIGURATION_TYPE:
pattern = "^[0-9]{2}:[0-9]{2}$" pattern = "^[0-9]{2}:[0-9]{2}$"
if item.type == KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE:
pattern = "^[0-9]+$"
if item.type == KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE: if item.type == KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE:
pattern = "^(MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY|SUNDAY)$" pattern = "^(MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY|SUNDAY)$"
if pattern is not None: if pattern is not None:
......
...@@ -44,6 +44,7 @@ NO_SHOW_APPOINTMENT_COLOR_CONFIGURATION_TYPE = "NO_SHOW_APPOINTMENT_COLOR" ...@@ -44,6 +44,7 @@ NO_SHOW_APPOINTMENT_COLOR_CONFIGURATION_TYPE = "NO_SHOW_APPOINTMENT_COLOR"
KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE = "KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE" KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE = "KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE"
KIT_EMAIL_HOUR_CONFIGURATION_TYPE = "KIT_DAILY_EMAIL_HOUR_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_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"
MAIL_TEMPLATE_CONTEXT_SUBJECT = 'S' MAIL_TEMPLATE_CONTEXT_SUBJECT = 'S'
MAIL_TEMPLATE_CONTEXT_APPOINTMENT = 'A' MAIL_TEMPLATE_CONTEXT_APPOINTMENT = 'A'
......
...@@ -17,7 +17,7 @@ from web.decorators import PermissionDecorator ...@@ -17,7 +17,7 @@ from web.decorators import PermissionDecorator
from web.models import ConfigurationItem, Language, Worker from web.models import ConfigurationItem, Language, Worker
from web.models.constants import KIT_EMAIL_HOUR_CONFIGURATION_TYPE, \ from web.models.constants import KIT_EMAIL_HOUR_CONFIGURATION_TYPE, \
KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE, CRON_JOB_TIMEOUT KIT_EMAIL_DAY_OF_WEEK_CONFIGURATION_TYPE, CRON_JOB_TIMEOUT
from web.models.constants import KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE from web.models.constants import KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE, KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE
from . import wrap_response from . import wrap_response
from ..forms import KitRequestForm from ..forms import KitRequestForm
from ..models import AppointmentType, Appointment from ..models import AppointmentType, Appointment
...@@ -28,8 +28,13 @@ logger = logging.getLogger(__name__) ...@@ -28,8 +28,13 @@ logger = logging.getLogger(__name__)
def get_kit_requests(user, start_date=None, end_date=None): def get_kit_requests(user, start_date=None, end_date=None):
if start_date is None: if start_date is None:
days = ConfigurationItem.objects.get(type=KIT_DAILY_EMAIL_DAYS_PERIOD_TYPE).value
if days.isdigit():
days = int(days)
else:
days = 7
start_date = get_today_midnight_date() + datetime.timedelta(days=1) start_date = get_today_midnight_date() + datetime.timedelta(days=1)
end_date = start_date + datetime.timedelta(days=7) end_date = start_date + datetime.timedelta(days=days)
else: else:
if isinstance(start_date, str): if isinstance(start_date, str):
start_date = parse_datetime(start_date) start_date = parse_datetime(start_date)
......
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