Commit Graph

4435 Commits

Author SHA1 Message Date
nathan
4b67e78012 Fix selectbox grouped options were not using value if provided 2021-10-04 14:41:08 -06:00
Ralf Becker
1747a2236a fixing a ton of PHP Warnings slowing us down in PHP 8.0 2021-10-04 18:50:51 +02:00
Hadi Nategh
b52abb9b62 Implement a test for Colorpicker widget 2021-10-04 14:42:30 +02:00
Ralf Becker
ac7faf6036 fix PHP 8.0 error: count(): Argument #1 ($value) must be of type Countable|array, string given 2021-10-04 13:02:34 +02:00
Ralf Becker
1cd5755ae4 fix PHP 8.0 Warning: Argument #2 of array_merge must be of type array, boolean given 2021-10-04 11:01:32 +02:00
Ralf Becker
782c284d37 improve parsing if only a fullName is given to support the following:
- Becker, Ralf --> surname: Becker, personal: Ralf
- Ralf Becker  --> surname: Becker, personal: Ralf
- Becker --> surname: Becker
2021-10-04 10:41:22 +02:00
Ralf Becker
c647ddab60 improving parsing of country data:
- if we got a country-name but no -code, look up the code
- if we got a country-name like "Name (Name2)" try both separate first
- if we have a valid country-code set the -name to be the untranslated one as our UI does
2021-10-04 09:46:17 +02:00
Ralf Becker
9ca8b07de9 fix parsing with no street data and of custom fields 2021-10-03 18:45:34 +02:00
nathan
117b193a63 Add some missing general placeholders 2021-10-01 13:37:17 -06:00
nathan
96bdcd7c0e Fix some placeholder dialog bugs:
- Fix user placeholder does not use selected entry, so looks like a bug.  Now hiding entry for user placeholders.
- Fix user & general showed up in entry app selectbox
- Fix insert address dialog was not passing selected entry
2021-10-01 13:35:27 -06:00
Ralf Becker
2d2b16a2f6 if no separate name-components given, simply split first word off as n_given and rest as n_family 2021-10-01 18:27:36 +02:00
nathan
71ef7ccd0d Fix some merge action bugs:
- default document wasn't working properly, missing caption
- Email documents were giving "Unable to generate merge file"
2021-10-01 10:06:29 -06:00
nathan
806aa542a1 Fix some more tests that don't work anymore due to things changing / files moved / other reasons 2021-09-30 13:15:37 -06:00
nathan
1dc9dd0c6b * Add a preference so you can choose where merged documents are put 2021-09-30 12:01:37 -06:00
nathan
fdf6422da7 Fix some errors in tests due to changing method signatures 2021-09-30 10:14:38 -06:00
Ralf Becker
db83cc437c refactor client-side form is not valid/submittable check of submit method into an own method isInvalid() 2021-09-30 09:26:36 +02:00
nathan
fb88f8846b Merge as PDF:
- improve error logging
- remove original merge result when PDF conversion succeeds
2021-09-29 11:01:07 -06:00
Ralf Becker
89923e25c4 add an additional static method Api\Mail\Smtp::mailbox_address()
as PHP 8.0 does not allow to call a non-static method static, even if $this is (conditionally) not used
2021-09-29 10:10:48 +02:00
nathan
707c57ecf0 * Add option to merge documents as PDF 2021-09-28 17:00:55 -06:00
nathan
2a4faf0137 * Add filemanager actions to convert editable files to PDF or PNG 2021-09-28 14:48:25 -06:00
nathan
f6828a8205 Placeholder dialog: Add "name, email, phone snippet", fix some more missing translation issues 2021-09-28 10:16:57 -06:00
nathan
a39eeef7e7 Placeholder dialog: Fix some missing translation issues 2021-09-28 09:49:29 -06:00
Hadi Nategh
ae5e11f7a2 Translate details title before setting it into the DOM 2021-09-28 17:08:36 +02:00
nathan
7f930a6221 Placeholder dialog: Support for other apps, starting with Infolog 2021-09-27 14:46:41 -06:00
nathan
eb57294146 Placeholder dialog: Allow & show general fields 2021-09-27 11:09:38 -06:00
nathan
369de2e3d5 Specific ordering for contact merge placeholders
also, use switch to using prefix()
2021-09-27 10:54:57 -06:00
nathan
47cf12869b Utility function to add prefix to placeholder & optionally wrap it with markers, because I was writing it out so many times 2021-09-27 10:54:57 -06:00
nathan
90b3b47dc9 Placeholder dialog upper case first letter of placeholder category & placeholder name 2021-09-27 09:13:33 -06:00
nathan
9344f2df9f Placeholder dialog translations 2021-09-27 09:10:18 -06:00
Hadi Nategh
6f8fccb1ad Get mail app working (we use old-box widgets until replacing splitter with a web-component) 2021-09-27 16:14:42 +02:00
Ralf Becker
e640873fc0 implement and document PATCH 2021-09-25 12:38:08 +02:00
nathan
e460ed52d4 Et2Date style improvements 2021-09-24 11:13:14 -06:00
Ralf Becker
1280de46d6 REST API allow sending a JSON patch to update or create a new contact (currently only via POST or PUT, not as PATCH!)
allows eg. to create a contact from a simple Wordpress contact-form only supporting POST requests and a flat object, see new example in the documentation
2021-09-24 18:06:13 +02:00
Ralf Becker
d9f759f517 fix PHP 8.0 error: implode(): Argument #2 ($array) must be of type ?array, string given 2021-09-24 12:29:48 +02:00
nathan
901bb2b70d Fix Calendar popup was opening with wrong date 2021-09-23 14:12:15 -06:00
nathan
25773a929f Merge remote-tracking branch 'origin/master' into web-components 2021-09-23 10:22:18 -06:00
Ralf Becker
7562dd9fe3 Changelog for 21.1.20210923 2021-09-23 15:10:07 +02:00
nathan
704b6c6dc2 Add user placeholders into placeholder dialog 2021-09-22 11:15:49 -06:00
Hadi Nategh
d518a2b118 Move framework push boradcast method into base class 2021-09-22 11:54:01 +02:00
Hadi Nategh
b66db79289 Fix toolbar's 3dots broken styling 2021-09-22 10:16:29 +02:00
nathan
d512238dc0 * Collabora: Add address insert dialog 2021-09-21 14:07:22 -06:00
Ralf Becker
15a2e546ea missing @type="NameComponent" and updated examples in docu with @type 2021-09-21 18:50:40 +02:00
nathan
8e67e2efad WIP on placeholders
- Some TS cleanup
- Fix error in preview giving wrong results
2021-09-21 10:19:24 -06:00
Ralf Becker
8db7d13c49 Implemented @type attributes for all top-level objects from JsContact Draft 08 2021-09-21 11:09:32 +02:00
nathan
6884902d93 W.I.P on collabora placeholder insert
- better button styling
- make entry select app = selected app
2021-09-20 16:28:20 -06:00
nathan
29bd739955 W.I.P on collabora placeholder insert 2021-09-20 15:34:55 -06:00
Ralf Becker
13198e12c9 Use EGW_(USER|PASSWORD) from doc/phpunix.xml instead of hardcoded demo/guest 2021-09-20 18:52:25 +02:00
Ralf Becker
82c8ed51d2 Contacts REST API:
- implement missing PUT/POST of distribution list / CardGroups
- implement changes from next JsContact draft:
  + string plus extra localizations attribute instead of localizedString object
  + use "<domain>:<name>" for vendor attributes
