Ralf Becker
c37581f43c
* EPL/mail: support SpamTitan REST API to manage spam, requires an API token
2021-02-08 17:31:49 +02:00
nathangray
98d5e86121
Avoid some warnings
2021-02-05 08:57:48 -07:00
Ralf Becker
04f4a327c2
implement date-duration select_unit="false" to show durations like "0:01:20"
2021-02-05 15:57:59 +02:00
nathangray
0021080641
Translation fixes from Stefan
2021-02-04 17:00:40 -07:00
nathangray
be9fcea5c5
Etemplate: Make sure all attributes get expanded
2021-02-04 14:48:22 -07:00
Hadi Nategh
62951986ae
Add break_title option for link widget in order to be able to break link's title into new line based on a given delimiter
2021-02-03 14:14:22 +01:00
Ralf Becker
0f69a5669f
pending translations from our translation server
2021-02-03 08:25:50 +01:00
Hadi Nategh
8f28533288
Set initial startitme after the video is loaded
2021-02-02 12:35:28 +01:00
Ralf Becker
bbd9a5a765
allow to set starttime of video
2021-02-02 12:02:52 +02:00
nathangray
a412aa18a4
Etemplate: Export et2_appicon
2021-02-01 16:54:20 -07:00
nathangray
6ab0ad934b
Etemplate: Fix tree default icons path was still in phpgwapi
2021-02-01 16:40:10 -07:00
Ralf Becker
2af199f725
new precision option to limit number of counters shown
2021-01-29 20:35:00 +02:00
Ralf Becker
15c72f284f
change client-side to only deal with a duration converted server-side from an end-datetime or a duration like "+123seconds"
2021-01-28 19:53:14 +02:00
Hadi Nategh
e98a8b372e
Only apply darkmode preference on top level window for initiation because the rest is supposed to get set from client-side state
2021-01-28 18:03:27 +01:00
Ralf Becker
5b4a436ab3
countdown: convert datetime server-side into a duration to avoid problems with wrong time or timezone on client
2021-01-28 16:02:38 +02:00
Ralf Becker
69b33e9288
make countdown a value-widget to get automatic timezone handling by date widgets beforeSendToClient method
2021-01-28 12:08:29 +02:00
Hadi Nategh
b9570b9b60
Some fixes for darkmode:
...
- Fix darkmode not switched in popups
- Fix a quick white page shown before switching to darkmode when it's set to 'auto'
2021-01-27 12:26:37 +01:00
nathangray
e980f3a851
Etemplate: if readonly radiobox has the default ro_true=X, we still need the label
2021-01-26 13:09:39 -07:00
nathangray
867fcc17c6
Etemplate: Allow to specify the read only true/false values for checkbox customfields
2021-01-26 10:42:18 -07:00
Hadi Nategh
dad82bf1f1
Implement auto color-scheme in order to respect browser's selected prefers-color-scheme
2021-01-26 17:04:37 +01:00
Ralf Becker
511325570a
fix empty accounts addressbook after 20.1.20210125 update
2021-01-26 12:51:33 +02:00
Ralf Becker
1259ae8d04
More automatic timezone handling schema for new code (hopefully not breaking existing code):
...
1. SO converts all timestamps to Api\DateTime objects using Api\DateTime::server2user($ts, 'object')
- Api\Storage and Api\Storage\Base class do that automatic if using 'object' as $timestamp_type constructor parameter
- if using just Api\Db you need to iterate over your selects manually and apply Api\DateTime::server2user($ts, 'object')
- timestamps are store in DB in server timezone and above conversation honors that and additionally set the user TZ
2. Rest of the app should keep all timestamps as Api\DateTime objects
- direct comparison works for Api\DateTime (and PHP \DateTime) as __toString() method automatic converts to UTC timestamps
- do NOT convert them to timezone-less timestamps and no further timezone conversation needed for output with eTemplate
3. eTemplate2 converts automatic to user timezone for displaying dates and times
- you need to use <date-time ... data_format="object"/> to get Api\DateTime objects back from eTemplate!
4. Api\Db converts automatic to server timezone when quoting DateTime objects for integer or timestamp columns
5. only output other then eTemplate might need to set a timezone different from the user TZ before calling $ts->format()
2021-01-26 11:16:42 +02:00
Ralf Becker
a2fde92c89
Changelog for 20.1.20210125
2021-01-25 14:23:37 +02:00
Ralf Becker
8425f380fe
some fixes for int/float widget: server-side was not expanding min/max attribute and client-side considers empty min/max attr as 0
2021-01-22 17:24:55 +02:00
Ralf Becker
fe320938e5
document EGroupware timestamps and remove own __toString() method to be able to compare objects
2021-01-22 15:18:39 +02:00
Ralf Becker
3eaab63bfa
new $output_mode=5 for exec to allow validating client-side created templates, see SmallParT\\Questions\\ajax_answer()
2021-01-19 14:55:27 +02:00
Hadi Nategh
4e95ac86a8
Add some jquery dialog options
2021-01-14 16:57:28 +01:00
Ralf Becker
b892c54797
allow to format link-registry entries "add", "edit", ... as "url" parameter for actions
2021-01-14 15:59:03 +02:00
nathangray
208817054b
* Etemplate: Avoid "Uncaught TypeError: Cannot read property ‘length’ of undefined"
...
This was happening when an app was open but not currently active and had a push update with no type.
2021-01-13 09:08:53 -07:00
Hadi Nategh
a777610c2d
Fix htmlarea resize
2021-01-07 11:46:09 +01:00
Hadi Nategh
85b14052ea
Make blockquotes breakable in html editor
2021-01-06 14:06:21 +01:00
nathangray
cf9c366d2b
Etemplate: Bugfixes
...
- Early exit for arrayMgr().getEntry() if nothing is found, avoids returning all data
- Remove debugger from selectbox
2021-01-04 11:00:10 -07:00
nathangray
5c10576b3b
Don't event set sort order if it hasn't changed
2021-01-04 09:43:54 -07:00
Ralf Becker
e588d63291
allow *-wildcard in egw:uses path eg. "/smallpart/js/overlay_plugins/*.js"
2021-01-03 21:06:45 +02:00
Ralf Becker
5bcbde4f88
* LDAP/Addressbook: use accounts filter from setup for accounts addressbook too
2020-12-29 19:37:21 +02:00
nathangray
0a95588642
Preference needs this to not get changed here, otherwise validation doesn't find what it needs
2020-12-22 11:54:31 -07:00
nathangray
6af3e37bed
* Etemplate: Add context menu action on linked files to copy them somewhere else
...
Also, update vfsSelect to use request(), so it processes the additional stuff in response so we can have a success message.
2020-12-21 13:53:24 -07:00
nathangray
5b5539584a
Etemplate: Fix tooltip didn't work on select+tag widget
2020-12-21 10:04:24 -07:00
nathangray
93b64235a2
Etemplate: Fix customfield prefix attribute length assumption
2020-12-17 10:07:50 -07:00
Hadi Nategh
467a9cad42
WIP darkmode theme: Implement darkmode switch for mobile view
2020-12-17 17:20:04 +01:00
nathangray
8910983c8e
Etemplate: Fix for some attributes not getting set
2020-12-17 09:17:38 -07:00
Ralf Becker
24ff2dd0fc
Changelog for 20.1.20201217
2020-12-17 09:16:34 +01:00
Ralf Becker
b8edbd159e
guard against mail account looses all accounts it is valid for
2020-12-17 08:31:39 +01:00
Hadi Nategh
f21ac58c87
Introduce dark/light mode theme switch into framework
2020-12-15 20:24:25 +01:00
Ralf Becker
7011faba18
pending changes from our translation server
2020-12-15 18:57:33 +01:00
Ralf Becker
5fae437a52
* Setup: fix no accounts found for SQL instances
...
in setup without an active user, no grants existed, seemed no problem before, maybe caused by contact sharing
2020-12-15 18:10:37 +01:00
nathangray
c301c1b194
Etemplate: Fix read-only selectAccount would always add new values causing doubles
2020-12-15 09:41:02 -07:00
Alexandros Sigalas
2a333be92d
Added tooltip in multiselect selectbox widget
2020-12-10 08:55:05 -07:00
Hadi Nategh
cde6c10e05
Add Segoe font family into HTMLEditor
2020-12-09 13:17:37 +01:00
Ralf Becker
93fb74503d
limit number of returned rows on link query by default to 100
2020-12-07 14:31:10 +01:00
Hadi Nategh
c8020e6456
Do not query server if there's no actual taglist query, fix fatal error "Memory exhaustion"
2020-12-07 10:58:42 +01:00
Hadi Nategh
e317645291
* Addressbook: fix 'undefined' title shown for some contact links opened in CRM view tabs
2020-12-03 18:19:25 +01:00
nathangray
1dcdac1fe1
Try to avoid some "Illegal offset type" warnings
2020-12-02 11:07:24 -07:00
Hadi Nategh
d957ed41d0
Implement an alarm callback for countdown widget
2020-12-02 16:54:50 +01:00
Ralf Becker
5d6965a2e9
Changelog for 20.1.20201202
2020-12-02 10:00:05 +01:00
Hadi Nategh
bd8a78505b
Add new option to countdown widget inorder to hide empty values
2020-11-30 14:35:28 +01:00
nathangray
3e371ea51f
Etemplate: Don't try to expand src if it is empty
2020-11-24 10:24:36 -07:00
Hadi Nategh
54eb66fd30
Add onFinish callback to countdown widget and style it
2020-11-24 13:46:05 +01:00
Hadi Nategh
65b24440a0
Implement widget countdown timer
2020-11-23 21:11:19 +01:00
nathangray
522fca6344
Etemplate: Apply sort order (to UI) if server sends it
2020-11-23 10:19:11 -07:00
Ralf Becker
aa62a5ea3e
also run Egw::__destruct() explicit for notifications
2020-11-22 11:50:20 +01:00
Ralf Becker
d759e4b5a9
* Tracker: fix empty notification mail, if ticket was opened by following a link in notification mail
2020-11-21 18:55:39 +01:00
Ralf Becker
dabf3ac3a4
* API: call async-services via HTTP to fix diverse caching problems
2020-11-19 11:22:37 +01:00
nathangray
9bc4c41941
Api: Clear sorting with 'No filters' favorite
2020-11-16 10:57:04 -07:00
Hadi Nategh
09c0d12f0e
Fix error trim is not a function from commit bac5c2e83b
2020-11-13 13:50:53 +01:00
nathangray
bac5c2e83b
Etemplate: If key is empty / not set, don't try to explode it
2020-11-12 16:29:57 -07:00
nathangray
15084c8439
Etemplate: Use the actual template attribute if set for action processing, instead of always using the deprecated options attribute
2020-11-12 14:41:23 -07:00
nathangray
eb7a03b191
Etemplate: Limit sortable to just the grid's immediate rows, excluding rows in nested grids
2020-11-10 13:41:24 -07:00
nathangray
1ba23feb9c
Etemplate: Fix nextmatch controller destroy() left some references
...
AJAX responses would then try to use them after the etemplate was destroyed, and fail.
2020-11-09 09:44:40 -07:00
Hadi Nategh
e549b6fcd9
Use replace() instead of replaceAll() as it's not supported in older browser versions
2020-11-09 11:10:18 +01:00
nathangray
0fcfad04b4
Etemplate: Match server-side grid row namespacing to client-side
...
Client side does not open a new data perspective if row has an ID, server now doesn't to match. Fixes grids with row IDs lost their data on submit.
2020-11-05 13:41:36 -07:00
nathangray
10b98897d2
Etemplate: Fix sub-templates not expanded and children not processed if id is set but does not expand
2020-11-04 16:10:09 -07:00
nathangray
8b28d8ffd0
Etemplate: Include etemplate exec_id as sortable parameter
2020-11-04 15:15:31 -07:00
nathangray
b3ed6372f7
Etemplate: Fix unwanted row reset if box had no ID
2020-11-04 12:53:29 -07:00
Ralf Becker
f6aad0cd46
allow to filter by (not) shared and add groups to shared-with filter
2020-11-04 16:05:41 +01:00
Hadi Nategh
c118f39f89
Fix CRM View sidebox content gets disappeared after directly reopening a contact
2020-11-04 11:37:18 +01:00
Hadi Nategh
f064ff8242
Make sure the params exists before addressing it
2020-11-03 11:47:26 +01:00
Hadi Nategh
e34e18757e
Purify framework tab appname used as dom id
2020-11-02 17:38:35 +01:00
Hadi Nategh
082d7fddad
Remove closed tabs from the client-side session
2020-11-02 13:12:43 +01:00
Ralf Becker
378b3c6eef
enable unshare action also when shared-with column is shown and fix some bugs arround unsharing and resharing
2020-11-02 12:56:00 +01:00
Hadi Nategh
0d68c751bf
Keep the open crm view tabs after reload
2020-11-02 12:50:39 +01:00
Ralf Becker
a3b17c5db7
display shared-with in addressbook column and allow to use it as filter
2020-11-02 12:05:13 +01:00
Ralf Becker
e98e91b9f3
give explicit select-options priority over querying accounts via link-widget, fixes not displayed addressbook for sharing
2020-11-02 09:09:46 +01:00
Ralf Becker
47c8897642
fix typo and missing Accounts.php
2020-10-30 13:02:19 +01:00
Ralf Becker
3c956d0144
* Saml/Shiboleth/SmallPART: allow to use affiliation attribute to sync with Teachers group
2020-10-30 11:44:49 +01:00
Ralf Becker
ac64ae51aa
* Ads/CardDAV/Addressbook: fix exception / HTTP status 401 when trying to delete an not existing distribution list
2020-10-29 20:29:58 +01:00
Hadi Nategh
b0e2e1f1be
Open crm view for contact link
2020-10-29 11:47:29 +01:00
Ralf Becker
9021220f14
only return "" for blur-value, if browser does not support html5 placeholder
2020-10-29 11:00:45 +01:00
Ralf Becker
b3e4b3d5a1
Changelog for 20.1.20201028
2020-10-28 17:11:20 +01:00
nathangray
1eae5d3780
Etemplate: Fix for Box not properly handling namespaces, now working for submit too
2020-10-28 09:51:55 -06:00
Ralf Becker
47da0f9bf8
* Addressbook: allow to configure sending fax via email by replacing the number with an email address
2020-10-28 13:30:28 +01:00
nathangray
bf615644d4
Api: Add egw.request() into egw_global.d.ts
2020-10-27 16:17:32 -06:00
nathangray
7cfbf133cd
Etemplate: Also expand grids if they're inside a box
2020-10-27 16:17:04 -06:00
nathangray
5566a9d971
Etemplate: Fix for Box not properly handling namespaces
2020-10-27 10:29:46 -06:00
Ralf Becker
086771ee66
try to fix race-condition in reconnecting a "lost" websocket connection
2020-10-27 14:19:25 +01:00
Ralf Becker
82d7a103a9
try to fix race-condition in reconnecting a "lost" websocket connection
2020-10-27 14:16:11 +01:00
Ralf Becker
b8409a479e
changes to implement policies on contact sharing
2020-10-26 10:44:40 +01:00
Ralf Becker
64f335eeb7
fix not working writable sharing
2020-10-24 14:45:01 +02:00
Hadi Nategh
321aebf199
Fix type error not finding app object
2020-10-23 11:11:42 +02:00
nathangray
d16b91c901
Etemplate: Queue refresh() calls made while nextmatch is hidden.
...
Queue is limited in length, after too many refresh() calls, we throw away the queue and refresh the whole thing when nextmatch is visible again.
2020-10-22 15:53:59 -06:00