gitlab dokos/hrms v3.7.0

6 hours ago

Release Notes for v3.7.0 (58 commits)

Features (4)
  • Allows employees to view the CTC (Cost to Company) breakdown of Employee records they have access to, instead of restricting this view to HR managers only. !2250 (backport) (from hrms#4649)
  • Adds the current logged-in user's linked Employee as the default value in Employee-based forms where no default is set. !2251 (backport) (from hrms#4650)
  • Adds a "Forgot Password" option to the login page and a "Change Password" option to the profile page. !2242 (backport) (from hrms#4508)
  • Makes Reason for Adjustment optional when creating a leave adjustment, allowing the method to be called without providing a reason. !2238 (backport) (from hrms#4635)

Fixes (8)
  • Adds the component abbreviation alongside the component name in the "CTC Break-up" report. !2249 (backport) (from hrms#4643)
  • Updates French translations for several field labels and doctypes. !2246 (backport)
  • Syncs the latest translations from Crowdin into the project. !2243 (backport) (from hrms#4640)
  • Syncs the latest translations from Crowdin into the codebase. !2237 (backport) (from hrms#4626)
  • Fixes an issue where Loan Repayment GL entries incorrectly required a party when employee-based accounting is disabled, by setting the Party Not Required flag in that case. !2234 (backport) (from hrms#4630)
  • Adds stricter permission checks for HRMS doctypes so that users can only access, create, or modify records they have the appropriate permissions for. !2232 (backport) (from hrms#4621)
  • Here is the PR description and diff for the pull request:

PR Description:
Shifts and their timings are vital in determining overtime, late entries, early exits, and break deductions.

The current Attendance Request does not allow employees to tag specific shifts while marking attendance for a date range, leading to inaccuracies in late entry, early exit, and overtime calculations.

With this update, employees can now tag a specific shift while submitting an Attendance Request, which helps with accurate attendance time calculations.

Example: An employee working from Jan 1 to Jan 5 on the Night Shift can now specify the Night Shift in their request. Previously, the system would default to the shift assigned in the Shift Assignment or Employee master, which might not match the actual shift worked.

Diff:
```
diff --git a/hrms/hr/doctype/attendance_request/attendance_request.json b/hrms/hr/doctype/attendance_request/attendance_request.json
index 7e39f9e12..f1d3e2d66 100644
--- a/hrms/hr/doctype/attendance_request/attendance_request.json
+++ b/hrms/hr/doctype/attendance_request/attendance_request.json
@@ -1,6 +1,6 @@
{
"actions": [],

  • "creation": "2013-05-06 12:13:11.579350",

  • "creation": "2013-05-06 12:13:11.579350",
    "doctype": "DocType",
    "document_type": "Document",
    "engine": "InnoDB",
    @@ -184,6 +184,29 @@
    "reqd": 1
    },
    {

  • "fieldname": "shift_type",

  • "fieldtype": "Link",

  • "label": "Shift Type",

  • "options": "Shift Type"

  • },

  • {

  • "depends_on": "shift_type",

  • "fieldname": "include_holidays",

  • "fieldtype": "Check",

  • "label": "Include Holidays"

  • },

  • {

  • "collapsible": 1,

  • "collapsible_by_default": 1,

  • "depends_on": "shift_type",

  • "fieldname": "shift_details_section",

  • "fieldtype": "Section Break",

  • "label": "Shift Details"

  • },

  • {

  • "fieldname": "shift_timings_html",

  • "fieldtype": "HTML",

  • "label": "Shift Timings"

  • },

  • {
    "fieldname": "reason",
    "fieldtype": "Small Text",
    "label": "Reason"
    diff --git a/hrms/hr/doctype/attendance_request/attendance_request.py b/hrms/hr/doctype/attendance_request/attendance_request.py
    index 36af7a2f7..acb98f6d5 100644
    --- a/hrms/hr/doctype/attendance_request/attendance_request.py
    +++ b/hrms/hr/doctype/attendance_request/attendance_request.py
    @@ -1,11 +1,13 @@

    Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors

    For license information, please see license.txt

+from datetime import timedelta
+
import frappe
from frappe import _
from frappe.utils import (
add_days,
cint,
date_diff,

  • formatdate,
    get_link_to_form,
    getdate,
    )
    @@ -40,6 +42,15 @@ class AttendanceRequest(Document):
    def validate(self):
    self.validate_dates()
    self.validate_shift_overlap()
  • if self.shift_type:
  • self.set_shift_timings()
    +
  • def set_shift_timings(self):
  • shift = frappe.get_doc("Shift Type", self.shift_type)
  • self.shift_timinghtml = frappe.render !2229 (backport) (from hrms#4612)
  • Syncs the latest translations from Crowdin into the project. !2228 (backport) (from hrms#4614)


Contributors
  • MochaMind (30)
  • Asmita Hase (4)
  • Deepesh Garg (3)
  • Krishna Shirsath (3)
  • Nihantra Patel (3)
  • El-Shafei H (1)


Full diff: v3.6.0...v3.7.0
Tag: v3.7.0
The original content collected in merge requests has been automatically enhanced by Claude 3.7 Sonnet

Don't miss a new hrms release

NewReleases is sending notifications on new releases.