Commit Graph

2475 Commits

Author SHA1 Message Date
Rucha Mahabal
f208903250
feat: Scheduling Multiple shifts and Auto Attendance (#29955)
* refactor: overlapping shifts validation

- convert raw query to frappe.qb

- check for overlapping timings if dates overlap

- translation friendly error messages with link to overlapping doc

* refactor: consider timeslots in `get_employee_shift`

* fix: handle shift grace overlap while finding current shift

* refactor: handle shifts spanning over 2 different days

* fix: fetching shift on timing boundaries

* refactor: rewrite docstrings and add type hints for functions

* refactor: Allow multiple attendance records creation for different shifts

* feat: auto attendance marking for multiple shifts on the same day

* refactor: mark absent for employees with no attendance

- break down into smaller functions

- make it work with multiple shifts

- this will mark employee as absent per shift, meaning employee can be present for one shift and absent for another on the same day

* chore: sort imports, remove unused imports

* refactor: Monthly Attendance Sheet

- split into smaller functions

- add type hints

- get rid of unnecessary db calls and loops

- add docstrings for functions

* feat: add colors for attendance status to lessen the cognitive load

- legend with colors and full form for status abbreviations

* feat: show shift-wise attendance in monthly attendance sheet

* test: monthly attendance sheet

* style: format code with black

* chore: ignore formatting changes in blame

* test: fetching shifts in Employee Checkins

* fix(test): make holiday list for shift and checkin tests

* fix: tests

* test: shift assignment creation

* fix: attendance fixes

- check half day attendance threshold before absent threshold to avoid half day getting marked as absent

- round working hours to 2 digits for better accuracy

- start and end dates for absent attendance marking

* test: Shift Type with Auto Attendance setup and working

fix test setups

* refactor: Overlapping validation for Shift Request

- commonify time overlap function between request and assignment

- add tests for shift request overlap

* chore: remove unused import

* fix: add validation for overlapping shift attendance

- skip auto attendance in case of overlapping shift attendance record

- this case won't occur in case of shift assignment, since it will not allow overlapping shifts to be assigned

- can happen if manual attendance records are created

* test: validations for duplicate and overlapping shift attendance records

* test: skip auto attendance

* fix: skip validation for overlapping shift attendance if no shift is linked

* test: add holiday related shift and attendance tests

* test: add attendance sheet tests for employee filter, half days

* fix: sider
2022-04-06 10:56:47 +05:30
Rucha Mahabal
7675542926
Merge pull request #30569 from ruchamahabal/fix-leave-alloc-update 2022-04-04 20:18:55 +05:30
Rucha Mahabal
793164ac2e fix(test): set company for employee in leave allocation test setup 2022-04-04 19:08:27 +05:30
Rucha Mahabal
5499cecffd test: leave allocation validations and total value for updates done before and after submission 2022-04-04 18:32:17 +05:30
Rucha Mahabal
3538656a7d fix: total leaves allocated not validated and recalculated on updates post submission 2022-04-04 17:52:30 +05:30
Ankush Menat
a896895a9e fix: bulk fix (~330) missing translations 2022-04-04 13:59:51 +05:30
Rucha Mahabal
65763275ae
fix: convert dates to datetime before comparing in leave days calculation and fix half day edge case (#30538) 2022-04-01 13:47:52 +05:30
Ankush Menat
494bd9ef78 style: format code with black 2022-03-28 18:52:46 +05:30
Rucha Mahabal
ffec9516fa fix: do not update status to Paid if sanctioned amount is 0 2022-03-25 21:41:48 +05:30
Rucha Mahabal
2d915782cb chore: sort imports 2022-03-25 21:41:48 +05:30
Rucha Mahabal
edf0c0030e test: expense claim against fully and partially paid advances 2022-03-25 21:41:48 +05:30
Rucha Mahabal
0461223627 fix: Expense Claim conditions for Paid status
- status doesn't change to Paid if the entire required amount is already covered via linked advances

- status doesn't change to Paid if the claim is partially paid via advances

- patch to update such uncancelled claims to Paid
2022-03-25 21:41:48 +05:30
Rucha Mahabal
0ae6561620
test: get leave allocation records query (#30342)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-03-22 15:14:05 +05:30
Ankush Menat
f37316a266 refactor: use get_value instead of exists 2022-03-22 13:07:45 +05:30
barredterra
5c4eabf075 fix: usage of frappe.db.exists 2022-03-22 13:07:45 +05:30
Rucha Mahabal
95568210b2
fix(ux): warning for disabled carry forwarding in Policy Assignment (#30331) 2022-03-21 15:30:04 +05:30
Rucha Mahabal
f090e63e54
test: fix holiday list creation causing flaky tests (#30260) 2022-03-17 15:21:56 +05:30
Rucha Mahabal
d61c437588 fix: flaky tests 2022-03-13 20:30:18 +05:30
Rucha Mahabal
558650bc3a fix: add more type hints 2022-03-13 20:02:51 +05:30
Rucha Mahabal
8173e6a8ea fix: simplify insufficient leave balance message 2022-03-11 15:30:01 +05:30
Rucha Mahabal
b2c549a464 fix: conflicts 2022-03-10 15:41:14 +05:30
Rucha Mahabal
79b0354efc
Merge branch 'develop' into leave-opening-balance 2022-03-10 14:45:46 +05:30
Rucha Mahabal
9fae89ff61
fix: flaky tests (#30154) 2022-03-10 14:22:12 +05:30
Ankush Menat
84568ac341 chore: imports 2022-03-10 11:20:23 +05:30
Chillar Anand
fe4b6771b5
refactor: Remove dead code (#30140) 2022-03-09 17:16:05 +05:30
Chillar Anand
b1c8a4543d
test: Added test for monthly attendance report (#29989)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-09 17:05:00 +05:30
Rucha Mahabal
9b152e93cf
Merge branch 'develop' into leave-opening-balance 2022-03-09 16:40:26 +05:30
Rucha Mahabal
97b7b5012e test: separate leave ledger entries for leave applications across allocations 2022-03-09 16:35:25 +05:30
Rucha Mahabal
70239158b9 fix: boundary determination for separate ledger entries 2022-03-09 16:18:23 +05:30
Rucha Mahabal
6755d6e6f5 test: leave application validations 2022-03-09 15:48:57 +05:30
Rucha Mahabal
a504ffcc4c fix: clearer validation/warning messages for insufficient balance in leave application 2022-03-09 13:49:07 +05:30
Rucha Mahabal
c0f1e269e4 feat: split ledger entries for applications created across allocations
- fix: ledger entry for expiring cf leaves not considering holidays
2022-03-09 10:25:49 +05:30
Rucha Mahabal
096092f173
fix: leave allocation records query (#30118) 2022-03-08 23:16:40 +05:30
Chillar Anand
ce27cdb121
test: Fix flaky tests (#30107) 2022-03-08 23:07:23 +05:30
Rucha Mahabal
430bf00458 fix: add type hints for employee leave balance report 2022-03-08 13:36:08 +05:30
Dany Robert
748d5c4873
fix: wrong payment days in salary slip for employees joining/leaving during mid payroll dates (#29082)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
2022-03-07 19:57:57 +05:30
Rucha Mahabal
9988ec697f test: test advance filters in expense claim and cancelled status 2022-03-01 21:40:39 +05:30
Rucha Mahabal
57f92df108 fix: flake8 issues 2022-03-01 20:50:36 +05:30
Rucha Mahabal
650099ee65
Merge branch 'develop' into emp-adv-status 2022-03-01 20:30:58 +05:30
Rucha Mahabal
3f3b1766c2 test: get leave details for leave application dashboard 2022-02-28 17:30:09 +05:30
Rucha Mahabal
a58dfecb23 test: fix test test_leave_balance_near_allocaton_expiry 2022-02-28 15:27:24 +05:30
Rucha Mahabal
aaa1ae94f2 fix: earned leave policy assignment test 2022-02-28 14:26:49 +05:30
Rucha Mahabal
942511cfff fix: leave application dashboard
- total leaves allocated considering cancelled leaves

- optional plural for leave category labels

- show dashboard only once from date is set, else it fetches all allocations till date and generates incorrect balance

- change pending leaves to 'Leaves Pending Approval' for better context

- update labels in Salary Slip Leave Details table
2022-02-28 14:10:23 +05:30
Rucha Mahabal
88141d6116 test: Employee Leave Balance Summary 2022-02-28 12:12:52 +05:30
Rucha Mahabal
c7d594984a chore: remove unused imports, sort imports, fix sider 2022-02-28 10:19:16 +05:30
Rucha Mahabal
d14a5c0f64
Merge branch 'develop' into leave-opening-balance 2022-02-28 10:03:38 +05:30
Rucha Mahabal
c050ce49c2 test: employee leave balance report
- fix expired leaves calculation when filters span across 2 different allocation periods
2022-02-28 09:58:12 +05:30
Deepesh Garg
4f46394399 fix: Add parent to department 2022-02-25 21:18:22 +05:30
Deepesh Garg
3e573e9838 fix: Condition 2022-02-25 17:18:53 +05:30
Deepesh Garg
36c76c4035 fix: Failing setup wizard test 2022-02-25 17:15:57 +05:30