fix: miscellaneous fixes

This commit is contained in:
Himanshu Warekar 2019-05-26 00:03:40 +05:30
parent ff1a8b3070
commit 6feb12d333
5 changed files with 35 additions and 13 deletions

View File

@ -135,9 +135,11 @@ class Issue(Document):
customer=self.customer, service_level_agreement=service_level_agreement)
if not service_level_agreement:
if frappe.db.get_value("Issue", self.name, "service_level_agreement"):
frappe.throw(_("Couldn't Set Service Level Agreement {0}.".format(self.service_level_agreement)))
return
if service_level_agreement.customer and self.customer and not service_level_agreement.customer == self.customer:
if (service_level_agreement.customer and self.customer) and not (service_level_agreement.customer == self.customer):
frappe.throw(_("This Service Level Agreement is specific to Customer {0}".format(service_level_agreement.customer)))
self.service_level_agreement = service_level_agreement.name

View File

@ -7,6 +7,7 @@
"field_order": [
"service_level",
"employee_group",
"priorities_list",
"column_break_2",
"holiday_list",
"default_priority",
@ -73,9 +74,15 @@
"label": "Default Priority",
"options": "Issue Priority",
"read_only": 1
},
{
"fieldname": "priorities_list",
"fieldtype": "Long Text",
"hidden": 1,
"label": "Priorities List"
}
],
"modified": "2019-05-21 20:53:11.731727",
"modified": "2019-05-25 20:18:00.240337",
"modified_by": "Administrator",
"module": "Support",
"name": "Service Level",

View File

@ -13,6 +13,7 @@ class ServiceLevel(Document):
def validate(self):
self.check_priorities()
self.set_priorities()
self.check_support_and_resolution()
def check_priorities(self):
@ -56,7 +57,18 @@ class ServiceLevel(Document):
frappe.throw(_("Select only one Priority as Default."))
# set default priority from priorities
self.default_priority = next(d.priority for d in self.priorities if d.default_priority)
try:
self.default_priority = next(d.priority for d in self.priorities if d.default_priority)
except Exception:
frappe.throw(_("Select a Default Priority."))
def set_priorities(self):
priorities = []
for priority in self.priorities:
priorities.append(priority.priority)
self.priorities_list = ",".join(priorities)
def check_support_and_resolution(self):
week = get_weekdays()

View File

@ -8,8 +8,8 @@
"service_level_agreement_name",
"customer",
"default_service_level_agreement",
"ignore_customer_and_default_sla",
"holiday_list",
"priorities_list",
"column_break_2",
"service_level",
"employee_group",
@ -27,7 +27,7 @@
],
"fields": [
{
"depends_on": "eval: !doc.default_service_level_agreement;\neval: !doc.ignore_customer_and_default_sla;",
"depends_on": "eval: !doc.default_service_level_agreement;",
"fieldname": "customer",
"fieldtype": "Link",
"in_list_view": 1,
@ -37,7 +37,7 @@
},
{
"default": "0",
"depends_on": "eval: !doc.customer;\neval: !doc.ignore_customer_and_default_sla;",
"depends_on": "eval: !doc.customer;",
"fieldname": "default_service_level_agreement",
"fieldtype": "Check",
"in_list_view": 1,
@ -151,13 +151,14 @@
"read_only": 1
},
{
"default": "0",
"fieldname": "ignore_customer_and_default_sla",
"fieldtype": "Check",
"label": "Ignore Customer and Default SLA"
"fetch_from": "service_level.priorities_list",
"fieldname": "priorities_list",
"fieldtype": "Text",
"hidden": 1,
"label": "Priorities List"
}
],
"modified": "2019-05-21 21:53:12.686806",
"modified": "2019-05-25 20:20:41.231834",
"modified_by": "Administrator",
"module": "Support",
"name": "Service Level Agreement",

View File

@ -20,7 +20,7 @@ class ServiceLevelAgreement(Document):
if not self.ignore_start_and_end_date and self.start_date >= self.end_date:
frappe.throw(_("Start Date of Agreement can't be greater than or equal to End Date."))
if not self.ignore_start_and_end_date and self.end_date < frappe.utils.getdate():
if not self.ignore_start_and_end_date and self.end_date < frappe.utils.today():
frappe.throw(_("End Date of Agreement can't be less than today."))
def get_service_level_agreement_priority(self, priority):
@ -54,7 +54,7 @@ def get_active_service_level_agreement_for(priority, customer=None, service_leve
filters.append(["Service Level Priority", "priority", "=", priority])
or_filters = [
["Service Level Agreement", "customer", "=", customer],
["Service Level Agreement", "customer", "=", customer]
]
if service_level_agreement:
or_filters = [