Commit 8b488af7 authored by Gladys Forte's avatar Gladys Forte

auto email

parent efc46f5b
......@@ -29,7 +29,7 @@ class ReminderTriggerAPIView(views.APIView):
# print(today_mail)
list_of_emails = []
for data in today_mail:
if data.frm_approver.is_action == True:
if data.frm_approver.is_action == True and data.form_code.status == 'Pending':
# common details
cr_link = f'{CR_FRONT_LINK}/{data.frm_approver.form_code}'
......
......@@ -31,7 +31,8 @@ from app.applicationlayer.cms.utils_cr import (number_generator,
crhistory_create_save,
entity_log_bulk,
reminder_trigger_save,
overdue_trigger_save)
overdue_trigger_save,
reset_autoemail_tables)
from app.entities import enums
from app.applicationlayer.utils import model_to_dict
......@@ -725,8 +726,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
self.perform_update(serializer)
new_instance = serializer.data
print(new_instance['action'])
crhistory_save(
batchno,
enums.CREnum.ACTION.value,
......@@ -786,7 +785,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
is_action=False
)
reminder_trigger_save(form_code, date_now,
reminder_trigger_save(form_code, date_now,
approver_instance.date_sent)
elif action.lower() == 'rejected':
......@@ -978,6 +977,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).update(
is_action=False
)
reset_autoemail_tables(form_code)
message = status_message_response(
200, 'success',
......
......@@ -551,7 +551,8 @@ def reminder_trigger_save(form_code,
date_to_send=date_from.strftime('%Y-%m-%d 00:00:00.000'),
auto_cancel_date=auto_cancel_date.strftime('%Y-%m-%d 00:00:00.000'),
date_submitted_last_approver=date_submitted_last_approver,
is_sent=False
is_sent=False,
form_code=form_instance
)
if counter == 0:
......@@ -560,7 +561,8 @@ def reminder_trigger_save(form_code,
auto_cancel_date=auto_cancel_date.strftime('%Y-%m-%d 00:00:00.000'),
date_submitted_last_approver=date_submitted_last_approver,
is_sent=False,
frm_approver=approver
frm_approver=approver,
cancel_type='from_approval'
)
counter = counter + 1
......@@ -575,6 +577,8 @@ def overdue_trigger_save(form_code):
requested_to_target_date = form_instance.requested_to_target_date
overdue_date = requested_to_target_date + timedelta(days=1)
auto_cancel_date = overdue_date + timedelta(days=30)
models.OverdueTrigger.objects.create(
form_code=form_instance,
......@@ -582,4 +586,30 @@ def overdue_trigger_save(form_code):
is_sent=False
)
models.CancelTrigger.objects.create(
form_code=form_instance,
auto_cancel_date=auto_cancel_date.strftime('%Y-%m-%d 00:00:00.000'),
date_submitted_last_approver=None,
is_sent=False,
frm_approver=None,
cancel_type='from_target_date'
)
return True
def reset_autoemail_tables(form_code):
models.ReminderTrigger.objects.filter(
form_code=form_code
).delete()
models.CancelTrigger.objects.filter(
form_code=form_code
).delete()
models.OverdueTrigger.objects.filter(
form_code=form_code
).delete()
return True
\ No newline at end of file
# Generated by Django 2.2 on 2019-10-29 11:26
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0027_assetgroup'),
]
operations = [
migrations.AddField(
model_name='remindertrigger',
name='form_code',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='entities.ChangeRequestFormHeader', to_field='form_code'),
preserve_default=False,
),
]
# Generated by Django 2.2 on 2019-10-29 14:55
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0028_remindertrigger_form_code'),
]
operations = [
migrations.AddField(
model_name='canceltrigger',
name='cancel_type',
field=models.CharField(blank=True, max_length=255, null=True),
),
migrations.AlterField(
model_name='canceltrigger',
name='frm_approver',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='entities.ChangeRequestFormApprovers', to_field='code'),
),
]
......@@ -1052,6 +1052,10 @@ class ReminderTrigger(models.Model):
blank=True)
is_sent = models.BooleanField(
default=False)
form_code = models.ForeignKey(
ChangeRequestFormHeader,
on_delete=models.PROTECT,
to_field='form_code')
class Meta:
db_table = 'reminder_trigger'
......@@ -1065,7 +1069,9 @@ class CancelTrigger(models.Model):
frm_approver = models.ForeignKey(
ChangeRequestFormApprovers,
on_delete=models.PROTECT,
to_field='code')
to_field='code',
blank=True,
null=True)
auto_cancel_date = models.DateTimeField(
null=True,
blank=True)
......@@ -1074,6 +1080,10 @@ class CancelTrigger(models.Model):
date_submitted_last_approver = models.DateTimeField(
null=True,
blank=True)
cancel_type = models.CharField(
null=True,
blank=True,
max_length=255)
class Meta:
db_table = 'cancel_trigger'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment