Commit Graph

3318 Commits

Author SHA1 Message Date
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
Ralf Becker
313a378539 * Swoolepush: periodically pinging server from browser to detect lost websocket connection and reconnect 2020-10-14 20:16:13 +02:00
nathangray
90080cc0e6 Etemplate: Fix extra rows stayed hidden after printing 2020-10-14 11:48:57 -06:00
nathangray
52b1cab8e1 Etemplate: Fix drag and drop linking made the rows involved disappear 2020-10-14 10:38:11 -06:00
Ralf Becker
175d94f3e3 * Api: detect if framework data is missing for popups too and redirect to cd=popup to load it 2020-10-14 17:31:36 +02:00
Hadi Nategh
4f1ce8da48 Add table into toolbar list 2020-10-14 11:38:07 +02:00
Hadi Nategh
43600426c7 * Api: Add table button into html editor's toolbar 2020-10-14 11:05:51 +02:00
Hadi Nategh
2ed6f54e9b Updates tinymce to 5.5.1 and implements toolbar_mode option for htmlarea 2020-10-14 10:40:35 +02:00
Hadi Nategh
71dabcd33b Fix sorting for connectedWidth columns 2020-10-14 10:33:19 +02:00
nathangray
05ee7eba37 Avoid some 'array_key_exists() expects parameter 2 to be array' warnings by checking first 2020-10-13 15:20:33 -06:00
Ralf Becker
b55da481e3 WIP contact sharing 2020-10-13 16:56:06 +02:00
Ralf Becker
1f7ce98c50 WIP contact sharing 2020-10-13 16:54:35 +02:00
nathangray
855d6defc9 Etemplate: Fix push add to an empty nextmatch would leave the 'No matches found' and throw errors for row actions 2020-10-09 10:15:17 -06:00
Hadi Nategh
23aea3b42e Make html widget exportable 2020-10-09 14:57:15 +02:00
Ralf Becker
4f2131358f fix Uncaught (in promise) TypeError: this.context.getManager is not a function, causing empty status bar 2020-10-09 14:05:48 +02:00
nathangray
9c4f866382 Fix methods in hidden app objects could not be used as action handlers
Now nextmatch sets the etemplate's EgwApp object as context for the action manager.  Actions now check and will use the set context instead of global when binding to handlers
2020-10-08 14:57:45 -06:00
nathangray
ba0e1240c3 CRM: Fix some list bugs
- Adding an infolog did not show up
- CRM.ts got disconnected if infolog list got reloaded
2020-10-08 11:53:33 -06:00
Hadi Nategh
87b1b05730 Make htmlarea widget exportable 2020-10-08 12:15:08 +02:00
Ralf Becker
4886583cc1 change sharing to allow mounting shared into existing user sessions
without the need to destroy the session, if the sharee is a different user

This is accomplished by keeping the sharee in the stream context / attribute of the vfs class(es) instead of static Vfs::$user.
Later is still used for the current user - identical to egw_info[user][account_id].

