Commit Graph

2565 Commits

Author SHA1 Message Date
Rucha Mahabal
f8f1c3d8b5 fix: enable Track Changes in Leave Allocation 2022-04-07 12:57:04 +05:30
Rucha Mahabal
00ddb4c42a
Merge branch 'develop' into multiple-shifts 2022-04-06 11:22:46 +05:30
Rucha Mahabal
c5850e3923
Revert "feat: Scheduling Multiple shifts and Auto Attendance" (#30587) 2022-04-06 11:18:47 +05:30
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
0e1528365d fix: sider 2022-04-04 21:31:14 +05:30
Rucha Mahabal
bd077dbb3b test: add attendance sheet tests for employee filter, half days 2022-04-04 21:26:42 +05:30
Rucha Mahabal
fec47632bc test: add holiday related shift and attendance tests 2022-04-04 21:02:22 +05:30
Suraj Shetty
ca66224d57
Merge branch 'develop' into exotel-fixes 2022-04-04 20:22:06 +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
Suraj Shetty
117e5d05a3
Merge branch 'develop' into exotel-fixes 2022-04-04 18:21:46 +05:30
Rucha Mahabal
7b406f422d
Merge branch 'develop' into multiple-shifts 2022-04-04 18:14:49 +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
d9f00409b9
Merge branch 'develop' into multiple-shifts 2022-04-04 11:19:03 +05:30
Rucha Mahabal
1d4b1c42f2 fix: skip validation for overlapping shift attendance if no shift is linked 2022-04-04 11:14:40 +05:30
Rucha Mahabal
62cdde9a84 test: skip auto attendance 2022-04-04 11:05:03 +05:30
Rucha Mahabal
277bda11dd test: validations for duplicate and overlapping shift attendance records 2022-04-04 11:04:24 +05:30
Rucha Mahabal
83489be7d9 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
2022-04-04 11:00:26 +05:30
Rucha Mahabal
7bd84f2696 chore: remove unused import 2022-04-03 23:58:04 +05:30
Rucha Mahabal
58fb2f7dde refactor: Overlapping validation for Shift Request
- commonify time overlap function between request and assignment

- add tests for shift request overlap
2022-04-03 23:54:03 +05:30
Rucha Mahabal
6fffdcf0c7 test: Shift Type with Auto Attendance setup and working
fix test setups
2022-04-03 22:37:10 +05:30
Rucha Mahabal
655c1dd6ab 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
2022-04-03 21:47:32 +05:30
Suraj Shetty
6644ebd52d
Merge branch 'develop' into exotel-fixes 2022-04-03 21:17:29 +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
Rucha Mahabal
d45e286216 test: shift assignment creation 2022-03-31 12:15:38 +05:30
Rucha Mahabal
e4cc0c1c87 fix: tests 2022-03-31 00:21:23 +05:30
Rucha Mahabal
97547da7ee fix(test): make holiday list for shift and checkin tests 2022-03-31 00:17:32 +05:30
Rucha Mahabal
af139193a5 test: fetching shifts in Employee Checkins 2022-03-30 23:27:49 +05:30
Rucha Mahabal
baec607ff5 style: format code with black 2022-03-30 15:23:13 +05:30
Rucha Mahabal
acb27430ac test: monthly attendance sheet 2022-03-30 15:14:31 +05:30
Rucha Mahabal
41cfcdba44 feat: show shift-wise attendance in monthly attendance sheet 2022-03-29 16:10:46 +05:30
Rucha Mahabal
865204a541 feat: add colors for attendance status to lessen the cognitive load
- legend with colors and full form for status abbreviations
2022-03-29 16:10:46 +05:30
Rucha Mahabal
e79d292233 refactor: Monthly Attendance Sheet
- split into smaller functions

- add type hints

- get rid of unnecessary db calls and loops

- add docstrings for functions
2022-03-29 16:10:41 +05:30
Rucha Mahabal
f2ee36579b chore: sort imports, remove unused imports 2022-03-29 16:09:47 +05:30
Rucha Mahabal
4ef2911953 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
2022-03-29 16:09:39 +05:30
Rucha Mahabal
742c8f0790 feat: auto attendance marking for multiple shifts on the same day 2022-03-29 16:08:43 +05:30
Rucha Mahabal
cb3b330097 refactor: Allow multiple attendance records creation for different shifts 2022-03-29 16:05:36 +05:30
Rucha Mahabal
f6a12a902f refactor: rewrite docstrings and add type hints for functions 2022-03-29 16:05:01 +05:30
Rucha Mahabal
e7cbb5fe6b fix: fetching shift on timing boundaries 2022-03-29 16:02:42 +05:30
Rucha Mahabal
62e72752dc refactor: handle shifts spanning over 2 different days 2022-03-29 16:02:17 +05:30
Rucha Mahabal
ace3f8a023 fix: handle shift grace overlap while finding current shift 2022-03-29 16:01:25 +05:30
Rucha Mahabal
625a9f69f5 refactor: consider timeslots in get_employee_shift 2022-03-29 16:01:18 +05:30
Rucha Mahabal
3711119a66 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
2022-03-29 15:59:56 +05:30
Ankush Menat
7ef54809be Merge branch 'develop' into exotel-fixes 2022-03-28 19:55:39 +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
Subin Tom
b19305aa83 fix: used get_employees_with_number, strip_number methods 2022-03-22 16:22:09 +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
Ankush Menat
9c7df2eec5 fix: ignore duplicates explicitly 2022-02-23 14:27:45 +05:30
Rucha Mahabal
4738367d64
fix: boarding task dates not set when activity begins on is set to 0 (#29921) 2022-02-21 22:54:46 +05:30
Dany Robert
85adb947bf
fix: show user id in emp group table (#29776) 2022-02-14 09:22:21 +05:30
Rucha Mahabal
cbaadcf113 fix(test): reset test setup 2022-02-11 20:59:19 +05:30
Rucha Mahabal
9b0f9c3442 test: earned leave allocations based on DOJ 2022-02-11 20:08:01 +05:30
Rucha Mahabal
51e6086829 chore: clean-up leave policy assignment tests 2022-02-11 17:40:20 +05:30
Rucha Mahabal
c7be9ef5d2 fix: consider leaves for past months if assignment is based on joining date too 2022-02-11 13:52:46 +05:30
Rucha Mahabal
89fa0bb73f fix: consider based on DOJ config while calculating leaves for passed months 2022-02-09 11:28:14 +05:30
Rucha Mahabal
7326d57966 fix: Earned Leave allocation based on joining date not working 2022-02-08 17:14:11 +05:30
Rucha Mahabal
bd1555bd23 fix: handle carry forwarded leaves while checking for duplicate allocation 2022-02-08 14:36:31 +05:30