hr_lite 0.20.1 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36aafaef8b40a06e92550352b9b1b316d793185ffa871c2a872430c44a88d23c
|
|
4
|
+
data.tar.gz: 957a8842a0ce1fa20e200c9cd0795a9c75eeff204be0d39aa9198781fcfc13ed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e7eeeb898e3798322fdf75539115586a9513b8c048edd51b89af45bba9cc37d7577e4645cf1b3c6707158b1c51d49195d2d803dddcab5dae2990b6607a6a8772
|
|
7
|
+
data.tar.gz: 74eb90b519e1ca6f7ece2261bbf02f4e0cc094ebbd6faf054eb1945af71a4d4c950551ce7d10c353b14e652bbe2af3ce9978d7af4a729882f3e87214ba76549d
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.20.2] - 2026-10-05
|
|
11
|
+
|
|
12
|
+
No migration.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **Leave team notice goes out on apply, by email too.** The whole team
|
|
17
|
+
(minus the applicant) gets the bell and an email the moment leave is
|
|
18
|
+
applied, not after approval. The reason is still left out. Hosts can
|
|
19
|
+
mute either channel with the `leave.team_notice` matrix row.
|
|
20
|
+
- **A blocked location holds the punch.** Browsers ask for location once;
|
|
21
|
+
after a "Don't allow" every later punch was filed without GPS and
|
|
22
|
+
flagged. The punch now waits and tells the employee to allow location,
|
|
23
|
+
then tap again. Timeout and no-GPS devices still punch (and flag).
|
|
24
|
+
- Team attendance board: "Fix / month" is now "Edit / half day", the
|
|
25
|
+
screen where HR changes a marked day to a half day.
|
|
26
|
+
|
|
10
27
|
## [0.20.1] - 2026-10-03
|
|
11
28
|
|
|
12
29
|
Security fixes. No migration.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// <button type="submit">…</button>
|
|
7
7
|
// <span data-hrl-geo-status hidden></span>
|
|
8
8
|
// </form>
|
|
9
|
-
//
|
|
9
|
+
// A denied permission holds the punch; timeout/unavailable submit anyway
|
|
10
10
|
// with geo_status set; the server flags them.
|
|
11
11
|
(function () {
|
|
12
12
|
"use strict";
|
|
@@ -45,7 +45,15 @@
|
|
|
45
45
|
send("ok");
|
|
46
46
|
},
|
|
47
47
|
function (err) {
|
|
48
|
-
|
|
48
|
+
// Browsers ask only once; a past "Don't allow" denies silently forever.
|
|
49
|
+
// Hold the punch so it is never filed (and flagged) without GPS.
|
|
50
|
+
if (err && err.code === 1) {
|
|
51
|
+
locating = false;
|
|
52
|
+
if (button) { button.disabled = false; button.removeAttribute("aria-busy"); }
|
|
53
|
+
if (label) label.textContent = "Location is blocked. Allow location for this site in your browser settings, then tap again.";
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
send("timeout");
|
|
49
57
|
},
|
|
50
58
|
{ enableHighAccuracy: true, timeout: 10000, maximumAge: 60000 }
|
|
51
59
|
);
|
|
@@ -25,6 +25,7 @@ module HrLite
|
|
|
25
25
|
|
|
26
26
|
before_validation :cache_days_count, on: :create
|
|
27
27
|
after_create :notify_requested, unless: :recorded_by_hr?
|
|
28
|
+
after_create :notify_team
|
|
28
29
|
|
|
29
30
|
scope :pending, -> { where(status: "pending") }
|
|
30
31
|
scope :approved, -> { where(status: "approved") }
|
|
@@ -171,7 +172,6 @@ module HrLite
|
|
|
171
172
|
return false if insufficient
|
|
172
173
|
|
|
173
174
|
notify_decision("Leave approved")
|
|
174
|
-
notify_team
|
|
175
175
|
true
|
|
176
176
|
end
|
|
177
177
|
|
|
@@ -247,8 +247,8 @@ module HrLite
|
|
|
247
247
|
)
|
|
248
248
|
end
|
|
249
249
|
|
|
250
|
-
# Everyone should know a colleague will be away
|
|
251
|
-
# whole team (matrix row "leave.team_notice"; hosts can mute either
|
|
250
|
+
# Everyone should know a colleague will be away, the moment they apply —
|
|
251
|
+
# bell + email to the whole team (matrix row "leave.team_notice"; hosts can mute either
|
|
252
252
|
# channel). Deliberately excludes the reason: dates are team-relevant,
|
|
253
253
|
# the why is not.
|
|
254
254
|
def notify_team
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
<% if record&.regularized? %><span class="hrl-badge">Fixed</span><% end %>
|
|
44
44
|
</td>
|
|
45
45
|
<td data-label="">
|
|
46
|
-
<a class="hrl-small" href="<%= hr_lite.admin_attendance_path(employee.id, date: @date, month: @date.strftime("%Y-%m")) %>">
|
|
46
|
+
<a class="hrl-small" href="<%= hr_lite.admin_attendance_path(employee.id, date: @date, month: @date.strftime("%Y-%m")) %>">Edit / half day</a>
|
|
47
47
|
</td>
|
|
48
48
|
</tr>
|
|
49
49
|
<% end %>
|
|
@@ -51,7 +51,7 @@ module HrLite
|
|
|
51
51
|
"resignation.withdrawn" => { bell: true, email: false, leadership_email: true, leadership_bell: false },
|
|
52
52
|
"employee.onboarded" => { bell: true, email: true, leadership_email: true, leadership_bell: false },
|
|
53
53
|
"payroll.draft_ready" => { bell: true, email: true, leadership_email: false, leadership_bell: false },
|
|
54
|
-
"leave.team_notice" => { bell: true, email:
|
|
54
|
+
"leave.team_notice" => { bell: true, email: true, leadership_email: false, leadership_bell: false },
|
|
55
55
|
"comp_off.requested" => { bell: true, email: false, leadership_email: true, leadership_bell: true },
|
|
56
56
|
"comp_off.approved" => { bell: true, email: true, leadership_email: true, leadership_bell: false },
|
|
57
57
|
"comp_off.rejected" => { bell: true, email: true, leadership_email: false, leadership_bell: false },
|
data/lib/hr_lite/version.rb
CHANGED