This commit / merge of the vfs-context feature branch also added the abilty to mount WebDAV sources, eg. a sharing link from an other EGroupware instance
or any WebDAV server
2020-10-08 11:24:34 +02:00
nathangray
7ae230356f Don't remove /apps when cleaning up 2020-10-07 09:22:09 -06:00
Ralf Becker
1c1ee3a25b execute non-http(s) links eg. tel: like before 2020-10-07 14:06:10 +02:00
Ralf Becker
3ca5c80534 some ideas/todos 2020-10-07 11:45:13 +02:00
Ralf Becker
b960a24c32 implement UDM_REST_INSECURE environment variable to UCS appliance with no valid cert yet 2020-10-07 10:22:27 +02: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
Ralf Becker
77b1c0ac33 * Admin: fix session list did NOT show interactive sessions, if push is used 2020-10-06 11:59:19 +02:00
Ralf Becker
094a60d7f7 doc fix 2020-10-06 11:52:29 +02:00
Hadi Nategh
588a667137 Make et2_number widget exportable 2020-10-06 10:31:26 +02:00
nathangray
81cdf759a3 Api: Fix links got escaped when put into mail templates 2020-10-05 14:14:54 -06:00
nathangray
dd015a62a8 Etemplate: Avoid session destruction from PBX integration 2020-10-05 12:58:50 -06:00
nathangray
857943720e Api: Make sure we don't add any unwanted data to account store
Push fallback can piggy-back some data, we don't want it
2020-10-05 10:55:34 -06:00
Ralf Becker
f1fdd7e2f1 Changelog for 20.1.20201005 2020-10-05 11:33:03 +02:00
nathangray
baebf56fb2 Merge: Fix {{link}} placeholder was incorrectly wrapped in HREF tag. Use {{link/href}} for that now. 2020-10-02 12:37:37 -06:00
Ralf Becker
7db25dce5e * Admin: push server test to diagnose problems and improved recovery from failed requests / network problems 2020-10-02 20:28:02 +02:00
nathangray
f07303b321 Etemplate: Fix editing entry so it no longer matched current filters would cause missing rows and incorrect total 2020-10-02 10:39:33 -06:00
Ralf Becker
55b615af5f config got "lost" after deleting the cache, caused by it being automatic unserialized 2020-10-02 08:38:51 +02:00
Hadi Nategh
dd0a860f7e Set a min width for nextmatch counter 2020-10-01 10:51:37 +02:00
Hadi Nategh
81420b2261 WIP multitabs:
- Add a flag to specify app object is a fw tab
2020-09-30 16:03:04 +02:00
Hadi Nategh
7f4535cf1d WIP multitabs and CRM view 2020-09-30 13:19:36 +02:00
nathangray
ba7cbc5d5a Etemplate: Make child nodes protected instead of private for easier extending 2020-09-28 10:05:32 -06:00
nathangray
53577db40c Etemplate: fix for better behaviour if lazy-update pref is not set 2020-09-28 08:51:46 -06:00
Hadi Nategh
cdbc5e3a71 Create new sidemenuEntry for tab target 2020-09-28 15:43:42 +02:00
Ralf Becker
7fa1e7cd80 * ActiveDirectory: fix unwilling to perform error when saving an account 2020-09-27 10:02:22 +02:00
Hadi Nategh
acbd23a60a * Mail: Add custom html toolbar settings in mail site-configuration in order to be able to add/remove certain actions only for mail-compose dialog. 2020-09-25 14:17:29 +02:00
Hadi Nategh
3956760c23 Add tooltip for Tab's header, it can be set as attribute 'hint' in openTab framework app object too 2020-09-25 11:53:00 +02:00
Hadi Nategh
f88ae4f46a Merge branch 'multitabs' 2020-09-25 11:30:32 +02:00
nathangray
293f9cc446 Etemplate: Different way to download generated files to avoid destroying sessions of not-visible etemplates 2020-09-24 15:18:22 -06:00
Hadi Nategh
2ed186079e Implement openTab for egw_open object and make tab attributes configurable 2020-09-24 16:19:56 +02:00
Hadi Nategh
6c6759549e Make a copy of app object to not destroy the existing one 2020-09-24 11:13:12 +02:00
Hadi Nategh
4bf65486ef WIP of framework's multitab implementation 2020-09-23 16:55:35 +02:00
nathangray
b5ef5126c6 - Send push messages for account delete
- Send actual push type for contact changes
- Handle push deletes for admin
2020-09-22 13:53:08 -06:00
Ralf Becker
8df5371ffa fix wrong OID for mail attribute 2020-09-22 19:21:14 +02:00
Hadi Nategh
c01beef108 We can't use let in js files as we still supporting old devices with es5 only 2020-09-17 15:36:02 +02:00
nathangray
94a57d6902 Api: Some tests for filesystem 2020-09-16 11:48:40 -06:00
nathangray
2ef359f0d0 Etemplate: Fix selectAccount deprecated legacy option of putting account type in empty label 2020-09-16 09:14:50 -06:00
Ralf Becker
da27403b1b * eSyncPro: fix SQL error in device list 2020-09-16 16:45:01 +02:00
Hadi Nategh
c05047728c Push online users into top of the list as soon as they're active 2020-09-16 16:17:57 +02:00
nathangray
39b630d36e Etemplate: Fix some selectAccount bugs when multiple=true 2020-09-15 11:23:02 -06:00
nathangray
f38f61cf1b Correct parameters in TS 2020-09-15 09:05:48 -06:00
nathangray
afb342f66b Etemplate: Ask for new data before we put the row in, then if the entry doesn't match the filters, don't put it in. Should stop most blinking rows. 2020-09-15 09:05:25 -06:00
Alexandros Sigalas
55c9487517 Fixed: Declaration of EGroupware\Api\Mail\Smime::extractSignedContents($data) should be compatible with Horde_Crypt_Smime::extractSignedContents($data, $sslpath = NULL) 2020-09-15 08:36:17 +02:00
Ralf Becker
612a991c85 fix illegal string offset 2020-09-15 08:30:45 +02:00
nathangray
47a1437e1b Etemplate: Consider null as false when parsing boolean values into template attributes 2020-09-14 09:37:37 -06:00
Ralf Becker
0ed9b7dc09 Changelog for 20.1.20200914 2020-09-14 12:45:41 +02:00
nathangray
459ba3d93c * Etemplate: Fix historylog did not render until you resize the window 2020-09-11 13:12:09 -06:00
Ralf Becker
638da52fa9 fix date-duration fails with only one date-format eg. "m" 2020-09-11 20:22:51 +02:00
nathangray
d257077017 Add a test for hidden upload sharing 2020-09-11 09:50:34 -06:00
nathangray
56e1d3c5e5 Etemplate: Fix some missing includes 2020-09-10 16:59:34 -06:00
nathangray
d6d55c32a9 Etemplate: Fix updated entries were sometimes not flagged, clear color after 3 minutes 2020-09-10 13:42:32 -06:00
nathangray
372eadcff3 Api: Fix fstab overlap when accessing a share while logged in 2020-09-10 11:11:39 -06:00
Ralf Becker
3ee7574294 * Authentication: allow using multiple backends, even same backend multiple times with different configuration 2020-09-10 17:12:53 +02:00
Ralf Becker
ca9526988f missing file from #9f9cce8 fix account-selection type groupmembers 2020-09-10 11:26:14 +02:00
Ralf Becker
9f9cce88b2 * ActiveDirectory: fix account-selection type groupmembers (applies only to non-admins!) and ignore Domain Users group
not setting caseIgnoreMatch for sorting, as its not supported for Windows ActiveDirectory
2020-09-08 15:29:51 +02:00
Ralf Becker
5afe7ddbca * ActiveDirectory: support huge directories by using server-side sorted and limited queries and no caching in session 2020-09-05 13:11:26 +02:00
nathangray
2dc5616b96 Separate CRM list from infolog list so push updates don't conflict 2020-09-03 09:58:27 -06:00
Ralf Becker
7614e3e851 * ActiveDirectory: users not found when search starting with A-F and fixed attribute-names: company, department, ... 2020-09-03 15:47:07 +02:00
Ralf Becker
c3000beb5f * ActiveDirectory: implement addtional user or group filter 2020-09-02 14:14:11 +02:00
nathangray
210c54b689 Etemplate: More fixes for row count when updating / adding
Now fixed the situation where 1 row was updated & 1 added, but the added one did not match filter and was not returned when server was asked.  Now removed blank row waiting for it, and keeping row count consistent
2020-09-01 14:49:06 -06:00
Ralf Becker
953a132e9c Changelog for 20.1.20200901 2020-09-01 21:07:28 +02:00
nathangray
b7b4cb31c8 Etemplate: Row count does not depend on data.class 2020-09-01 12:22:47 -06:00
nathangray
df57ea914e Etemplate: Fix another bug in refresh / add / update
This one was found in Infolog, adding a sub to an entry with the show-subs preference set to only while filtering.  The row count would be off by one if the new entry did not match the filter.
2020-09-01 11:54:35 -06:00
Ralf Becker
eb812dad01 * PostgreSQL: fix SQL error opening ProjectManager
caused by exploding SQL expression by comma --> keep colums as array, to not have the need to explode it
2020-09-01 10:24:46 +02:00
nathangray
b43f51b52e Api: Handle refreshing multiple UIDs but not getting them all back.
Previously we were assuming only 1 was requested, now properly handling multiple UIDs in a single request and not all of them being returned (eg ACL or doesn't match filters)
2020-08-31 14:57:22 -06:00
nathangray
3ff331c22b Etemplate: Avoid trying to repaint datagrid while it's hidden
Avoids an infinite(?) loop and endless "[Violation] 'setTimeout' handler took <N>ms" messages
2020-08-31 14:06:18 -06:00
nathangray
1ad5d321a4 Etemplate: Fix double duration format in timesheet nextmatch header 2020-08-28 13:53:23 -06:00
nathangray
6b5414904f Remove workaround, fix 3 second refresh 2020-08-26 14:39:39 -06:00
nathangray
a013d78947 Partially revert 26a6749 as it's been handled elsewhere
(030dafc0a7c9bdc6677afe87fa69615068acb4c0,d525347275a2268ed9624d35ddbd4e43a345179d)
2020-08-26 13:47:11 -06:00
nathangray
075c44a48b Etemplate: Don't try to delete row if it's not in the nextmatch 2020-08-26 11:24:15 -06:00
nathangray
d525347275 Fix nm displayed row count was not updated when adding a row.
This seems to have resolved the issue of the last row going missing.
2020-08-26 09:26:18 -06:00
nathangray
030dafc0a7 Etemplate: Fix some nm / push bugs
- Handling for sub-grids
- Fix some index issues in selectionMgr causing rows to jump around
2020-08-25 15:57:20 -06:00
nathangray
8cd05c571b Add debug function to log selected nextmatch internals
Example usage:
etemplate2.getByApplication('addressbook')[0].widgetContainer.getDOMWidgetById('nm').spillYourGuts()
2020-08-25 14:01:31 -06:00
Hadi Nategh
6d467e33ed Avoid getting exceptions when user has no access to status app but getting notified by broadcast message 2020-08-25 13:21:53 +02:00
Hadi Nategh
6c9e83b38a Fix set column not working because of using wrong constant variable 2020-08-20 16:47:38 +02:00
Hadi Nategh
71605c0c14 * All Apps: fix print list column selection does not contain customfields 2020-08-20 16:18:39 +02:00
Hadi Nategh
d48efdedd8 Make commit 26a6749b3d condition available only for refresh add 2020-08-20 15:19:15 +02:00
Ralf Becker
d2c9973d43 Changelog for 20.1.20200818 2020-08-18 15:12:53 +02:00
Hadi Nategh
f63a0a6075 Fix radiobox widget calling onchange event infinitely 2020-08-18 13:20:29 +02:00
Ralf Becker
26a6749b3d * All apps: fix last rows was removed when adding new entry to list with only a couple of rows
see ticket #48204, we do a full refresh now to work around this issue until we have a real fix
2020-08-17 12:15:40 +02:00
Ralf Becker
e3434b144d fix sometimes not deleted infologs ("0 selected"), because global var got deleted, using now a closure as for the action 2020-08-16 11:22:16 +02:00
Ralf Becker
4f2ad476a6 * Calendar/CalDAV: config to replace email-domain eg. for a migration 2020-08-14 18:03:44 +02:00
Hadi Nategh
8bbb05a596 Fix clear button in search widget disappears after being reloaded 2020-08-14 13:35:30 +02:00
Hadi Nategh
50a34d9c42 Make sure path is not empty before using it, fixes error "an error happened! File '' is not an absolute path!" 2020-08-14 11:06:06 +02:00
Ralf Becker
a9dc772e14 * Mail: fix not shown folder tree for some Cyrus servers
since 20.1 uses Horde_Imap_Client::MBOX_ALL_SUBSCRIBED to query subscribed and unsubscribed folders in one command
2020-08-13 18:51:24 +02:00
Hadi Nategh
ed943afdf5 * All apps: fix drag and drop a file from FireFox download list not working 2020-08-13 16:23:07 +02:00
Hadi Nategh
31241227e1 * File Sharing: fix broken file sharing dialog 2020-08-13 14:35:09 +02:00
Ralf Becker
e399eba98b Changelog for 20.1.20200812 2020-08-12 12:57:38 +02:00
Hadi Nategh
fe47a2af28 A temporary fix for commit 471741ce12 which breaks nm row update with auto refresh enabled 2020-08-12 12:04:03 +02:00
Hadi Nategh
06e770f469 Fix nm filter onchange no longer sending expected nm widget 2020-08-11 15:45:40 +02:00
Ralf Becker
d280baa0da Changelog for 20.1.20200810 2020-08-10 14:00:42 +02:00
nathangray
036ec20769 Fix some nextmatch bugs
- Removed rows could still have jQuery actions bound, resulting in errors
- Focused row was not cleared if it was removed, resulting in errors
- Fixed double get_rows call on refresh(..., update)
2020-08-08 10:51:39 -06:00
nathangray
afec14a17e Fix removing a nm row did not re-index
This caused duplications or holes depending on what you did before or after
2020-08-07 14:12:30 -06:00
nathangray
ff35f58f73 Change addressbook group / template on client side, not server side
Fixes the issue where the nextmatch_controller is part of the context for the request, but the first thing set_template() does when the server tells the nextmatch to change the template is destroy the controller.  This means that when the data is parsed, the context is missing or damaged.
2020-08-07 13:18:41 -06:00
nathangray
bec67d63ee Etemplate: Change how nextmatch handles update & refresh push messages 2020-08-07 09:19:15 -06:00
Hadi Nategh
c43d0684cc Do not show close button on success message and dismiss it on container click handler 2020-08-07 13:29:30 +02:00
Hadi Nategh
593325165a Do not show edit button on taglist single mode 2020-08-07 12:06:50 +02:00
nathangray
dadf0fe993 Etemplate: Fix et2_selectAccount legacy options were not set 2020-08-06 16:39:59 -06:00
nathangray
29b22e336e Fix CRM view did not add new infolog entries on push 2020-08-06 12:49:33 -06:00
nathangray
2cf0e7732d Fix update was doing full refresh, changed back to previous behaviour
Left 'update-in-place', as discussed, as it's way more clear what it does.
2020-08-06 09:14:41 -06:00
nathangray
faed2f97d4 Etemplate: Add et2_nextmatch.set_disable_autorefresh() to change it dynamically 2020-08-06 08:40:41 -06:00
Hadi Nategh
e3c356b2c2 Add missing compiled js file from commit 13ed300c9c 2020-08-06 10:37:56 +02:00
nathangray
fba4323765 Etemplate: add disable_autorefresh attribute to nextmatch to be able to disable autorefresh 2020-08-05 11:21:33 -06:00
Ralf Becker
3b4d8071e9 improve fix not updated number of nextmatch rows on push type "delete" 2020-08-05 18:48:35 +02:00