tree 2f29809083feaac802e2635fc9e6c9209650bbf5
parent 51eec691648943a9c5c7bd56467b6081c3398979
author Himanshu <himanshuwarekar@yahoo.com> 1552994276 +0530
committer Suraj Shetty <surajshetty3416@gmail.com> 1552994276 +0530

feat(Support): Service Level Agreements (#16828)

* init SLA

* Added more inputs to the forms

* set priority of issue

* Removed UOM in favor of hours for tracking

* updated js to autofill values

* Removed unwanted fields

* timer functionality

* code refactor

* parenthesis fix

* fixed typo

* added new fields

* Updated fields

* Updated fields for issue doctype

* Updated fields for issue doctype

* changed doctype structure

* added new fields to issue

* code refactor

* new function to set criticality level

* changed dropdown options

* set timer for sla

* calculation of resolution and response time

* stopwatch counter

* dashboard changes

* renamed sla to support contract

* countdown timer section

* issue doctype changes

* removed unwanted imports

* fixed wrong response time and resolution time

* update response and resolution time

* calculate time to respond and resolve

* feature enhancements

* probable scheduling bug fix

* fixed scheduling issue support sent out of support time

* removed issue criticality link from support

* Changed day order

* skip date validation when support contract is default

* removed mandatory field

* fix scheduling conditions for now

* code refactor

* removed duplicate doctypes

* fixed day inserted twice in service level

* check to not add another default contract

* default support contracts

* removed commented code

* removed unused imports

* fix sla for non-listed days

* reduced redundant code and optimized it and starting unit tests

* added condition check to compute days correctly

* renamed doc as per guidelines and added conditions for scheduling

* removed per day support timings

* added response and resolution time to support contract

* scheduling based on hours kinda fix

* set sla before_update and finally fixed time scheduling out of support time

* DocType Issue removed test_records and rewrote test cases

* test cases and codacy fixes

* Doctype SLA instead of Support Contract to avoid confusion with Contract

* fixed tests failing due to change in options for time period

* change naming to Prompt

* remove unknown doctype from help_desk

* revert unwanted changes to default

* refactor get_list for fetching service_level_agreement

* change datatypes

* fix tests

* refactored tests

* remove unused imports

* code and comments refactor for better understandability

* removed and renamed doctype to service days and minor fixes

* Refactor test cases for response and resolution time for issue

* add validation to check if response time < resolution time

* minor fix for checking if current day is start day

* calculate time in js rather than python

* fix: parenthesis fixing customer dashboard

* json changes to rename sections

* refactor: alignment

* refactor: beautify code

* fix: use frm api to get the element

* fix: replace '__' with '_'

* refactor: remove pointless test
