Ralf Becker
ee6a74a40f
fixed CRM view opened for id=0
2021-02-15 17:20:17 +02:00
Ralf Becker
31b7db5bbe
some more logging
2021-02-15 16:19:53 +02:00
Ralf Becker
a64590d3db
moving opening of CRM view code into Contacts class
2021-02-15 15:11:24 +02:00
Hadi Nategh
390c715508
Encapsulate html video properties
2021-02-15 12:24:33 +01:00
Ralf Becker
10fd1cd76b
fix typo
2021-02-14 17:55:04 +02:00
Ralf Becker
2291cc8df0
WIP incomming CTI / open CRM view when phone rings
2021-02-14 17:46:08 +02:00
Ralf Becker
cfc7c1cbdf
some more tolerant searches to find numbers in EGroupware GmbH database
2021-02-14 14:52:33 +02:00
Ralf Becker
f8ec1618d9
* Adressbook: phone-number in search only returns contacts having that (normalized) number
2021-02-14 14:06:21 +02:00
Hadi Nategh
dc2f80c39c
Some TypeScript definitions
2021-02-10 14:12:27 +01:00
Hadi Nategh
e66061a411
Style date_duration widget
2021-02-10 11:20:10 +01:00
Ralf Becker
df2a426e08
fix not working onchange on all inputs of date-duration select_unit="false"
2021-02-09 15:51:10 +02:00
Ralf Becker
b234694d58
no longer overwrite user-agent white-space: pre for select inside an hbox, causing options to be formated over multiple lines
2021-02-09 11:32:32 +02:00
nathangray
0d7a4bb848
Etemplate: Fix rows actions didn't work after dragging file from system onto row
2021-02-08 14:44:55 -07:00
Ralf Becker
3ab851550c
neccessary schema update to support further credential-types
2021-02-08 17:33:54 +02:00
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
nathangray
3b90e1a50d
Etemplate: Fix auto-refresh mixed up new rows
2020-10-22 13:40:38 -06:00
Ralf Becker
fa80d4c1f9
* ActiveDirectory/Mail: fix groups as distribution lists
2020-10-22 18:06:24 +02:00
Hadi Nategh
7d1cd4c12c
WIP Multitabs:
...
- Fix wrong ids generated for sideboxes
- Fix tab header refresh
2020-10-22 13:52:17 +02:00
Ralf Becker
765b545697
* SmallPART: fix not working LTI launch after last maintenance release
...
checking if we are about to load required files, before redirecting to cd=popup to load them
2020-10-22 10:00:27 +02:00
nathangray
b1275dd2da
Accept the same class naming as index.php
2020-10-21 13:19:02 -06:00
nathangray
316adfab5e
Fix some bugs in hidden uploads
...
- Creating the share couldn't handle sqlfs://user@path style paths
- UI namespace issues
2020-10-21 09:13:37 -06:00
Hadi Nategh
d4d63d382e
Fix error message still remains even after connection is up again
2020-10-21 11:54:45 +02:00
nathangray
5bf4d4866f
WIP on sharing prompt to ask about mounting new share
2020-10-20 16:47:26 -06:00
Ralf Becker
7c9e1c98ec
fix umount to deal with user-specific mounts too
2020-10-20 20:16:57 +02:00
Ralf Becker
9eae0333ad
allow for user specific mounts
2020-10-20 20:13:36 +02:00
Hadi Nategh
c2ca23a071
Do not create application object if already exists simply open the tab
2020-10-20 17:28:14 +02:00
Hadi Nategh
a8c136f1cc
No longer need to send ajax=true at the end of url
2020-10-20 16:04:32 +02:00
Ralf Becker
8b1f932e8e
Changelog for 20.1.20201020
2020-10-20 09:55:12 +02:00
nathangray
d1955419ee
Etemplate: Fix flipping between 2 nextmatch filter values stopped updating results after 2 changes
2020-10-19 13:17:09 -06:00
Ralf Becker
496c168db4
* Api: setting configured server-timezone for the databases connection, to fix cases were they do not match
2020-10-19 17:25:07 +02:00
Hadi Nategh
5288e3a0fd
Make sure sender object is there before using it
2020-10-19 16:06:22 +02:00
Ralf Becker
09f95a8e78
manifest scope need a tailing slash eg. "/egroupware/"
2020-10-19 13:42:45 +02:00
Ralf Becker
3292e478b6
creating a new dir from filemanager-select dialog always gave an error
2020-10-19 13:00:05 +02:00
Hadi Nategh
644feaffa4
* Filemanager: fix drag and drop a file no longer working from outside of browser into the list
2020-10-19 12:54:16 +02:00
Ralf Becker
e0d04b09c5
missing database update for contact sharing
2020-10-19 11:56:00 +02:00
Ralf Becker
fa98eb1071
fix a couple of errors stalling file uploades
2020-10-19 11:45:49 +02:00
Hadi Nategh
72769e7a43
* HTML Editor: fix bug in editing uploaded image
2020-10-19 11:14:52 +02:00
Ralf Becker
910329c2e7
* Rocket.Chat: fix not working login with newer desktop clients
...
there were two problems:
1. Whatever URL you specify, the client removes the path and queries just /, our index.php now detects Rocket.Chat User-Agent header and redirects to /rocketchat/ in that case
2. our manifest.json an webworker registration was not using the individual webserver-URL but as static path
2020-10-19 10:30:08 +02:00
Ralf Becker
37be9f40d0
WIP contact sharing: context menu to share and filter for shared contacts
2020-10-16 21:34:42 +02:00
nathangray
38ff63f778
Api: New JavaScript API method egw.request(menuaction : string, parameters : any[]) : Promise
...
Does an AJAX request, and resolves the returned Promise with just the data (no piggybacks) when it arrives from the server. Any registered data handlers are run before resolving the Promise.
2020-10-16 10:33:13 -06:00
Ralf Becker
884ae7fe94
fix error creating new accounts
2020-10-16 13:32:17 +02:00
Ralf Becker
83eabe4d8e
login page does NOT need client-side api and redirect with cd=popup shows as message
2020-10-16 09:45:30 +02:00
nathangray
c78c8cc215
Etemplate: Make sure controller has current filters when created. Fixes scrolling to trigger fetching more rows did not pass initial filters.
2020-10-15 14:56:23 -06:00
nathangray
0df6306dc2
Etemplate: Fix multi-select / tags value sometimes got lost if we had to fetch options from the server
2020-10-15 11:22:45 -06:00
Ralf Becker
1ef16c9c55
closing websocket explicit, before reopening it, to not end up with multiple connections and doublicated messages
2020-10-15 18:17:31 +02:00
nathangray
758934c1e4
Etemplate: Fix printing ruined scrolling in nextmatch
2020-10-15 10:11:24 -06:00
Ralf Becker
ff91be903a
sharing ACL: need explicit new ACL or edit rights, to share into an addressbook
2020-10-15 13:03:14 +02:00
Ralf Becker
6b57ddac00
only save sharing information if its given, eg. not the case for CardDAV
2020-10-15 13:02:32 +02:00
Ralf Becker
9567a1fed3
fix contacts shared with a user are not visible in his personal AB, but when all addressbooks selected
2020-10-15 11:35:53 +02:00
nathangray
ea41ab8e77
Api: Add charset parameter to tidy->repairString() to avoid mangling some non-ascii characters when merging into document
2020-10-14 14:53:37 -06:00
Ralf Becker
663816769e
fix TypeError this.openWebSocket() is not a function
2020-10-14 22:28:32 +02:00