- add/parse urn:uuid: prefix if UID is a UUID
2021-09-20 16:01:22 +02:00
Ralf Becker
0a75520a01 * Filemanager/Sharing: create different share-token for different recipients (before recipients where added to the token)
- allows to individually remove the token, otherwise new token for the other recipients need to be redistributed
- sending one email to multiple recipients still creates a single share-token for all the recipients (send multiple mails if that's not desired)
2021-09-20 13:27:31 +02:00
Ralf Becker
e9998161a5 finished REST API for contacts modulo docu and bugs ;)
- JsCardGroup now used for distribution lists
- responses are not in "responses" attribute (no longer in root of object)
- fix sometimes empty / different members between PROPFIND/REPORT/JSON-GET and GET of group (caused by wrongly implemented limit to given AB)
- JSON pretty-print only if requested by Accept: application/pretty+json
- fix invalid JSON for errors (caused by opening {"responses": already sent
2021-09-19 11:09:44 +02:00
Ralf Becker
3a88aedce1 fix PHP Deprecated: stripos(): Non-string needles will be interpreted as strings in the future 2021-09-18 09:44:46 +02:00
nathan
fa5dcc2a3c Fix uneeded remove & re-add of WebComponent widgets to legacy parent
This fixes the incorrect vertical ordering of the preferences dialog (was tabs, header, footer )
2021-09-17 13:12:24 -06:00
Ralf Becker
7617aae9d0 got POST, PUT and DELETE request to add, update and delete contacts working
added JSON exception handler with nicer JsCalendar parse errors
2021-09-17 20:15:36 +02:00
nathan
23f0a95447 Limit container width to 100%
Fixes site configuration pages go too wide
2021-09-17 09:24:12 -06:00
nathan
d23b55fe6d Change how boxes justify contents so buttons group on the left again.
Children without a max-width should still expand to share space.
2021-09-17 09:16:58 -06:00
Ralf Becker
8793f7895b fix excess separator, if not 2nd street-line 2021-09-17 11:58:39 +02:00
nathan
59ee0b57f2 Get translations working in labels & statustext 2021-09-16 14:56:13 -06:00
nathan
e279945953 Try removing width:100% from box to help with sizing nested boxes
This should fix the problem with timesheet.edit delete button being pushed off to the right
2021-09-16 13:49:48 -06:00
nathan
abd2e3804a - Fix default button image was not working
- Fix disabled="false" in template sort-of disabled buttons instead of them working normally

This fixes CRM view close button
2021-09-16 13:37:59 -06:00
Ralf Becker
0768f5fadf WIP REST Api for contacts 2021-09-16 20:53:43 +02:00
nathan
d6ad0d986c Changes from what we learned - using slots & not overriding render() to get all that Lion has 2021-09-16 11:03:46 -06:00
Hadi Nategh
029f75b9bc Add getValue, setValue, clear button handler and styling for colorpicker 2021-09-16 11:38:09 +02:00
Ralf Becker
4063f9fcdb modify <buttononly.../> --> <et2-button type="buttononly"...></et2-button>
also adding a class .et2_buttonFitContent and using it for filemanager.admin
2021-09-16 09:03:15 +02:00
nathan
44fcd07f6b Hopefully fix some out-of-order children when the first child of a box is a legacy widget 2021-09-15 16:29:17 -06:00
nathan
d68b8fdfe4 Fix disabled property/attribute was not getting reflected down to node, and Et2Box was missing the disabled style 2021-09-15 14:59:31 -06:00
nathan
23f8bc24c2 Fix some button stuff
- Submit / Cancel action was not being called correctly, so cancel buttons were not skipping change check
- Implement default image & class based on ID
2021-09-15 11:08:44 -06:00
Ralf Becker
38e2167166 WIP REST API for contacts using JsContacts draft 2021-09-15 18:45:45 +02:00
nathan
d5652c2f7e Bind app.appname.function context so widget can't lose it 2021-09-15 09:23:15 -06:00
nathan
decd64e7c3 Getter/Setter shenanigans to
- get widget's DOM ID to have the instance template as prefix
 - keep widget.id as what's in the template, matching legacy
 - widget.dom_id gives the DOM ID, matching legacy
2021-09-14 16:01:22 -06:00
nathan
277f465c50 Fix onclick to keep originally bound click handler context.
Fixes app.appname.func callbacks had widget as context
2021-09-14 13:23:17 -06:00
nathan
442de20d90 Add missing set_disabled() method 2021-09-14 11:50:10 -06:00
nathan
3c7da204c5 Fix button icons so they don't get space when not there 2021-09-14 11:43:43 -06:00
nathan
6883760d6f Get Et2Textarea to automatically fill their available space if no width or height attribute is set 2021-09-14 11:12:33 -06:00
nathan
373cf6590d Merge remote-tracking branch 'origin/master' into web-components 2021-09-13 14:56:08 -06:00
nathan
dd47af5d09 Remove debug 2021-09-13 14:52:28 -06:00
nathan
76ad419420 Fix index templates had nextmatch row nodes below the nextmatch 2021-09-13 14:41:36 -06:00
nathan
6a70efcc34 Fix left/right align CSS to work with out-of-order children 2021-09-13 11:57:23 -06:00
nathan
b7e34ed779 Fix child order when children are a mix of WebComponent & legacy widgets 2021-09-13 11:26:29 -06:00
Ralf Becker
be3514c36f preferring get_rrows over get_rows to fix SQL error in timesheet merge 2021-09-13 18:02:39 +02:00
Ralf Becker
621d69f921 missing files from filemanager mount GUI 2021-09-13 17:41:21 +02:00
Ralf Becker
4727340f1d * Filemanager: added user-interface to mount WebDAV or SMB shares 2021-09-13 16:16:36 +02:00
nathan
6abb239705 Avoid error if widget does not have transformAttributes method
This might be an issue with not properly implemented DetachedDOM interface
2021-09-09 13:43:16 -06:00
Hadi Nategh
722172fff2 Adjust toolbar's triangle icon styling 2021-09-09 15:46:52 +02:00
Hadi Nategh
5dbba31285 Fix toolbar list header taking a while to get opened 2021-09-08 12:07:47 +02:00
Hadi Nategh
3fc0823f38 Adjust background and height for toolbar's header_list 3dots menu 2021-09-07 16:56:50 +02:00
Hadi Nategh
91d74767fe Add an option to configure toolbar's list header style 2021-09-07 16:30:53 +02:00
Hadi Nategh
78d7f20ed8 Disable default background for et2_toolbar 2021-09-06 15:40:35 +02:00
nathan
6fe2ec6c65 Fix readonly was not hiding buttons
in Lion, they already have functionality on readOnly
2021-09-03 14:53:51 -06:00
nathan
347ea25131 Fix webcomponent attributes (class) were causing errors in nextmatch instead of being checked for variables 2021-09-03 14:45:45 -06:00
nathan
968a2d03bb Fix widget class in .xet file was not showing up on webcomponent element 2021-09-03 14:44:52 -06:00
nathan
4cafdeb359 Fix webcomponent children of webcomponents did not get properly added when cloned.
Fixes infolog description was missing
2021-09-03 13:08:49 -06:00
nathan
dccf43f3e3 Fix clone & child handling
This gets webcomponents (Et2Box) working in nextmatch
2021-09-03 11:20:53 -06:00
nathan
36df64085f * Api: Fix some merge files were opened in browser instead of downloaded 2021-09-03 09:33:32 -06:00
Ralf Becker
582793d52b Revert "Bring web-component work into master branch"
To many things are not working :(
- addressbook, infolog, even timesheet index lacks at least r/o textbox and problably other widgets
- smallPART (with many extra widgets) is completly unusable
- *box widget seems not to skip empty boxes
--> we need more testing and progress, before we can merge that

This reverts commit 9cee681b94.
2021-09-03 11:28:22 +02:00
Ralf Becker
ef1239b017 fix URL if custom template from VFS is used 2021-09-03 11:02:06 +02:00
Ralf Becker
a566599b7f * PostgreSQL/Addressbook/All Apps: fix SQL error in history tab if there are attachments 2021-09-03 09:48:47 +02:00
nathan
3619bd6ae1 Fix child widget handling to handle both legacy and webcomponent children the same, as much as possible 2021-09-02 13:40:26 -06:00
nathan
9cee681b94 Bring web-component work into master branch 2021-09-02 10:52:10 -06:00
nathan
b52000ceb7 Merge branch 'master' into web-components 2021-09-02 10:38:34 -06:00
nathan
25ba3e477a - Set a max-width on buttons so we can let them flex
- Fix missing button label
2021-09-02 09:43:00 -06:00
nathan
637bd9fe5b Style changes on Et2Box, now supporting the align [left|right] property. 2021-09-02 09:39:43 -06:00
Ralf Becker
86c92dcdf6 allow pushing to multiple users in one request 2021-09-02 09:39:43 -06:00
Hadi Nategh
53f156a66b WIP implementing colorpicker widget 2021-09-02 16:47:49 +02:00
Ralf Becker
e500190728 * Addressbook/PostgreSQL: fix SQL error deleting a contact finally 2021-09-01 09:33:54 +02:00
Ralf Becker
c830bdd923 allow pushing to multiple users in one request 2021-08-31 17:42:28 +02:00
nathan
61da5c544a Merge branch 'master' into web-components 2021-08-27 11:40:22 -06:00
nathan
8a2b717c51 Fix some type issues to make everything play more nicely together
(Not complaining about things from parent classes being missing, mostly)
2021-08-27 11:21:40 -06:00
Ralf Becker
fb69cf39fd replace all "(../)+node_modules/" with bare specifiers 2021-08-27 08:13:36 +02:00
Guy Bedford
2526b0460e fix: node_modules resolutions 2021-08-27 07:58:30 +02:00
nathan
4218b132f9 - Sort out some type issues to reduce warnings/duplication
- Some tests for textbox
2021-08-26 12:59:13 -06:00
Ralf Becker
44ae9650f8 legacy-load old javascript from etemplate(1) and phpbrain, to fix eg. DB-Tools 2021-08-26 17:51:45 +02:00
nathan
181b1c03ae Fix imports to work with rollup 2021-08-26 09:20:41 -06:00
Hadi Nategh
3adec01e58 Fix youtube video starts to play automatically after being seeked to a time 2021-08-26 12:11:24 +02:00
nathan
2e712c47bc Move the rest of the WebComponents into their own directory to get ready for tests 2021-08-25 15:35:06 -06:00
nathan
584d6bf51d Add some button tests 2021-08-25 15:24:27 -06:00
Nathan Gray
3e0f302bb5
Remove unneeded import 2021-08-25 11:34:10 -06:00
Nathan Gray
96c8e61127
Remove unneeded import 2021-08-25 11:33:24 -06:00
nathan
ef3848fd3c - Fix including everything just for a unit test
- Start of some tests for Et2Button
2021-08-25 11:32:15 -06:00
nathan
d656eb0e69 Javascript unit testing
Runs over all files in api/js/etemplate/<widget>/test and <app>/js/test folders

Run from the commandline with: npm jstest
Can also run & watch for changed files, check package.json for scripts.
2021-08-24 14:52:09 -06:00
nathan
d127cae5c6 Add get_value() to match legacy 2021-08-24 14:44:45 -06:00
nathan
538e483499 Merge branch 'master' into web-components 2021-08-23 15:41:27 -06:00
nathan
b393375823 Fix readonly property to match parent 2021-08-23 15:26:00 -06:00
nathan
8f784cd7b3 Remove setting defaults to undefined. It doesn't help the sizing issue, and it causes problems in the parent's size calculations 2021-08-23 13:09:45 -06:00
nathan
e3e3def64c Use Lion's SlotMixin to handle button icon instead of managing it ourselves 2021-08-23 11:49:17 -06:00
nathan
17b4278ca2 Implement iterateOver for children 2021-08-23 10:21:51 -06:00
Ralf Becker
0203ce5a1f also augmenting Promise returned from egw.request() with an abort method and using that in link-widget 2021-08-23 09:37:18 +02:00
Ralf Becker
6c641f824b fix missing abort method for link-widget
also remove jQuery.proxy
2021-08-22 11:55:29 +02:00
Ralf Becker
70e838b267 modify <textbox multiline="true".../> --> <et2-textarea...></et2-textarea> 2021-08-21 09:55:21 +02:00
nathan
64860e12f1 Better layout for textarea, but it's still not filling 2021-08-20 16:11:59 -06:00
nathan
e34ca22499 Split textarea off from textbox & start implementing
Splitting the two made things a lot simpler to deal with
2021-08-20 15:52:22 -06:00
nathan
0c6cd22bcd Remove debugger 2021-08-20 15:51:14 -06:00
nathan
f00e4fb708 - onclick is fine being an attribute
- Avoid error when calling loadingFinished on a webComponent and the parent does not give/have a DOM node
2021-08-20 10:37:41 -06:00
nathan
e6ecdd1b25 Fix onclick context was bound to the widget class instead of the widget instance
This caused any onclicks that used "widget" variable to fail.
2021-08-20 10:23:39 -06:00
Hadi Nategh
9dfee3f025 Extra padding on buttons is no longer necessary for new jQuery ui version 2021-08-20 10:27:55 +02:00
Hadi Nategh
2125e14b43 Import missing date library 2021-08-20 10:22:15 +02:00
nathan
e0144fcec7 Fix dialog not displaying set value 2021-08-19 15:32:47 -06:00
nathan
381d12dfa2 Get Et2Date loading & formatting value 2021-08-19 15:09:00 -06:00
nathan
b4a13037e2 - Reduce duplication with loadWebComponent() by making it a function & exporting
- Start to implement readonly attribute
2021-08-19 10:54:32 -06:00
nathan
0ea5e2e35f Define the constant only once... 2021-08-19 08:16:36 -06:00
Ralf Becker
6baf07090e implement some missing features from old eTemplate:
- evaluate class set on a grid cell as done for the widget contained (probably more a bug-fix then a feature)
- allow to preset query for link-entry widget by passing an object with a query attribute
- allow to overwrite not only $readonlys[__ALL__] but also widget readonly attribute with a $readonlys value of false
2021-08-19 10:46:34 +02:00
Ralf Becker
1596bec75c get form::name() legacy function working by making used et2_form_name function global, if used 2021-08-19 10:22:40 +02:00
nathan
445f394217 Fix some issues
- Some legacy widgets can not provide their DOMNode right away, but some give errors when we ask at the wrong time.  Now catching those.
- Grid could not set disabled on web components, causing error
- Boxes were trying to work on labels they didn't have, causing error
2021-08-18 17:41:23 -06:00
nathan
9231b32fce Vfs: Fix Stylite/Links/StreamWrapper was not respecting backup parameter 2021-08-18 15:59:54 -06:00
Hadi Nategh
466371fa03 Check element exist before applying to sortable as sortablejs needs an HTMLElement instance 2021-08-18 11:15:38 +02:00
Hadi Nategh
4e7ebc509a Make sure the DOM object is there before using it 2021-08-18 11:02:48 +02:00
Ralf Becker
61cdef588a need to catch the statement in line 1347 2021-08-18 10:48:24 +02:00
Ralf Becker
1462fb517a * PostgreSQL: fix SQL error when accessing eg. InfoLog
Links class trys to delete empty attachment directories and virtual / empty attachment directories have non-integer (hash) id causing an SQL error in PostgreSQL.
2021-08-18 09:18:21 +02:00
nathan
39886a149d * Api: Fix entry list stops scrolling if a row is updated while the tab is not visible 2021-08-17 13:56:52 -06:00
Hadi Nategh
96e960226f Fix volume gets initiated on a wrong object becuase the youtube object is not yet ready 2021-08-17 12:01:53 +02:00
Ralf Becker
94c98718ef update script to remove hashes/non-email-addresses from egw_history_log.share_email 2021-08-17 09:15:25 +02:00
nathan
bea880d9b1 * Api: Fix changes in history log had a hash instead of user if the change was made after a share was opened. 2021-08-16 13:07:17 -06:00
Ralf Becker
6d37e22499 web-components must not be self-closing (no "<et2-button .../>", but "<et2-button ...></et2-button>") 2021-08-16 19:54:58 +02:00
Hadi Nategh
61764809c8 Add getter/setter for video's mute option and fix volume unit 2021-08-16 17:49:47 +02:00
Hadi Nategh
4c1f398322 Fix volume and playbackrate for both youtube and html video 2021-08-16 13:48:10 +02:00
Hadi Nategh
5f4e910d0d Do not activate cropper when the widget is set to readonly 2021-08-16 12:29:56 +02:00
Hadi Nategh
2515d457d5 * Knowledge Base: fix pasting/dragging image into htmlarea editor does not work 2021-08-16 11:52:26 +02:00
Ralf Becker
d060d98fad modify eTemplates server-side to add et2- prefix for widgets converted to web-components
- uses a regular expression to identify the widgets already converted (using XML parsing is slower and more complicated)
- replaces automatic old <menulist...><menupopup type="select-*"/></menulist> with <select type="select-*" .../> to not build support for that into web-component code
- currently only box and button are converted, as converting v/hbox gives a JavaScript error with nextmatch headers (seems a problem with the children)
- caching is currently also disabled, as you would need to clear the filesystem-cache, when you modify the list of supported widgets (browser cache needs to be cleared!)
2021-08-15 14:59:23 +02:00
Ralf Becker
29ab26b731 fix egw.request() which was using jQuery defered.always() which egw_json.sendRequest() no longer returns in favor to a Promise 2021-08-14 08:42:37 +02:00
nathan
4f225054f8 WIP on Date widget
Something's not right with the parser/formatter, they're not getting called.

Times not handled yet
2021-08-13 15:26:18 -06:00
Hadi Nategh
782de6d887 Remove excessive bracket 2021-08-13 12:56:20 +02:00
Hadi Nategh
a7ea5b51bf Implements volume and playback options for video widget (both for html video and youtube) 2021-08-13 12:39:38 +02:00
nathan
35e5d57b2a Merge branch 'master' into web-components 2021-08-12 13:22:51 -06:00
nathan
54e5826fc7 Get the link entry app selection menu working again 2021-08-12 11:21:49 -06:00
nathan
fac1dfb8d4 Merge branch 'master' into web-components 2021-08-12 10:35:46 -06:00
nathan
243d769d7c - Change filenames to match classnames
- Change node import syntax
2021-08-12 10:32:05 -06:00
Hadi Nategh
d07a7ab194 WIP of replacing bower-asset packages:
- Get jquery-ui and touch event plugin working (although still modular import is not possible becuase of a wierd issue with jquery-ui tooltip plugin)
- Import timepicker-addon plugin as npm package
- Update composer.lock file
2021-08-12 14:51:38 +02:00
Ralf Becker
72699fad30 fix ESM module import (no currly brackets) as suggested by Guy Bedford 2021-08-11 19:28:01 +02:00
Hadi Nategh
23c27659fc Fix broken styling of sidebox app lists 2021-08-11 16:50:01 +02:00
Hadi Nategh
8743bf64b0 Replace nm column jquery-ui sorting with sortablejs 2021-08-11 16:49:51 +02:00
Hadi Nategh
af2a2a016e Fix broken widget tree actions because of unexpected DOM Element object 2021-08-11 16:49:39 +02:00
Hadi Nategh
572908e300 Get favorites list sorting working with Sortablejs 2021-08-11 16:49:29 +02:00
Hadi Nategh
5777ebeb75 Get et2_grid sortable working with sortablejs 2021-08-11 16:49:16 +02:00
Hadi Nategh
a63416f6d6 Get fw sidebox sortable items working with sortablejs and removes the jquery.sortable 2021-08-11 16:43:16 +02:00
Hadi Nategh
af7b1a0fe0 Remove the tap-and-hold files 2021-08-11 16:43:16 +02:00
Hadi Nategh
7042219529 Remove tab-and-hold jquery plugin and use native touch events to implement something similar 2021-08-11 16:43:16 +02:00
nathan
db7828ad1d Add et2-box (& et2-hbox & et2-vbox) WebComponent
Box can have legacy & webcomponent children.
Used here in infolog edit created & modified row
2021-08-10 15:02:52 -06:00
nathan
6c0aed651f Api: Add some extra parameters to Merge::merge_entries() so overridding classes can still use the parent method, passing in IDs & merge object 2021-08-09 13:44:43 -06:00
Ralf Becker
8f93a7f7c6 * Setup: support uninstalling automatic installed apps (no more reinstalling next update) 2021-08-03 18:53:05 +02:00
Ralf Becker
5f7bafd030 allow to explicit register callbacks for the broadcasted push messages
egw.registerPush(Function)

The callback should have a bound context, if it requires one!
2021-07-30 15:21:58 +02:00
Hadi Nategh
93c390139b Fix error TypeError: Cannot read property 'length' of undefined 2021-07-26 10:10:30 +02:00
nathan
30d835fa39 - Get label "for" attribute working when target is a WebComponent
- Remove requirement that tooltip target be jQuery, get tooltips working on WebComponents
2021-07-23 10:18:45 -06:00
Ralf Becker
4240f4cf01 Changelog for 21.1.20210723 2021-07-23 08:24:45 +02:00
nathan
5fee9fcafe Make et2-textbox as a WebComponent
Not all attributes are handled yet, but value cycle is working
2021-07-22 14:54:10 -06:00
Ralf Becker
93068dcfcc need to call Vfs\StreamWrapper::init_static() after setting Vfs::$user
Vfs::$user should be protected and moved to Vfs\Base plus a getter and setter method added for public access,
as after setting it in 21.1+, Api\Vfs\StreamWrapper::init_static() need to be called to set the default user context!
2021-07-22 09:08:49 +02:00
nathan
b95f9e7220 Reset after every job 2021-07-20 14:23:21 -06:00
Ralf Becker
df4137baee * Filemanager/VFS: when creating a new file as root eg. via (docker exec) filemanager/cli.php do NOT create files unreadable by webserver 2021-07-20 09:34:59 +02:00
nathan
ad00156113 Merge branch 'master' into web-components 2021-07-19 14:15:52 -06:00
nathan
610d8e1547 Try out Lion as base for button.
Much easier to customize, though not without its issues:
- Lion give us some stuff to handle validation, forms & input that I haven't looked into
- Slightly different mixin structure, I might be missing out on something
- Properties in extending class cause TypeScript error, but still work
2021-07-19 11:57:06 -06:00
Ralf Becker
0a1e784f2e egw.getCache(name) function to get a cache-object shared between all EGroupware windows and popups
used to share server-side generated options for et2_selectbox
also removed nextmatch specific code from et2_selectbox which seems no longer necessary
2021-07-19 17:02:37 +02:00
Ralf Becker
cc27253b7b keep original REQUEST_URI in ORIG_REQUEST_URI when modifying it 2021-07-19 14:15:16 +02:00
Ralf Becker
efb1711eef always sending notification, status and filemanager preferences with user-date to avoid requesting them synchronous 2021-07-19 11:23:35 +02:00
Ralf Becker
3a618937a9 do NOT check Content-Type header as it's sometimes not set to application/json
parsing JSON will error out, if payload is no JSON anyway
happens with mark-as-spam and SpamTitan
2021-07-19 10:24:58 +02:00
Ralf Becker
59ac3f4bda always name generated file app.min.js so client-side can load it without knowing source is .ts or .js
--> fixes client-side initiated load errors
2021-07-19 08:31:06 +02:00
Ralf Becker
ce0a513187 egw.preference(name, app, true) returns now a promise to query preference async
changed notifications to query preference async together with lang-files
fixed error-handling in new egw.json()
2021-07-16 14:50:06 +02:00
Ralf Becker
87694e660c seems to be no need to send a synchronous request 2021-07-16 12:03:29 +02:00
Ralf Becker
50b8839609 fix not working InfoLog index: synchronous request must return fulfilled promise 2021-07-16 11:49:53 +02:00
Ralf Becker
b780c7ebd8 replace jQuery.ajax with fetch (or XMLHttpRequest for synchronous requests) 2021-07-16 08:47:22 +02:00
nathan
723ec70009 Get button to validate server-side 2021-07-15 10:12:47 -06:00
nathan
47e296c947 Get to the point where a button will submit. Yay.
Most other input widgets can build off this base.

It doesn't validate yet because of the server side, but the client side is working.
2021-07-15 10:08:26 -06:00
nathan
1294bc99c6 Some cleanup
- Add but comment out decorators plugin so we know about it, but don't use it yet
- Better instanciation of button image node
- Remove previous mixin experiments
- Start on trying to get click handler parsing & working
2021-07-14 16:11:20 -06:00
nathan
b0322c549a Attribute parsing & basics of WebComponents looking like et2 widgets 2021-07-14 09:49:36 -06:00
Ralf Becker
2f155e0d79 fix popups of apps without app.ts/js wont work as eT2 is not available
it get's included by the app.ts/js otherwise
2021-07-13 21:02:08 +02:00
nathan
73df101e8e Better tests & message for symlink test
no longer checking invalid (nlink = 2) or undefined (stat['url') things to see if it worked
2021-07-13 10:33:50 -06:00
Ralf Becker
6502eaeab8 got symlinks working for filesystem streamwrapper and fix one bug in Vfs with symlinks 2021-07-13 13:59:05 +02:00
Ralf Becker
1563337458 pending translations from our translation server 2021-07-12 08:15:16 +02:00
nathan
e474333bc8 Get stylite gantt extra bits running 2021-07-09 11:56:06 -06:00
nathan
da1e7b9fee Implement symlink for filesystem StreamWrapper with test
Whether it works or not depends on filesystem though.
2021-07-09 09:47:23 -06:00
Ralf Becker
a5ad691757 deprecated egw.includeJS() in favor of es6 import statement
with egw composition happening in main window the used import statement happens in that context and NOT in the window (eg. popup or iframe) this module is instantiated for!
2021-07-09 17:27:22 +02:00
Ralf Becker
4f95ebb510 add a missing import 2021-07-09 14:50:15 +02:00
Ralf Becker
65502ace6e re-added daily cache-buster for app.js and removed explicit timepicker include causing a double include
(we still sometimes get a jQuery.datepicker is not defined, but it seems a timing issue and is NOT fixed by including it twice!)
2021-07-09 10:07:31 +02:00
Ralf Becker
edacfc12cb remove (unnecessary) double egw.min.js import 2021-07-09 08:15:17 +02:00
Ralf Becker
ff92db4e33 release session in non-json.php requests like lang.php, as it blocks parallel execution 2021-07-09 07:46:18 +02:00
nathan
4627b3b2b1 Remove VfsTest, no longer needed as test has been moved into StreamWrapperBase so it can be run on all StreamWrappers (a63b82d3) 2021-07-08 10:01:33 -06:00
Ralf Becker
5b8923f548 replace include of egw.js with egw_core.js, which provides the egw.extend
fixes the stray egw.js include
2021-07-08 17:04:48 +02:00
Ralf Becker
d57fe03326 use same method (prefer .min.js over .js) for app.js include in Etemplate and Framework
fixes double include of /mail/js/app.js and /mail/js/app.min.js
2021-07-08 16:58:05 +02:00
Hadi Nategh
2be47ffce2 Fix input field in sharing dialog doesn't get a fullwidth 2021-07-08 16:15:43 +02:00
nathan
a63b82d34e Move symlink test into StreamWrapperBase so it can be run on all StreamWrappers 2021-07-07 15:57:40 -06:00
nathan
35dccf17ae Add missing cleanup of test files 2021-07-07 14:47:04 -06:00
nathan
2e597997e0 Fix wrong permission constant used, resulting in permissions when there shouldn't be 2021-07-07 14:42:10 -06:00
nathan
157926ab00 Better VFS test cleanup 2021-07-07 13:11:44 -06:00
Ralf Becker
a8ae92e1cc add cache-buster to framework bundle 2021-07-07 16:51:31 +02:00
Ralf Becker
b2a48fc942 fix vfs-select dialog destroyed et2 session of popup calling it
dialog set etemplate_exec_id of popup, to be able to submit to server, but must NOT destroy the et2 session when the dialog closes
et2_dialog now calls etemplate2.clear(true, true) to keep app-object AND et2 session
2021-07-07 16:29:04 +02:00
Hadi Nategh
052f5f23cc Remove framework object from import statement which would override the actual object 2021-07-07 12:31:11 +02:00
Ralf Becker
90f1d9ea37 always show deleted filter and set deleted status in calendar
see #29778
2021-07-07 11:21:45 +02:00
Ralf Becker
e8da7caa64 fix after rollup build popups need extra reload
caused by no longer necessary import of etemplate2 in egw.js, as Promise works and etemplate2 is global
2021-07-07 10:32:06 +02:00
Ralf Becker
cf101c8e13 fix not working nm_*_popup actions and others, see #60364 2021-07-07 09:30:29 +02:00
nathan
da3f8d8135 Fix symlink directory problem from 2a64e79 and add a unit test to avoid that in the future 2021-07-06 16:44:53 -06:00
nathangray
0904057714 Solve some calendar issues that were breaking add / edit
- Date widget did not find timepicker.formatTime() when it wanted it
- Faked parent widget was not a good enough fake, added better checking
2021-07-06 11:05:03 -06:00
Ralf Becker
b5015299ee add missing sprintf import 2021-07-06 16:41:23 +02:00
Ralf Becker
5505c9a314 make etemplate2 global, as we need it to check an app uses it and then call methods on it, fixes #60374 2021-07-06 16:00:10 +02:00
Hadi Nategh
81bc236045 Fix vfsSelectUI destroys et2 object after dialog being closed 2021-07-06 15:59:51 +02:00
Hadi Nategh
89695620bc Make sure et2 widgets are there before the container into vfsSelectUI app object 2021-07-06 15:50:49 +02:00
Hadi Nategh
70faf346e4 Fix error egw_keycode_translation_function is not defined 2021-07-06 14:53:56 +02:00
Ralf Becker
75fddd325b if value has already been set, re-set it by it's id(s), fixes #60304 2021-07-06 14:43:13 +02:00
Ralf Becker
51b0888b5d fix diverse calendar errors #60294
thought not sure how this is supposed to work in 21.1, both look like a general problem
2021-07-06 13:06:32 +02:00
Hadi Nategh
cbed97de6d Fix drag and drop actions not working 2021-07-06 12:41:16 +02:00
nathangray
b021767ac1 Make sure nested document actions open in new tab, same as others. 2021-07-05 09:46:00 -06:00
Ralf Becker
1423616e00 remove some dead code and spelling fixes 2021-07-04 08:52:43 +02:00
nathangray
34d601b102 Api: Fix missed change in nested document actions
see 186e03671a
2021-07-02 12:04:38 -06:00
nathangray
c380ad906d Api: Get rid of double super constructor call 2021-07-02 10:17:49 -06:00
Ralf Becker
cfd11cf821 replace eval with Function constructor to quiten rollup warning 2021-07-02 15:27:46 +02:00
nathangray
2a64e79e65 Api: Fix bug where StreamWrappers that mapped onto other StreamWrappers would be parsed earlier than we want, leading to the first StreamWrapper not getting used. 2021-07-02 12:11:54 +02:00
Hadi Nategh
1971fa0e18 Import vfsSelectUI 2021-07-02 11:44:11 +02:00
Hadi Nategh
463d931209 Fix cropper in avatar widget 2021-07-02 10:53:10 +02:00
Ralf Becker
b88716c8b6 legacy load jQueryUI as tooltip has wired context problems if loaded as module 2021-07-02 08:52:18 +02:00
Ralf Becker
68155251fa fixing a couple of jQuery plugin includes
thought jQueryUI-tooltip is still broken and we either need to legacy-load jQuery(UI) or fix the tooltip
2021-07-01 16:33:15 +02:00
Ralf Becker
8c7722c8b0 1. loading dhmtlx(tree|menu) again via script tag
2. fixed not loaded app.js in egw_json by using import direct and not includeJS (and therefore removed additional include in et2_load)
3. adding cache-buster for egw.js and app.js endpoints to force reloads (not adding them for anything else, as it interferes with rollup
2021-07-01 14:36:51 +02:00
Hadi Nategh
b9d47c1511 Replace jQuery.base64 with native JS and remove its library 2021-07-01 10:26:51 +02:00
Hadi Nategh
83e782330d Try to take only quoted_printable to decode and avoid decoding url params as quoted 2021-07-01 10:26:22 +02:00
Ralf Becker
b6fc08c010 Changelog for 21.1.20210629 2021-07-01 10:25:59 +02:00
Hadi Nategh
e5d0e5def0 Avoid triggering initial resize if not necessary 2021-07-01 10:22:42 +02:00
Ralf Becker
05405b955a remove generated .js files from git 2021-07-01 08:38:08 +02:00
nathangray
154946f39e Get news_admin loading with rollup 2021-06-30 14:21:58 -06:00
nathangray
3adce4ad58 Get diff widget working 2021-06-30 13:36:59 -06:00
nathangray
e75d3a0777 Get taglist working 2021-06-30 12:45:06 -06:00
Ralf Becker
d7cd90ebe7 fix skipping timestamps, but preferring .min.js over .js
added more apps to rollup.config.js (ones givening errors are commented out)
2021-06-29 15:21:19 +02:00
nathangray
3add958afa The results of Guy Bedford's help
Egroupware will load into addressbook & show rows
Most base files should be bundled server-side & included
rollup.config.js controls the process

Still needs work:
- consider /dist directory for best-practice
- cleanup
- other built-in apps
- EPL / external apps need Guy's multi-stage work
2021-06-25 14:49:24 -06:00
nathangray
459c021b8c Comment this out while we work on rollup 2021-06-23 16:26:25 -06:00
nathangray
6559a053f3 Merge branch 'master' into new-js-loader to bring it up to date 2021-06-23 15:40:50 -06:00
nathangray
9242673aa1 - A first webcomponent (et2-button)
- Some mixin logic, not used but available
2021-06-23 15:39:58 -06:00
nathangray
186e03671a Change merge download/Collabora to a common generation method, avoiding need to POST.
This allows Kanban to download merge files
2021-06-23 11:20:09 -06:00
nathangray
78a01ced17 Api: Allow Web Components to be added into templates (.xet files)
Current limitations:
- display only, I haven't figured out getting values back yet
- no children in the web components
2021-06-18 14:20:17 -06:00
Hadi Nategh
498cb2994d Add missing compiled js for url widget 2021-06-18 15:29:19 +02:00
nathangray
f64a026898 Etemplate: Only re-set label if the new value is different
Fixes initialization could clear the link text if value was set first
2021-06-18 15:04:00 +02:00
Ralf Becker
45758aaada we must not make json_request object global as it interferes with registered plugins from different windows
Example was tracker site config opened in an iframe, then stopped further et2_load responses to the main window
because it still used window object from the iframe and therefore could not find the node
2021-06-18 11:09:53 +02:00
nathangray
5a209a00f0 Avoid infinite loop if loading JS file fails 2021-06-17 14:17:58 -06:00
Hadi Nategh
6b57c6477f Revert unintentionally deleted egw_action.d.ts file 2021-06-15 13:47:37 +02:00
Ralf Becker
2388970002 fix blank screen when changing views in admin 2021-06-15 12:50:10 +02:00
Hadi Nategh
a4f21bc804 Fix 404 errors caused by none existing html editor icons 2021-06-15 12:11:43 +02:00
Ralf Becker
af3193480c fix not working applyFunc if app.js was not yet loaded (missing return of the Promise) 2021-06-15 11:51:10 +02:00
Ralf Becker
e7a3c031b2 fix class Api\Mail\Config not found 2021-06-15 10:51:48 +02:00
Ralf Becker
cb00de85ce * Mail/Dovecot: allow to disable caching of flags in site config to support Dovecot private seen flags on shared folders 2021-06-15 10:23:11 +02:00
Ralf Becker
8432cca3ea show (caught) exceptions during import now as error for easier spotting
console.error instead of console.log
2021-06-14 15:22:16 +02:00
Ralf Becker
829defa0c1 also import old jsapi with rest of egw object 2021-06-14 15:12:52 +02:00
Hadi Nategh
3c9e33ab46 Add missing import for egw_action_constants 2021-06-14 15:09:53 +02:00
Hadi Nategh
e0341e49e6 Remove duplicated constants from egw_keymanager 2021-06-14 14:57:55 +02:00
Ralf Becker
23844e01df fix wrong import 2021-06-14 14:48:05 +02:00
Hadi Nategh
c73828e4df Add missing egw_action_constants 2021-06-14 14:42:05 +02:00
Ralf Becker
1035ff31ec fix async loading caused et2 widgets calling api before loaded
using a strict order now:
1. legacy stuff like jquery and dhtmlx
2. client-side api / egw-object
3. et2 and rest
2021-06-14 14:16:07 +02:00
Hadi Nategh
b4c4606c22 Move all egw_action constants into egw_action_constants 2021-06-14 13:45:57 +02:00
Ralf Becker
be0af7be68 split implements and instanceOf from ClassWithAttributes in own ClassWithInterfaces and let et2_dataview_view_container inherit from it 2021-06-14 11:47:02 +02:00
Ralf Becker
685a0d3328 handel empty objects like empty array 2021-06-14 10:35:54 +02:00
Ralf Becker
3e5aa5a707 make egw_globalObjectManager available for egw_keymanager 2021-06-12 17:03:22 +02:00
Ralf Becker
ee508c50b9 filter out legacy JS code from importmap and sort it
also only add extension-less includes for .ts files (was accidentally commented out) and fix some .js imports without extension
2021-06-12 11:44:28 +02:00
nathangray
d6c6e14abf * Api: Prevent invalid customfield names
(cherry picked from commit ae86eb7812)
2021-06-11 13:18:03 -06:00
nathangray
6ef766edf0 Etemplate: Better error message for parse errors in xml strings (not files)
This happens in things like Transformer, where we generate some XML for parsing

(cherry picked from commit 7cf7c5a638)
2021-06-11 13:17:55 -06:00
nathangray
a024baeef6 * Api: Clear initial load URL after using it, so F5 takes you to the app's normal entry point
(cherry picked from commit 9219536c2f)
2021-06-11 13:17:44 -06:00
nathangray
8a666c751f Etemplate: Make some statustext readable by screenreader
(cherry picked from commit 5aba575d25)
2021-06-11 13:17:34 -06:00
nathangray
2c2563eccf Fix PUSH new entries did not show if filter had multiple values
(cherry picked from commit 0caabaf516)
2021-06-11 13:17:27 -06:00
Ralf Becker
26e186fb8c fix typo (smallPART) and compress login image 2021-06-11 15:42:29 +02:00
Ralf Becker
f503f7139a EgwApp object need to be global / assigned to window.EgwApp
as that's how we iterate through all EgwApp instances for observer and push
2021-06-11 15:21:18 +02:00
Ralf Becker
78e30f1a27 load egw_ready.js again 2021-06-11 15:05:44 +02:00
Ralf Becker
587c4fd8fd fix not working add in calendar (et2_valueWidget not defined)
instead of checking widget to be instance of valueWidget (which would create a circular dependency) we check for the interface/methods of valueWidget
2021-06-11 14:50:46 +02:00
Ralf Becker
89967336e2 removed app_base.js from egw.js requirement to not pull in etemplate, but had to move app to egw.js too 2021-06-11 13:48:09 +02:00
Ralf Becker
4752331427 fixed all errors in calendar, thought it's still not ok
also fixed a couple of errors in egw_action
2021-06-11 11:31:06 +02:00
Ralf Becker
771d6c727f got mail app.js incl. jsapi/app_base.js working
plus marking et2 methods returning promisses as async and removing cache-buster from includeJS calls in egw_action_common.js as it causes double loads
2021-06-11 10:11:13 +02:00
Ralf Becker
1f4ba0156a remove (unused) etemplate2 import causing login page to constantly reload 2021-06-11 09:11:28 +02:00
Ralf Becker
ed1c35d28b some small fixes 2021-06-11 09:06:25 +02:00
Ralf Becker
e18832e110 defer calls to app.* after et2_load is finished
changing et2_load egw_json plugin to return a promise for that
2021-06-11 09:05:57 +02:00
Hadi Nategh
81c4df47f2 Revert accidentally deleted file 2021-06-10 16:03:26 +02:00
Ralf Becker
e4ac5b2268 got et2_htmlarea/TinyMCE working in edit resources 2021-06-10 15:53:52 +02:00
Hadi Nategh
9ea598070e Get vfs and expose working 2021-06-10 15:52:00 +02:00
Hadi Nategh
54fff9739a Add more missing import statements 2021-06-10 15:40:49 +02:00
Ralf Becker
77a4aad7d6 got tree-actions in admin working and fixed tutorials (et2.load() stalled if no app.js or lang-files) 2021-06-10 14:54:30 +02:00
Hadi Nategh
31c7b87faa Add splitter.js and make et2_dialog available globally 2021-06-10 14:21:41 +02:00
Hadi Nategh
f4d2ddde7d Get magicsuggest and tree widget working 2021-06-10 14:07:02 +02:00
Hadi Nategh
0de8f242aa Fix missing dhtmlx menu object 2021-06-10 13:59:12 +02:00
Hadi Nategh
0730d4880e Remove couple of more jquery import statements 2021-06-10 13:57:33 +02:00
Ralf Becker
c51275fde3 got admin index incl. et2_tree and et2_date_ro working 2021-06-10 13:53:07 +02:00
Ralf Becker
5298336886 include jquery and other legacy js files via script tag 2021-06-10 11:38:54 +02:00
Ralf Becker
40cac6f964 generate a non-request specific importmap, as we ajax_exec apps and then not reload importmap 2021-06-09 19:00:53 +02:00
Hadi Nategh
42305a6562 Fix some imports for et2 widgets 2021-06-09 14:28:29 +02:00
Ralf Becker
08d7b7df3e fix async loading caused app.js not being loaded before et2.load() tried to instantiate it 2021-06-09 11:21:52 +02:00
Ralf Becker
38cb855017 fixing a couple more imports to get addressbook list show up 2021-06-09 11:11:34 +02:00
Ralf Becker
c440dffa54 exporting functions 2021-06-09 10:31:22 +02:00
Ralf Becker
027c087a06 remove egw_app dependency and only import et2, if there is an eTemplate on the page
stops login-page from loading eT2 stuff
2021-06-09 10:13:51 +02:00
nathangray
488f01aea9 Etemplate: Only re-set label if the new value is different
Fixes initialization could clear the link text if value was set first
2021-06-09 08:41:07 +02:00
Ralf Becker
bfea641321 fix async loading caused app.js not being loaded before et2.load() tried to instantiate it 2021-06-08 17:13:30 +02:00
Ralf Becker
8fa2bb466b fixed includeJS causing jQuery to be included twice and breaking plugins 2021-06-08 15:11:37 +02:00
Ralf Becker
304dbb95ab got empty nextmatch in timesheet working 2021-06-08 14:11:59 +02:00
Ralf Becker
f91bca83e1 got et2 mostly working: timesheet.edit renders 2021-06-07 17:33:53 +02:00
Ralf Becker
592b7fb97d replace LAB.js with native es5 loading 2021-06-05 20:39:39 +02:00
nathangray
f4bcda7aaf Api: Fix Asyncservice did not have proper filesystem access as the job user 2021-06-04 13:58:59 -06:00
nathangray
be34aa1834 Etemplate: Change r/o URLs to use label as link text 2021-06-04 10:50:23 -06:00
Hadi Nategh
ab3ee4ffbb Clear xml errors in buffer after using xml in Mail otherwise it may get caught wrongly further in etemplate widget 2021-06-04 11:19:11 +02:00
nathangray
d0e7664eaa Etemplate: Give date-duration number a little more space. It can now fit "10.25" 2021-05-31 14:16:33 -06:00
nathangray
200aebd171 Etemplate: Fix taglist input was not getting name attribute set since c3bebf9c31 2021-05-31 09:39:30 -06:00
Ralf Becker
67a6a9f1f3 implement (increment|decrement)Cache to avoid race-conditions if multiple processes update a value
implemented in memcached and APCu backends, default implementation using get&set in base-class
2021-05-27 12:29:51 +02:00
Ralf Becker
3248e82d65 * Setup: skip files backup on update even if configured
It might takes the server down for hours and updates usually dont affect the files
2021-05-27 08:49:20 +02:00
Ralf Becker
c4bcae0598 store some lock-data, so only a single callback calculate data on cache-miss
done to avoid race-conditions where many processes try to fetch and therefore calculate some expensive to calculate data
eg. mass-mailings in our hosting
2021-05-26 11:38:36 +02:00
Ralf Becker
d3d8ff3493 * Mail/Admin: fix not working mail wizard
caused by loading app.js again and therefore this.et2 is not set --> only load / use egw.applyFunc() if not already set
2021-05-25 18:25:11 +02:00
Ralf Becker
547f28fe3d report and log enabling push (and other IMAP errors)
don't switch regular reload handling off in that case
2021-05-25 17:47:25 +02:00
Ralf Becker
03469add3e * SmallPART: concatenate and minify all Java/TypeScript files to speed up loading 2021-05-25 08:21:17 +02:00
Ralf Becker
39ad3a7977 port csv-export from old eTemplate nextmatch to separate Api\Etemplate\Export class to not have to rely on old eTemplate 2021-05-23 08:58:47 +02:00
nathangray
5fbdd1376a Fix PHP warnings for PHP 8 compatability 2021-05-21 10:43:52 -06:00
Ralf Becker
43b04bb21b Changelog for 21.1.20210521 2021-05-21 18:19:52 +02:00
nathangray
34ec8e6cb3 Api: Fix accounts list (Sql) would be empty after refresh if there were less than 50 accounts
- Fix some accounts backend were not returning results indexed by account ID
2021-05-21 09:16:25 -06:00
Ralf Becker
d885e05250 21.1 login background 2021-05-21 15:32:38 +02:00
Hadi Nategh
0e69c8c800 Fix opening an app link as popup loses it's opener when its origin app tab is not loaded 2021-05-21 12:40:08 +02:00
Ralf Becker
5e151a6210 export hbox widget and mark parameter in getDOMNode() optional 2021-05-21 12:25:29 +02:00
Ralf Becker
f113d9d880 fix PHP Warning on login page 2021-05-21 09:51:48 +02:00
nathangray
2c14226ee5 Api: Respect do_symlink flag to keep links as links
Fixes troubles with syncing
2021-05-20 11:54:06 -06:00
Ralf Becker
069cf4c3ac fix security exception if opener is from a different security context eg. LTI opening in a new window 2021-05-20 16:44:35 +02:00
Ralf Becker
450febb623 fix security exeception if opener is from a different security context eg. LTI opening in a new window 2021-05-20 16:35:54 +02:00
nathangray
6790ffb273 Etemplate: Changes to adapt to get/set in valueWidget interface 2021-05-19 13:54:56 -06:00
nathangray
94f5c437e8 Etemplate: add get/set_value() to valueWidget interface 2021-05-19 11:15:12 -06:00
Ralf Becker
8ec590a068 fix some real typos 2021-05-19 18:29:03 +02:00
Ralf Becker
bd95db7609 * AD: fix account-selection type "groupmembers" caused high load on AD
also caching groups now on instance level instead of session
2021-05-19 18:26:55 +02:00
nathangray
aad2a77666 JS quality improvement
- add missing declaration
2021-05-19 10:01:07 -06:00
Ralf Becker
166718a22c remove config allowing to immediately delete contacts (as it's required for sync) 2021-05-18 14:02:51 +02:00
Hadi Nategh
b9eecb9771 Fix some icons in login apps bar 2021-05-18 09:49:02 +02:00
nathangray
fcd5ed7b59 Fix clicking sidebox entries closed the category 2021-05-17 14:59:34 -06:00
Ralf Becker
68e216abea fix missing the widget argument 2021-05-17 22:03:32 +02:00
Ralf Becker
fcbe746755 dynamic load app.js file for "app.$app.$func" type handlers, if not already loaded
so eg. a config.xet run by admin app could call a handler from the apps own app.js
2021-05-17 21:45:24 +02:00
nathangray
a4199de696 Etemplate: fix date widget popup could not be clicked 2021-05-17 11:49:56 -06:00
nathangray
a615b2dd9c Api: Fix sidebox category expand/collapse on click, broken in 45e477f0c0 2021-05-17 10:02:23 -06:00
Hadi Nategh
67fb220778 Check popup blocker for when trying to open mail compose popup from filemamanger/Collabora 2021-05-17 16:27:51 +02:00
Ralf Becker
aea7a5c0f2 * ADS/LDAP: improve caching of searching/listing 2021-05-16 20:42:47 +02:00
Ralf Becker
c4d9455fb4 allow to change video via set_src (and set_src_type) 2021-05-15 20:26:28 +02:00
Ralf Becker
53c20ed5f7 allow to pass JSON serialized date-array with date&timezone to constructor 2021-05-14 20:24:14 +02:00
nathangray
40bd7719bb Actually add the file from 6fa68c3863 2021-05-14 10:55:42 -06:00
nathangray
08800b83c9 Fix symlinks were opened read-only in Collabora 2021-05-14 09:43:30 -06:00
nathangray
8e01929a43 API: Keyboard navigation for context menu 2021-05-13 15:09:53 -06:00
nathangray
c3bebf9c31 Widget accessibility improvements 2021-05-13 10:01:38 -06:00
nathangray
5bc74522c5 Api: Fix context menu button did not open context menu 2021-05-12 13:14:03 -06:00
nathangray
45e477f0c0 * Api: Sidebox accessibility improvements
- Using nav elements for sidebox categories
- Add keyboard support for expand/collapse menu categories
- Use lists for entries
- Added some roles for screenreaders
2021-05-12 13:14:03 -06:00
Hadi Nategh
89e67616de WIP login Ui:
- Re-arrange registration links
- Fix bg colors
- Fix social icons padding
2021-05-12 12:37:35 +02:00
nathangray
6fa68c3863 We've got the SVG from Stefan now 2021-05-11 15:06:03 -06:00
Ralf Becker
b3f1738f05 fix typo causing number of failed attempts on IP whitelist not to be used 2021-05-11 11:20:25 +02:00
nathangray
b4b38d54ff Get rid of any extra whitespace in break string 2021-05-10 15:38:07 -06:00
nathangray
a94345bbed Etemplate: let break_title be optional based on space, and keep the actual characters 2021-05-10 11:55:22 -06:00
nathangray
dd9352e9c4 Etemplate: Fix links with title provided always displayed loading spinner 2021-05-10 11:00:41 -06:00
Hadi Nategh
20c464a161 WIP login Ui:
- Get login messages the same style as egw messages
- Arrange logo and social icons
2021-05-10 16:35:05 +02:00
Ralf Becker
1f010a4391 Bump version to 21.1 2021-05-08 15:02:24 +02:00
Hadi Nategh
d69b16f881 Add extra icons for login apps content 2021-05-07 12:15:20 +02:00
nathangray
3ada84be0f Tracker: Fix notification dates could be in wrong timezone 2021-05-05 11:57:21 -06:00
nathangray
d367da6ba8 Etemplate: switch to tab of first invalid input, not last 2021-05-05 10:09:31 -06:00
Hadi Nategh
47c7570862 Prevent vfs select dialog destroying session becuase of not being able to find the right app name (eg. admin mail account where app is different than current app) 2021-05-05 16:51:19 +02:00
Ralf Becker
9bc7583711 * AD/Login: fix login always reports "account is expired", if account-selection "group-members" is set for AD 2021-05-05 15:45:30 +02:00
Hadi Nategh
82ab8d9092 WIP login Ui: add motion into apps list 2021-05-03 17:13:04 +02:00
Hadi Nategh
635ca0a89d WIP login ui:
- Move login.json file into pixelegg
- Include icons into json file
2021-05-03 13:21:01 +02:00
Hadi Nategh
1d843eabcd WIP login Ui:
- Arrange apps in the json file and add more details
- Open app's url in a new window
2021-05-03 12:03:28 +02:00
Ralf Becker
52bbfbef0b allow "{one phrase} {other phrase}" syntax in all attributes marked as translate eg. labels 2021-05-01 14:22:34 +02:00
nathangray
84e03fe334 Addressbook: Fix contact categories were cleared when DAVx5 synced some Android clients 2021-04-30 09:26:00 -06:00
Hadi Nategh
41ab849ecc WIP login Ui
- Implements apps tooltip
2021-04-30 14:58:41 +02:00
Hadi Nategh
faadfbdc23 Fix loading login json file 2021-04-29 18:22:38 +02:00
Hadi Nategh
39eef44217 WIP login page Ui 2021-04-29 15:24:25 +02:00
Ralf Becker
eefd8ed972 improve egw.langRequire to return a Promise, if no callback specified 2021-04-29 09:45:16 +02:00
nathangray
8fb0048c17 Fix linking an image/svg+xml image to an unsaved entry would give an error
An error happened! (EGroupware\Api\Exception\AssertionFailed): File 'true' is not an absolute path!
was generated because we tried to use webdav.phptrue as the thumbnail
2021-04-28 12:00:02 -06:00
Hadi Nategh
3f3748dc87 fix uploaded photo in avatar widget not being updated after cropping it. Additionally, fixes avatar size used in lists (eg. nm) 2021-04-28 12:45:12 +02:00
Ralf Becker
d469d56f7c use height: auto for avatar in grid
use full width for buttons in dialogs
2021-04-28 10:16:45 +02:00
Hadi Nategh
59dbd27719 Fix mail integration fails for mails with having not encoded ampersands on their html content 2021-04-27 17:41:34 +02:00
nathangray
ba075853d7 Sidebox hrule
- Lighter color
- more spacing below
- removed calendar's specific CSS, use common
2021-04-23 10:03:52 -06:00
Hadi Nategh
5fd83ae3eb Fix error "Unexpected token '?'" happens for none ES11 supportive browsers 2021-04-23 12:16:17 +02:00
Hadi Nategh
a49ac9648e Implement throbber for mobile framework 2021-04-22 16:00:52 +02:00
nathangray
8ec1e46ea4 Etemplate: Catch errors when destroying editor so we can see what's going on, and not break 2021-04-21 15:38:10 -06:00
Ralf Becker
c7142c96e0 Changelog for 21.1.20210420 2021-04-20 17:51:50 +02:00
Ralf Becker
df5cce7a74 * SAML/Shibboleth: fix metadata-URL to container eduPersonUniqueId or a custom OID, if specified 2021-04-20 17:34:20 +02:00
Ralf Becker
8df0ba3d70 fixes required for EPL firewall 2021-04-20 15:51:36 +02:00
Hadi Nategh
c370941c51 Keep private app objects if dialog gets destroyed 2021-04-20 15:30:46 +02:00
Hadi Nategh
1a72732c3d Fix typo 2021-04-20 14:45:28 +02:00
nathangray
f89c8cfb03 Add hrules to sidebox menus 2021-04-19 16:02:41 -06:00
nathangray
df8251603f Add missing parameter type 2021-04-19 16:01:17 -06:00
nathangray
35fd51da86 Add table name in when parsing search
Also, some code quality fixes
2021-04-19 14:34:53 -06:00
nathangray
51f9177634 Try harder for nextmatch template name so it can be passed to hooks. If it can't be found in value, look in original attributes. 2021-04-19 10:42:48 -06:00
nathangray
50b4067299 Add handling for confirm on button click that better matches normal execution path
This works better for buttons that are in a namespace
2021-04-19 10:09:49 -06:00
Hadi Nategh
2defb9a704 Fix framework app tab loses its hint content after reload 2021-04-19 16:12:58 +02:00
Hadi Nategh
85feb685f3 Ask the right app when getting appObjectManager, appname might not always be the current app (e.g. running app content under admin tab) 2021-04-19 14:00:38 +02:00
Hadi Nategh
fb83d97150 Implement loading aware framework animation 2021-04-19 10:17:47 +02:00
Ralf Becker
fb30713cbb fix not working load_via parameter 2021-04-18 21:07:38 +02:00
Ralf Becker
6e8596dfc6 pending translations from our translation server 2021-04-18 20:25:45 +02:00
Ralf Becker
d144d65fe9 fix double encoding of backlash in class-names 2021-04-17 09:45:44 +02:00
nathangray
4f0c7250da Fix error when linking to new entry
"Invalid datetime format: 1366 Incorrect integer value: '#97056a438e3c1ab04fd0f0ae46ad6b13' for column ... fs_dir"
2021-04-15 10:25:18 -06:00
nathangray
fb2abd8915 Get all VFS tests passing
on my machine, at least...
2021-04-14 14:22:04 -06:00
nathangray
3027123fbd Set a timeout on curl so we fail faster 2021-04-14 10:59:49 -06:00
nathangray
d9b29fa82a Fix shares could not find files after fe79fe390f 2021-04-14 10:58:42 -06:00
nathangray
602c08556d Don't try quite so hard to search for select options
It was finding & using ALL options if there was a namespace in the selectbox ID, but no options found.
2021-04-13 16:00:43 -06:00
nathangray
826d9e27cc * Timesheet: Fix created was overlapping with status 2021-04-13 13:28:56 -06:00
Hadi Nategh
4af0bec278 * Mail: fix losing inline images after being re-saved as draft or created as new 2021-04-13 13:23:09 +02:00
nathangray
fe79fe390f Avoid caching when the url contains links, avoids problems with eg: /apps/InfoLog/Open/2021 2021-04-12 10:31:35 -06:00
Hadi Nategh
19c7162274 Fix positions for html editor bullist and numlist actions 2021-04-12 11:29:18 +02:00
Hadi Nategh
94877851c1 Set iframe feature policy of fullscreen for apps running in iframe 2021-04-12 11:18:08 +02:00
Hadi Nategh
e88c4edea2 Fix php 8 errors 2021-04-08 18:36:46 +02:00
Hadi Nategh
b5540c7288 Fix mail content styles 2021-04-08 11:31:36 +02:00
Ralf Becker
8daf1f43f7 fix PHP error: Call to a member function contentTypeMap() on null 2021-04-08 10:19:15 +02:00
Ralf Becker
dfdb300f5f fix PHP 8 error: array_merge() does not accept unknown named parameters 2021-04-07 21:41:11 +02:00
Ralf Becker
c9a478c3d2 change getRoot() to return et2_container to get (g|s)etValueById() and friends working without a cast 2021-04-07 16:28:21 +02:00
Ralf Becker
e03b1aeb16 fix PHP 8 error: key() Argument #1 must be of type array, null given 2021-04-07 13:12:32 +02:00
Ralf Becker
673760f59d * Setup/SAML: fix not stored custome OID and added eduPersonUniqueId 2021-04-07 10:07:56 +02:00
Ralf Becker
9e3ce0db2b Changelog for 21.1.20210406 2021-04-06 17:15:39 +02:00
Hadi Nategh
d29459d9e5 Ignore browsing apps with their status 5 and index set to none 2021-04-06 17:09:31 +02:00
Ralf Becker
4045c06896 fix PHP 8 errors 2021-04-06 15:32:21 +02:00
Ralf Becker
94e0a536a4 pending translations from our translation server 2021-04-06 09:41:17 +02:00
Ralf Becker
c92bfa822f fix PHP 8 Fatal error caused by not parsable URL like "<scheme>://<user>@/path" (missing domain) 2021-04-06 09:19:54 +02:00
nathangray
060710a74a Make sure we can log all throwables, not just exceptions 2021-04-05 10:46:50 -06:00
nathangray
1277d2f05a Fix translation issues reported by Stefan Unverricht 2021-04-05 09:25:18 -06:00
Ralf Becker
7ae4d44308 fix PHP 8 errors 2021-04-02 19:34:11 +02:00
Ralf Becker
7135243d06 nicer implementation of CreateObject and some small fixes 2021-04-02 10:47:52 +02:00
nathangray
4ab170541e Api: Fix incorrect extended ACL check was done when symlinking 2021-04-01 10:28:06 -06:00
Ralf Becker
fed41622c2 fixing all sorts of PHP 8 errors and PHPStorm errors 2021-03-31 17:50:01 +02:00
Ralf Becker
0efa9ae141 docu update 2021-03-31 17:50:01 +02:00
Ralf Becker
37e5e12c3c PHP 8 fix: adding explicit cast for comparing DB-version to a float major number 2021-03-31 13:31:42 +02:00
Ralf Becker
79040d1524 disable warnings under PHP 8 for now, as the hide fatal errors and log errors in xet files 2021-03-31 11:30:34 +02:00
nathangray
72b00c0422 Fix missing translation 2021-03-30 11:04:19 -06:00
nathangray
d5aacd190d Add 'no_quick_add' link registry setting so apps can opt out of the quick add 2021-03-30 10:12:29 -06:00
Ralf Becker
8f1383b973 replace create_function no longer available in PHP 8 2021-03-29 20:33:07 +02:00
Ralf Becker
e132cb0603 fix more then 59 seconds set for "hms" 2021-03-29 18:02:55 +02:00
Ralf Becker
868135775c PHP 8 fixes 2021-03-29 16:47:19 +02:00
Ralf Becker
02c3feb95d Changelog for 21.1.20210329 2021-03-29 14:30:54 +02:00
nathangray
b4dd62de69 Api: Avoid infinite loop if requested file does not actually provide the class 2021-03-26 09:06:34 -06:00
nathangray
67ab00ad05 Etemplate: Fix some missing bits in searchbox 2021-03-25 11:21:45 -06:00
nathangray
1b184c11c8 Api: Avoid "Uncaught TypeError: egw_globalObjectManager is null" from popups 2021-03-24 14:54:35 -06:00
nathangray
87ff6842ea Api: Stop annoying "column saved" message that kept coming up 2021-03-24 10:21:02 -06:00
Ralf Becker
05cd66fa09 set minimum PHP version for 21.1 to 7.3 and recommend to 7.4 (PHP 8.0 is still NOT supported) 2021-03-24 08:04:54 +01:00
nathangray
65c61c0625 If action exec uses function from not yet loaded app, load it 2021-03-23 16:33:39 -06:00
nathangray
e3a1d1b338 Fix static var accessed as a constant 2021-03-23 16:23:23 -06:00
Ralf Becker
0faafe8eee fix "Virtual List View error" caused by not set search attribute
also retry without VLV control in that case
2021-03-23 13:55:17 +01:00
nathangray
d0c5f3c09b Commit changes from update to TypeScript 3.9.9 so we don't keep reverting them. 2021-03-22 11:42:50 -06:00
nathangray
93adb0dca5 Fix clicking on a link to app entry (not file) threw JS error instead of opening 2021-03-22 11:18:16 -06:00
nathangray
534c188d25 Put selected columns into nextmatch value so columns are saved in favourites 2021-03-22 11:09:41 -06: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
Ralf Becker
52e8aff9ae fix PHP 8 Fatal error undefined constant EGW_API_INC 2021-03-21 21:10:37 +01:00
Ralf Becker
3e278b3bd3 fix PHP 8.0 Fatal error: Array and string offset access syntax with curly braces is no longer supported 2021-03-21 18:47:15 +01:00
Ralf Becker
ffc048d472 fix PHP 8.0 Fatal error unknown function get_magic_quotes_gpc 2021-03-21 18:27:09 +01:00
Ralf Becker
dac55616af fix PHP 8.0 Fatal error 2021-03-21 18:25:14 +01:00
Ralf Becker
eb2b3943d7 fix Db errors with PHP 7.4+
caused by private $this->app not stored in session when Db\Depricated was instaciated
also move $GLOBALS[egw]->ADOdb to a static class var to fix session restore order caused $GLOBALS[egw] not yet restored giving a warning
2021-03-21 17:39:34 +01:00
Ralf Becker
b79971a1e9 set columns to search for phoneSearch for non-SQL backends too 2021-03-21 12:56:59 +01:00
Ralf Becker
fc50aa6312 phonesearch: LDAP or AD backend only search for local part hopefully stored without any formatting 2021-03-21 10:39:26 +01:00
Hadi Nategh
98813ef055 Fix darkmode get switched on in session when there's no preferences yet 2021-03-18 16:32:21 +01:00
Ralf Becker
ab6258f3be Changelog for 21.1.20210318 2021-03-18 08:32:10 +02:00
nathangray
ce17d087c1 Fix hidden upload share link would not work for logged in user that was not share owner 2021-03-17 11:34:09 -06:00
nathangray
c21af32c1b Fix hidden upload share link would not work for logged in user 2021-03-17 11:17:06 -06:00
nathangray
b1a4006b02 Remove selected types from clipboard tooltip, nobody used them and they weren't translated. 2021-03-17 10:29:43 -06:00
Hadi Nategh
ff1ac017ce Add tooltip for sidemenu toggle button 2021-03-17 15:29:40 +01:00
Hadi Nategh
739bfb482b Compact theme:
- Fix framework tabs not being able to get closed
- Fix some styling
- Fix framework tabs are overriding last active opened tab
2021-03-17 14:00:33 +01:00
nathangray
47d2f433d6 Fix missed fstab mount kept unmounted shares around 2021-03-16 11:38:44 -06:00
nathangray
15b0ecec22 Solve the problem with mail selecting the next mail and marking it as read when you move a mail by turning off the select-next-row thing for mail 2021-03-16 11:06:48 -06:00
Ralf Becker
06907d040b fix hidden upload sharing incl. use of multiple share-links in tabs 2021-03-16 15:03:15 +02:00
Hadi Nategh
ec18782513 Exclude audio types from gallery list 2021-03-16 14:02:14 +01:00
Hadi Nategh
0f0b6e4154 Implement basic audio player for audio expose 2021-03-16 13:23:54 +01:00
Hadi Nategh
886884feea Fix applications' tabs losing their sidebox app header after reload 2021-03-16 11:33:01 +01:00
Ralf Becker
2aff05757e fix home-directories where created with wrong permissions, as Vfs::$is_root was wrongly evaluated 2021-03-15 11:41:53 +02:00
Ralf Becker
fa0e7715c1 mark context as optional parameter 2021-03-15 08:57:45 +02:00
Ralf Becker
46c4e0e118 add daily cache-buster to client-side included app.js files for applyFunc 2021-03-12 11:23:26 +02:00
nathangray
1ffde3b692 Change global sharing variable to be a list of shares in use, indexed by token. This should resolve the issues with multiple shares being accessed in the same session. 2021-03-11 17:00:16 -07:00
nathangray
ba84d3170d Api: Improve handling of accessing multiple shares (Collabora or directory) in new tabs while logged in 2021-03-11 09:50:12 -07:00
nathangray
657119b389 Api: Fix Links/StreamWrapperTest->testWithAccess() was failing due to no app permissions 2021-03-11 09:30:11 -07:00
Hadi Nategh
eed827fccd Add missing audio widget js 2021-03-11 12:36:32 +01:00
Hadi Nategh
72c334be02 Allow custom image url for et2_dialog buttons 2021-03-11 12:09:53 +01:00
Hadi Nategh
c089e73678 Implements et2_audio widget 2021-03-10 14:52:32 +01:00
Hadi Nategh
864b896ad6 Fix issue after closing a tab app next available tab wont get selected properly 2021-03-10 11:56:34 +01:00
Hadi Nategh
81d5574fff Fix opened application tabs belong to app with status 5 don't get restored after reload 2021-03-10 10:07:39 +01:00
Ralf Becker
fcc5c80244 match tel_assistent last, as it moves contacts to the end of the search result 2021-03-10 09:14:30 +02:00
Ralf Becker
dc41db9741 fix reverted regular sort order 2021-03-09 20:57:39 +02:00
Ralf Becker
646a04630d sort assisten phone matches to the end of the list 2021-03-09 20:49:12 +02:00
nathangray
cc06432951 Api: Log an error if the thumbnail cache directory does not exist and cannot be created 2021-03-09 11:08:03 -07:00
Hadi Nategh
e5674bbc5d Fix missing mailvelope readonly properties from egw_app object 2021-03-09 15:19:27 +01:00
Ralf Becker
a10b772516 fix PHP Notice: Undefined offset 2021-03-09 09:19:15 +02:00
Ralf Becker
d2626085f6 fix wrong context causing eg. attachments to mail to no longer work 2021-03-08 21:20:11 +02:00
nathangray
8063d65303 Check that some things exist before trying to use them 2021-03-05 09:30:02 -07:00
nathangray
95f84454be Silence some warnings & debug 2021-03-05 09:13:12 -07:00
nathangray
19bd3a03b0 Addressbook: Update CRM view contact info in sidebox if it's changed by push message 2021-03-04 13:53:52 -07:00
nathangray
df54dcace4 Apply client-side push refactoring to calendar, infolog, timesheet 2021-03-04 11:27:35 -07:00
Ralf Becker
58ae23c74c allow "app.<appname>.<method>" in link registry and use it to open CRM view 2021-03-04 11:50:13 +02:00
nathangray
a8278b37ff Fix editable link opened by original user in new tab gave "Requested resource '/' does NOT exist!" 2021-03-03 14:23:42 -07:00
Ralf Becker
7e4ccc8311 fix some points in top-menu and probably some other stuff using et2_call were not working 2021-03-03 19:13:45 +02:00
Ralf Becker
6ae1195c38 missing file from a467bab return hashed appName of opened tab eg. to set notifcation counter 2021-03-03 19:13:45 +02:00
nathangray
17bb594242 German translation of colour from Stefan Unverricht 2021-03-03 09:41:02 -07:00
nathangray
4d6b136432 Add "colour" as common translatable phrase 2021-03-03 09:40:18 -07:00
nathangray
4d9a30a041 Etemplate: Fix missing tooltip on toolbar checkboxes 2021-03-03 08:53:19 -07:00
Ralf Becker
a467bab01f return hashed appName of opened tab eg. to set notifcation counter 2021-03-02 21:00:59 +02:00
Ralf Becker
7a060b205b not overwriting call and apply method of egw function/object using callFunc and applyFunc instead, fixes several problems 2021-03-02 12:16:47 +02:00
Ralf Becker
89d6dc8650 Fixing the fix Undefined constant DateTime 2021-03-02 10:25:11 +02:00
Ralf Becker
b1af8449fd Fix ErrorException: Object of class EGroupware\Api\DateTime could not be converted to string
It's happening as we removed __toString method from Api\DateTime to allow again direct comparing with comparison operators
2021-03-02 09:37:43 +02:00
Ralf Becker
9691a14279 interface for nm getValue() and activeFilters 2021-03-01 23:08:13 +02:00
Ralf Becker
41346235ab pending translations from our translation server 2021-03-01 20:34:07 +01:00
Hadi Nategh
96c0f54581 Fix extra tabs opened not keeping their orders after reload 2021-03-01 17:30:33 +01:00
Ralf Becker
dc6f937f02 reverting using app from parameter object 2021-03-01 13:41:27 +02:00
Ralf Becker
e36c6c4cec move global et2_call function to egw.call and egw.apply methods, ensuring app.js is loaded, if not yet loaded, also using that as apply plugin for egw.json 2021-03-01 11:50:41 +02:00
nathangray
9128d15bb2 Etemplate: Fix some load bugs
- tabs got doLoadingFinished() multiple times if tablist was modified by data
- selectbox with cached options did not load correctly first time
2021-02-26 15:22:47 -07:00
Ralf Becker
a41865209c stop SQL error, when using account-type with name2id($name, "person_id", "u") 2021-02-26 21:57:11 +02:00
Ralf Becker
034a8e1611 square logo in svg and adding this to manifest.json 2021-02-26 17:31:35 +02:00
Hadi Nategh
e5ea49a565 Fix youtube video autoplays itself after being seekTo on initiation. 2021-02-26 13:17:54 +01:00
Hadi Nategh
925285d370 Fix youtube video not being played for after initiation 2021-02-26 10:16:12 +01:00
nathangray
1eb174d3f7 For push update filter, consider empty array as having no value 2021-02-25 13:59:32 -07:00
nathangray
158e65fc90 Take contact shares into account for push ACL checks 2021-02-25 09:11:39 -07:00
Hadi Nategh
1f41bba904 Fix youtube API loading player after initiation 2021-02-25 13:51:20 +01:00
Hadi Nategh
2d4b0b8259 Fetch youtube videoid from url 2021-02-25 11:19:26 +01:00
nathangray
3c72462b5e Enable push for addressbook
Refactor EgwApp.push() to cover more common stuff for simpler app code
2021-02-24 09:18:42 -07:00
Hadi Nategh
2a2f0bf390 Keep darkmode state in serverside session too. Fix darkmode state in egroupware iframes. 2021-02-24 12:22:27 +01:00
Ralf Becker
924650827c new 21.1 logos 2021-02-24 08:39:46 +02:00
Hadi Nategh
a67e433396 WIP Mobile and Compact theme styling improvements:
- Fix logout button not displayed in Compact theme
2021-02-23 16:21:38 +01:00
Ralf Becker
cf9e3ae4e1 WIP to display calls in calendar 2021-02-23 00:16:51 +02:00
Ralf Becker
907b33454a date-duration select_unit=false must show full value for highest display unit, not just the remainer
value=3600 with display_format=m:s must show "60:00" not "00:00"
2021-02-22 10:52:15 +02:00
Ralf Becker
319c0e6af4 use CRM view preference in CTI 2021-02-19 21:30:50 +02:00
Ralf Becker
fdecefebd4 fix exception when trying to store a DateTime 2021-02-19 21:30:50 +02:00
Ralf Becker
e1b9d993a5 missing phoneSearch commit to only search certain numbers, if specified and fix for a typo causing a warning 2021-02-19 21:30:50 +02:00
Hadi Nategh
f89eff7dfe Use box-shadow around avatars instead of border, borders in zoomed mode would cut edges. 2021-02-19 11:16:31 +01:00
nathangray
c319478816 Fix readonly shares were mounted as writable when shared to another user 2021-02-16 16:14:32 -07:00
Ralf Becker
e54aebebca xml tags must not include undeclared namespaces like: <link-entry:infolog
Reinstating "throw an exception on XML errors in eTemplates for easier fixing"

This reverts commit 18b7d9311c.
2021-02-16 21:52:40 +02:00
nathangray
4b6551c5a3 - Fix missing quote when updating shares with VFS changes
- Fix user delete entry search for single user
2021-02-16 11:53:32 -07:00
nathangray
18b7d9311c Revert "throw an exception on XML errors in eTemplates for easier fixing"
This reverts commit 81b4737710.
2021-02-16 11:39:38 -07:00
Hadi Nategh
1501df227a WIP integrating youtube video:
- fix ontimeupdate event
- fix currentTime for youtube type
- fix not working play_video
- fix video not getting a fullwidth
2021-02-16 18:00:46 +01:00
Ralf Becker
81b4737710 throw an exception on XML errors in eTemplates for easier fixing 2021-02-16 17:38:47 +02:00
Ralf Becker
57d5176080 remove non-digits and only search phone-numbers in phoneSearch 2021-02-15 21:28:39 +02:00
Hadi Nategh
f5e165a07a WIP integrating youtube video frame api into video widget 2021-02-15 16:58:19 +01:00
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
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