Skip to content

Commit

Permalink
Merge pull request verdigado#93 from hbrunn/15.0-91-adapt-to-upstream
Browse files Browse the repository at this point in the history
[FIX] verdigado#91 adapt to changes in upstream
  • Loading branch information
albig authored Jan 8, 2024
2 parents 16095a3 + c568fe8 commit 66c19f9
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 13 deletions.
15 changes: 14 additions & 1 deletion verdigado_attendance/models/hr_leave_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,13 @@ class HrLeaveType(models.Model):
def _get_days_request(self):
"""Add a formatted version for every field used in calendar header"""
result = super()._get_days_request()
for key in ("virtual_leaves_taken", "virtual_remaining_leaves"):
for key in (
"virtual_leaves_taken",
"virtual_remaining_leaves",
"usable_remaining_leaves",
):
if key not in result[1]:
continue
if result[1]["request_unit"] == "hour":
formatted = self.env["ir.qweb.field.float_time"].value_to_html(
float(result[1][key]), {}
Expand All @@ -21,6 +27,13 @@ def _get_days_request(self):
formatted = result[1][key]
result[1]["%s_formatted" % key] = formatted
result[1]["dashboard_action_id"] = self.dashboard_action_id.id
if (
"usable_remaining_leaves_formatted" in result[1]
and "virtual_remaining_leaves_formatted" not in result[1]
):
result[1]["virtual_remaining_leaves_formatted"] = result[1][
"virtual_usable_leaves_formatted"
]
return result

@api.model
Expand Down
2 changes: 1 addition & 1 deletion verdigado_attendance/static/src/js/systray.esm.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ var OvertimeSystray = Widget.extend({
args: [],
kwargs: {context: session.user_context},
}).then(function (data) {
self.$("a").text(data[1].virtual_remaining_leaves_formatted);
self.$("a").text(data[1].usable_remaining_leaves_formatted);
});
},
});
Expand Down
16 changes: 8 additions & 8 deletions verdigado_attendance/static/src/xml/hr_holidays.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@
and we replace all of them with the formatted version
/-->
<xpath
expr="//span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves']&quot;]"
expr="//span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves']&quot; or @t-esc=&quot;timeoff[1]['usable_remaining_leaves']&quot;]"
position="attributes"
>
<!-- prettier-ignore-start -->
<attribute name="t-esc">timeoff[1]['virtual_remaining_leaves_formatted']</attribute>
<attribute name="t-esc">timeoff[1]['usable_remaining_leaves_formatted']</attribute>
<!-- prettier-ignore-end -->
</xpath>
<xpath
expr="//span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves']&quot;]"
expr="//span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves']&quot; or @t-esc=&quot;timeoff[1]['usable_remaining_leaves']&quot;]"
position="attributes"
>
<!-- prettier-ignore-start -->
<attribute name="t-esc">timeoff[1]['virtual_remaining_leaves_formatted']</attribute>
<attribute name="t-esc">timeoff[1]['usable_remaining_leaves_formatted']</attribute>
<!-- prettier-ignore-end -->
</xpath>
<xpath
Expand All @@ -43,7 +43,7 @@
also three times for every branch of the above conditional
/-->
<xpath
expr="//t/span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves_formatted']&quot;]"
expr="//t/span[@t-esc=&quot;timeoff[1]['usable_remaining_leaves_formatted']&quot;]"
position="before"
>
<a
Expand All @@ -53,12 +53,12 @@
</xpath>
<xpath expr="//a[count(*) = 0]" position="inside">
<xpath
expr="//t/span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves_formatted']&quot;]"
expr="//t/span[@t-esc=&quot;timeoff[1]['usable_remaining_leaves_formatted']&quot;]"
position="move"
/>
</xpath>
<xpath
expr="//t/span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves_formatted']&quot;]"
expr="//t/span[@t-esc=&quot;timeoff[1]['usable_remaining_leaves_formatted']&quot;]"
position="before"
>
<a
Expand All @@ -68,7 +68,7 @@
</xpath>
<xpath expr="//a[count(*) = 0]" position="inside">
<xpath
expr="//t/span[@t-esc=&quot;timeoff[1]['virtual_remaining_leaves_formatted']&quot;]"
expr="//t/span[@t-esc=&quot;timeoff[1]['usable_remaining_leaves_formatted']&quot;]"
position="move"
/>
</xpath>
Expand Down
23 changes: 20 additions & 3 deletions verdigado_attendance/tests/test_holidays.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
# Copyright 2023 Hunki Enterprises BV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from datetime import date

from odoo import exceptions

from .hr_case import HrCase


class TestHolidays(HrCase):
def _at_date(self, status, date, field):
"""Return value of some holiday status field at a time"""
return status.get_employees_days(
self.verdigado_user.employee_id.ids, date=date
)[self.verdigado_user.employee_id.id][status.id][field]

def test_standard_flow_past(self):
"""Test that employees can request holidays for the past"""
holiday = (
Expand All @@ -32,7 +40,9 @@ def test_standard_flow_past(self):
holiday_as_officer = holiday.with_user(self.verdigado_officer)
holiday_as_officer.action_validate()
self.assertEqual(holiday.number_of_days, 3)
self.assertEqual(holiday_status.remaining_leaves, 27)
self.assertEqual(
self._at_date(holiday_status, date(2023, 12, 31), "remaining_leaves"), 27
)
resource_leave = self.env["resource.calendar.leaves"].search(
[("holiday_id", "in", holiday.ids)]
)
Expand All @@ -44,7 +54,9 @@ def test_standard_flow_past(self):
holiday.unlink()
holiday_as_officer.unlink()
self.assertFalse(resource_leave.exists())
self.assertEqual(holiday_status.remaining_leaves, 30)
self.assertEqual(
self._at_date(holiday_status, date(2023, 12, 31), "remaining_leaves"), 30
)

def test_standard_flow_future(self):
"""Test that employees can request holidays for the future"""
Expand Down Expand Up @@ -73,5 +85,10 @@ def test_standard_flow_future(self):
[("holiday_id", "in", holiday.ids)]
)
self.assertTrue(resource_leave)
self.assertEqual(
self._at_date(holiday_status, date(2042, 12, 31), "remaining_leaves"), 27
)
holiday.unlink()
self.assertEqual(holiday_status.remaining_leaves, 30)
self.assertEqual(
self._at_date(holiday_status, date(2042, 12, 31), "remaining_leaves"), 30
)

0 comments on commit 66c19f9

Please sign in to comment.