Commit Graph

382 Commits

Author SHA1 Message Date
nathan
d21eb1c1e6 Timesheet: Do not include events in new timesheet when save & new button is clicked on a timesheet with events 2023-07-11 15:24:18 -06:00
nathan
b1fe818527 * Infolog / Tracker: Change timesheet total columns to ignore timesheet ACL
Use "Respect timesheet run and read permissions for time totals" configuration setting for previous behaviour, which may exclude some timesheet entries
2023-06-09 13:19:19 -06:00
nathan
560ed79a5e Timesheet: Display changes for totals
- Totals in row now bold
- Duration in header set to h:m format
- adjust vertical position of duration to be more in line with the rest
2023-05-08 10:04:52 -06:00
nathan
a6a30e80b5 Timesheet: Fix broken total in header
Passing columns as string caused them to get split by comma, but $total_sql had round(...,2) in it.  Changed to use array.
2023-04-11 17:32:55 -06:00
nathan
3dff71c8d1 Timesheet: Update quantity placeholder when duration changes, including decimal separator 2023-03-22 11:00:16 -06:00
ralf
de25881635 fix "yes" could not be selected for "Asking to start and stop working time with session" 2023-02-24 13:29:37 +01:00
ralf
ab6338f13f * TimeSheet: allow to update times in events tab rows by clicking on the time
@todo nathan: setting min/max values on Et2DateTime loaded via a template into dialog does NOT work, as widget has not instantiated Flatpicker,
when the dialog.getUpdateComplete promise returns and the widget then simply ignores the set min/max time :(
2023-02-06 14:42:18 +01:00
ralf
1a37abd472 fix timer is shown even without timesheet permissions 2023-01-30 16:59:48 +01:00
nathan
82ae5aa939 Timesheet: Avoid error if selectcols is not an array
in_array(): Argument #2 ($haystack) must be of type array, null given
2023-01-02 08:31:10 -07:00
ralf
6a93275d93 only consider last linked entry, for timers created on an app entry
as rest of code wont deal with multiple ones
2022-11-04 15:57:38 +01:00
ralf
693cf1f116 run same logic for timer timesheets started on an other app's entry, as used for timesheets manually booked on them 2022-11-03 13:51:45 +01:00
ralf
a767bdef1e quiten error / dont stall, if 22.1 update is not yet run 2022-11-01 18:21:59 +01:00
ralf
03580169c1 fix not shown timer preferences 2022-10-21 12:49:33 +02:00
ralf
664bb86b2a WIP timesheet timers: create a single working time timesheet per configured periode of day, week or month 2022-10-14 10:12:11 +02:00
ralf
49f608159c WIP timesheet timer: ask user to start/stop working time with session/login/logout
if working time is not disabled in timesheet config, or asking is disabled in user preferences
2022-10-13 16:31:17 +02:00
ralf
4de7dc5ba7 WIP timesheet timers: delete timer-events on timesheet deletion 2022-10-11 14:53:21 +02:00
ralf
65c1233ced WIP timesheet timer: allow to start timer as alternative to add a timesheet directly
timesheet will be added on stopping the timer
2022-10-09 15:30:46 +02:00
ralf
d8e993dc75 WIP timesheet timers: allow to add more time on an existing timesheet with right click "Start timer" 2022-10-07 19:36:57 +02:00
ralf
59da89fe8b WIP timesheet timers: config to disable timers and overwrite of start&stop time 2022-10-05 14:55:42 +02:00
ralf
0a9526c152 WIP timesheet timer: persistence and opening a new timesheet when stoping the specific timer 2022-09-30 19:07:33 +02:00
ralf
3c79bd4345 WIP timesheet timer
just a prototype for now, no persistence beside the session to test reloads
2022-09-26 08:54:05 +02:00
nathan
db7b9f0abb Timesheet: Avoid error when opening list caused by incorrect 'All' value in filter 2022-08-23 08:59:25 -06:00
Ralf Becker
382c39e817 fix PHP 8.0 TypeError: Unsupported operand types: string * float 2021-11-16 18:27:40 +01:00
Ralf Becker
383a6350f5 fix PHP 8.0 Error: Undefined constant "TIMESHEET_APP" 2021-11-15 17:49:43 +01:00
nathan
9e2bb05ded Placeholders list common UI
Should reduce maintenance by using a common UI to show placeholders based on the placeholder list
2021-10-12 14:18:18 -06:00
Ralf Becker
98e00f08d0 fix PHP 8.0 TypeError: when exporting multiple users
Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int or null, array given
2021-10-11 18:33:59 +02:00
Ralf Becker
90ab703a14 fix PHP Warning count(): Parameter must be an array or an object that implements Countable 2021-10-11 13:58:33 +02:00
nathan
da6a16e62d - Add generation target path preference to all apps
- Use common method to get merge preferences to reduce duplication
2021-10-07 10:22:45 -06:00
nathan
45f039da95 * Add preference to set the filename of merged documents using placeholders 2021-10-06 11:59:29 -06:00
Ralf Becker
5b3a6c02b4 PHP 8.0 Fatal error: Declaration of timesheet_tracking::get_subject($data, $old) must be compatible with Api\Storage\Tracking::get_subject($data, $old, $deleted = null, $receiver = null) 2021-10-06 16:32:14 +02:00
Ralf Becker
d2c85cfe86 fix PHP 8.0 errors: key(): Argument #1 ($array) must be of type array, null given
guarding key() from calling with null eg. $button = key($content['button']) --> key($content['button'] ?? []) or check before !empty($content['button'])
2021-10-06 16:08:32 +02:00
nathan
a0a89a6b74 Placeholder dialog: Add placeholders for projectmanager, timesheet, tracker 2021-10-05 16:09:39 -06:00
nathangray
9be653e226 Adapt app-specific merges to 186e03671a 2021-06-23 11:31:47 -06:00
nathangray
218e17798d Api: Fix Asyncservice did not have proper filesystem access as the job user 2021-06-18 14:56:14 +02:00
nathangray
583fbea046 Use Merge number formatting instead of export formatting. It takes export file type into consideration. 2021-04-21 10:33:31 -06:00
nathangray
f89c8cfb03 Add hrules to sidebox menus 2021-04-19 16:02:41 -06:00
nathangray
aff06ec4cc Import/export fixes
- Fix for missing floats by Jürgen Dlugi
- Fix broken timesheet export was always 0 results
2021-04-08 16:53:06 -06:00
Ralf Becker
868135775c PHP 8 fixes 2021-03-29 16:47:19 +02:00
Ralf Becker
84845d05b5 Fix PHP 8.0 Fatal error: Unparenthesized a ? b : c ?: d is not supported 2021-03-21 21:46:10 +01:00
Ralf Becker
ab9c089f70 fix PHP 8 Fatal error Array and string offset access syntax with curly braces is no longer supported 2021-03-21 21:13:07 +01:00
nathangray
779f2691bd * Timesheet: Fix created time was wrong in user timezone was not the same as server timezone 2021-01-28 09:39:17 -07:00
nathangray
b247554141 Timesheet: more timezone date fixes
This time start time was improperly processed, fixed end_time too
2021-01-27 10:23:22 -07:00
nathangray
151889b39c Api: Move list of common merge placeholders into parent class to reduce duplication, add link/<format> options 2020-10-06 10:56:08 -06:00
Hadi Nategh
6b910cc5fe Make sure we reset filter or not setting it when choosing select All 2020-08-20 13:53:45 +02:00
nathangray
cd20749ca0 Timesheet: Change context menu category change to go over AJAX instead of POST to take advantage of push 2020-08-06 09:15:52 -06:00
Ralf Becker
3ee29ccacb disable autorefresh in infolog and timesheet 2020-08-06 10:07:26 +02:00
Ralf Becker
6d4aaade1b avoid second full refresh by sending delete action via ajax 2020-07-24 14:47:50 +02:00
nathangray
32267f02c8 * Timesheet: Fix update via import without category or status cleared original 2020-04-14 14:32:46 -06:00
nathangray
0eb65b9efe * Timesheet: Fix import condition checks 2020-04-09 13:22:46 -06:00
Ralf Becker
e9c4d3f07e complete push implementation for timesheet incl. ACL check 2020-01-24 13:31:56 +01:00