tree 07dcbef70960bfa3ee4520fec7d46cb84825fc14
parent 8e0f23efc7a13539a8624fafdc51b97f21b98185
author tundebabzy <tundebabzy@gmail.com> 1500526983 +0100
committer Makarand Bauskar <mbauskar@gmail.com> 1500526983 +0530

Can't set Start and End Dates in Salary Slip (#9513) (#9944)

* remove trigger from end_date

* adds new function `get_end_date`:
- it tries to calculate the appropriate end date for a given frequency
- returns an empty string if frequency is 'biweekly'
- adds test cases

* changes logic in `set_start_end_dates`:
- if start_date is empty in form, call process_payroll.get_start_end_dates
- else, call process_payroll.get_end_date

* `get_end_date` should return a dict

* changed "biweekly" to "bimonthly"

* change the behaviour of process payroll start and end date:
- when payroll frequency is changed, change start/end date as usual
- if start date is manually changed, use the frequency to calculate the end date

* clean up

* further cleanup

* in `get_end_date`, if `frequency` isn"t given, "monthly"

* remove end_date from cscript and introduce `set_end_date`

* fix tests

* removed whitespaces
