ralf
58b3ea3b57
improve speed for read access / grants to a lot of accounts
...
first check then spend time generating the list ;)
2024-10-29 12:34:31 +01:00
ralf
67440f8aed
* All apps/REST API: fix custom-fields of type "date-time" to be stored timezone aware, if no format is specified
...
So far date-time values were stored in user-time, now they are stored in UTC with a "Z" suffix" to be able to still read old user-time values unchanged.
2024-07-29 19:16:08 +02:00
ralf
8864d6ed49
* CalDAV/CardDAV/REST API: fix not working limited result
...
(since using generator instead of iterator)
2024-05-13 19:18:59 +02:00
ralf
f082055134
* Timesheet: allow to record/document pause times with timer and manually
2024-05-07 15:04:18 +02:00
ralf
087e969f9f
* Timesheet: new REST API to query, update and delete timesheets https://github.com/EGroupware/egroupware/blob/master/doc/REST-CalDAV-CardDAV/Timesheet.md
2024-02-06 16:39:12 +02:00
ralf
59619f83a9
allow to use "/timesheet/?filters[owner]=0" to query all timesheets the current user has access too
2024-02-06 12:52:02 +02:00
ralf
ca443060f4
WIP timesheet REST API
2024-02-01 22:16:36 +02:00
ralf
5cf18de2c5
fix class "Accounts" not found
2023-12-21 11:30:46 +02:00
nathan
fd4bdd4997
Timesheet: Use regular account select for user / owner for large numbers of users
2023-12-05 09:56:32 -07:00
nathan
a61323f98c
Disable kanban column if user does not have access to kanban
2023-07-12 15:47:54 -06:00
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