Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
intranet-reporting
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
intranet-reporting
Commits
d45ddde8
Commit
d45ddde8
authored
Mar 04, 2024
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Enabled Timesheet Monthly with Absences to honor view_hours_direct_reports
parent
b130dbc3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
9 deletions
+30
-9
timesheet-monthly-hours-absences2.tcl
www/timesheet-monthly-hours-absences2.tcl
+30
-9
No files found.
www/timesheet-monthly-hours-absences2.tcl
View file @
d45ddde8
...
...
@@ -58,11 +58,35 @@ set debug 0
set
date_format
"YYYY-MM-DD"
set
num_format
"999,990.99"
set
view_hours_all_p
[
im_permission
$current
_user_id view_hours_all
]
set
view_hours_all_p
[
im_permission
$current
_user_id
"view_hours_all"
]
set
view_hours_direct_reports_p
[
im_permission
$current
_user_id
"view_hours_direct_reports"
]
if
{
[
im_is_user_site_wide_or_intranet_admin
$current
_user_id
]
}
{
set view_hours_all_p 1
}
set
timesheet_hours_per_day
[
parameter::get -package_id
[
apm_package_id_from_key intranet-timesheet2
]
-parameter
"TimesheetHoursPerDay"
-default 8
]
set
add_hours_all_p
[
im_permission
$current
_user_id
"add_hours_all"
]
if
{
$add
_hours_all_p
}
{
set view_hours_all_p 1
}
set
add_hours_direct_reports_p
[
im_permission
$current
_user_id
"add_hours_direct_reports"
]
if
{
$add
_hours_direct_reports_p
}
{
set view_hours_direct_reports_p 1
}
# ------------------------------------------------------------
# Determine the user drop-down box depending on permissions
# Unprivileged user, direct reports or all
set
member_options
[
list
[
list
[
im_name_from_user_id
$current
_user_id
]
$current
_user_id
]]
if
{
$view
_hours_direct_reports_p
}
{
set member_options
[
im_user_direct_reports_options -include_current_user_p 1 -user_id
$current
_user_id
]
}
if
{
$view
_hours_all_p
}
{
set member_options
[
im_user_options -include_empty_p 0 -group_id
[
im_profile_employees
]]
}
set
member_option_ids
[
list
]
foreach
member_tuple
$member
_options
{
lappend member_option_ids
[
lindex
$member
_tuple 1
]
}
set
member_options
[
linsert
$member
_options 0
[
list
[
_ intranet-core.All
]
""
]]
# If privilige
"view_hours_all_p"
is not set, show only the users
"own"
hours
if
{
0 !=
$report
_user_id &&
""
ne
$report
_user_id && !
(
$report
_user_id in
$member
_option_ids
)}
{
set report_user_id
$current
_user_id
}
# ------------------------------------------------------------
set
page_title
[
lang::message::lookup
""
intranet-reporting.TimesheetMonthlyViewIncludingAbsences
"Timesheet - Monthly View including Absences"
]
set
context_bar
[
im_context_bar
$page
_title
]
set
context
""
...
...
@@ -85,15 +109,9 @@ set absence_url "/intranet-timesheet2/absences/new?form_mode=display&absence_id=
set
user_url
"/intranet/users/view?user_id="
set
this_url
"
[
export_vars -base
"/intranet-reporting/timesheet-monthly-hours-absences2"
{}
]
?"
# If privilige "view_hours_all_p" is not set, show only the users "own" hours
if
{
!$view_hours_all_p
}
{
set report_user_id
$current
_user_id
}
set
absence_l10n
[
lang::message::lookup
""
intranet-timesheet2.Absence
"Absence"
]
set
timesheet_hours_per_day
[
parameter::get -package_id
[
apm_package_id_from_key intranet-timesheet2
]
-parameter
"TimesheetHoursPerDay"
-default 8
]
# ------------------------------------------------------------
# Conditional SQL Where-Clause
...
...
@@ -109,6 +127,9 @@ if {$different_from_project_p eq ""} {
set
criteria
[
list
]
# Allow only the users current_user_id can "see"
lappend
criteria
"u.user_id in (
[
join
$member
_option_ids
","
]
)"
if
{
0 ne
$report
_user_id &&
""
ne
$report
_user_id
}
{
lappend criteria
"u.user_id = :report_user_id"
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment