Commit Graph

2240 Commits

Author SHA1 Message Date
Rucha Mahabal
7ba66b0320
Merge branch 'develop' into multiple-shifts 2022-04-07 18:07:39 +05:30
Rucha Mahabal
6203ffc8fa fix: make New Leaves Allocated read-only if policy assignment is linked to the allocation and leave type is earned leave 2022-04-07 12:57:04 +05:30
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
fec47632bc test: add holiday related shift and attendance tests 2022-04-04 21:02:22 +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
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
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
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
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