diff options
author | msquare <msquare@notrademark.de> | 2017-12-27 12:24:55 +0100 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2017-12-27 12:24:55 +0100 |
commit | 1e8f0c484588882e01bc173f7f60e2cf1376f790 (patch) | |
tree | 92a039f8449c55109e4e1832deef4fe56177ae4d /includes/model | |
parent | abf4b1da30e7fabebfa5e36cfc5c1fe691320a1e (diff) |
fixes #208, fixes #310: T-Shirt Score™ should be shown on the user view page below your shifts
Diffstat (limited to 'includes/model')
-rw-r--r-- | includes/model/User_model.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/includes/model/User_model.php b/includes/model/User_model.php index 33fca639..fa24aac1 100644 --- a/includes/model/User_model.php +++ b/includes/model/User_model.php @@ -18,6 +18,30 @@ function User_delete($user_id) } /** + * Returns the tshirt score (number of hours counted for tshirt). + * Accounts only ended shifts. + * + * @param array[] $user + */ +function User_tshirt_score($user) { + $shift_sum_formula = config('shift_sum_formula'); + + $result = DB::selectOne(' + SELECT ROUND((' . $shift_sum_formula . ') / 3600, 2) AS `tshirt_score` + FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` + LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` + WHERE `User`.`UID` = ? + AND `Shifts`.`end` < ? + GROUP BY `User`.`UID` + ',[ + $user['UID'], + time() + ]); + + return $result['tshirt_score']; +} + +/** * Update user. * * @param array $user |