Commit Graph

3856 Commits

Author SHA1 Message Date
nathan
312bf62adc Implement readonly for date widget 2021-11-01 10:21:08 -06:00
nathan
76d7447dab Merge branch 'master' into web-components 2021-11-01 09:37:26 -06:00
nathan
be6146661d Api: Fix check of disabled attribute was misbehaving if the value was null or 0
This showed up when validating tracker config, some rows were disabled with disabled="@tracker".  When tracker=0, they did not return their value.
2021-10-28 14:02:13 -06:00
Ralf Becker
c15cb2de41 add $depth parameter to Vfs::checkLock($url, int $depth=0) and use it to query all locks in one go for filemanager_ui::get_rows() 2021-10-28 21:08:31 +02:00
nathan
a794adfcf2 API: Make sure memberships is an array to avoid other errors (PHP 8.0) 2021-10-27 13:38:05 -06:00
Ralf Becker
09cb38541b fix regression reported by @asig2016 after big warning fix 2021-10-23 09:55:20 +02:00
nathan
e3526d2bef Api: Fix "Unsupported operand types: array + bool" when infolog linked contact could not be read 2021-10-22 09:39:24 -06:00
Hadi Nategh
118b9c0e92 Fix onchange event not working for date-range widget 2021-10-22 13:16:33 +02:00
nathan
4e54c2b5a3 Api: Fix merge action files in subdirectories had their path as part of action caption instead of just the file name 2021-10-21 09:51:05 -06:00
Ralf Becker
b1af39be37 fix big chunk of PHP 8.0 warnings 2021-10-21 10:39:57 +02:00
nathan
3f5af3eeb2 Api: Change app placeholders list to use some more horizontal space, stop hiding common & user placeholders 2021-10-20 15:26:39 -06:00
nathan
82423d60bb Api: Fix cf sub-entry placeholder expansion was not passing content for placeholders like {{#customer/n_fn}} 2021-10-20 14:08:43 -06:00
Ralf Becker
f6d756a0c1 closing/commiting the session to speed up calendar loading 2021-10-20 13:53:41 +02:00
nathan
068e3feff0 Api: Fix setting the date min attribute to a number did not work
jQueryUI timepicker checks the type of variable
2021-10-19 14:15:37 -06:00
nathan
7a7f80f7d9 Api: Fix replacements from sub-apps (eg: infolog contact) were missing 2021-10-19 09:17:22 -06:00
nathan
2256a26327 Make date widget work a little better WRT timezones 2021-10-18 16:03:05 -06:00
nathan
fbbc466c78 Merge branch 'master' into web-components 2021-10-18 10:56:05 -06:00
nathan
cbe32069c2 Fix kanban merge into document stopped working with introduction of PDF checkbox 2021-10-18 09:42:12 -06:00
Hadi Nategh
0dd215d340 * Mail: Add set flags action into mail filters 2021-10-15 17:23:48 +02:00
nathan
33fcb4e657 Infolog: Avoid errors adding app replacements if incorrect parameters given 2021-10-15 09:09:53 -06:00
Hadi Nategh
75d119f31f * Mail: Implements date extension for vacation rule. None imap admin user can also set vacation rule by date. 2021-10-15 14:29:19 +02:00
nathan
93108177ce Remove unwanted use 2021-10-14 13:34:54 -06:00
nathan
aefeade501 Placeholder / merge translations 2021-10-14 09:05:12 -06:00
Hadi Nategh
524edf21d7 PHP8: fix lots of warnings 2021-10-14 14:14:58 +02:00
Hadi Nategh
e76ae2db32 Remove none existing mail connectionTimeout preference. Fixes warning of Undefined array key 'connectionTimeout'. 2021-10-14 11:34:56 +02:00
Ralf Becker
69782e833e fix PHP 8.0 error forwarding mail as attachment (calling count on null) 2021-10-14 09:39:01 +02:00
Ralf Becker
fe5a0b8567 fix PHP 8.0 error when converting an InfoLog into a ticket
Cannot access offset of type string on string
Also add line and file to our non-json exception handler, for easier identifying the problems
2021-10-14 08:05:22 +02:00
nathan
98ed7edda4 Fix incorrect default preference for merged document filenamer 2021-10-13 15:47:01 -06:00
nathan
965e100082 Fix expansion broken in ddddc5ba05
Caused export field checkboxes in new definition to not keep their value
2021-10-13 15:08:16 -06:00
nathan
918d91eb9b Fix ReflectionParameter::isArray() was deprecated as of PHP 8.0.0 2021-10-13 10:52:56 -06:00
nathan
047b86f38b Placeholders list common UI: different recursion check for better results
This one still puts simple customfields in, but just skips the linked apps cfs
2021-10-13 08:39:23 -06:00
Hadi Nategh
b84ef08c29 Set node property for inputWidget as it's expected to contain input node 2021-10-13 15:36:33 +02:00
Hadi Nategh
f454536165 WIP implementing Iframe widget:
- Get some styling
- An approach to display label slot
2021-10-13 12:17:07 +02:00
Hadi Nategh
76a1f3c584 WIP implementing Iframe widget:
- Add fullscreen option
2021-10-13 11:11:52 +02:00
nathan
7dba4b9284 Placeholders - avoid infinite recursion if apps have custom fields of other apps 2021-10-12 15:44:48 -06:00
nathan
9e2bb05ded Placeholders list common UI
Should reduce maintenance by using a common UI to show placeholders based on the placeholder list
2021-10-12 14:18:18 -06:00
Hadi Nategh
309e020324 Fix error "Non-static method Merge::get_all_ids() cannot be called statically" 2021-10-12 12:54:56 +02:00
Ralf Becker
7248b6649b fix a bunch of PHP Warnings 2021-10-12 11:51:28 +02:00
Ralf Becker
044aae3cf8 fix PHP 8.0 error: Undefined constant "EGroupware\Api\Contacts\cat_id" 2021-10-11 18:40:21 +02:00
Ralf Becker
f29a2b5ea8 fix PHP Warning: Illegal string offset 'tmp_name' 2021-10-11 14:02:46 +02:00
Hadi Nategh
13e717ce68 Merge pull request 8feac04979 #108 from Alexandros into the master 2021-10-11 10:34:19 +02:00
Ralf Becker
59794cc3a4 output line and file of exception as trace not always contain it 2021-10-09 08:43:32 +02:00
Hadi Nategh
be57764fa6 WIP implementing Iframe widget 2021-10-08 16:03:09 +02:00
Ralf Becker
a04cbc0ab4 an other chunk of PHP 8.0 Warnings fixed 2021-10-08 15:43:48 +02:00
Hadi Nategh
f62ff90444 Accept mail externalImages with long url 2021-10-08 14:30:04 +02:00
Ralf Becker
cb991f1243 fix Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given 2021-10-08 14:10:45 +02:00
Ralf Becker
fac81f660d fix PHP 8.0 errors around ACL dialog and policy:
- bitwise AND operator gives TypeError if both values are neither a number nor a numeric string, eg: null, "run"
- Etemplate::setElementAttribute() must NOT be called before instantiating an Etemplate object, you will get fatal error otherwise, because no request object
2021-10-08 09:05:58 +02:00
nathan
d43c27a31b Fix nested placeholders (customfields from other apps) were not being displayed properly 2021-10-07 14:51:16 -06:00
nathan
c73a7beac8 Add placeholder list for calendar & filemanager 2021-10-07 13:47:14 -06:00
Ralf Becker
417bbccbe3 fix PHP 8.0 Fatal error: Declaration of Api\Etemplate\Request\Session::read($id = null) must be compatible with Api\Etemplate\Request::read($id = null, $handle_not_found = true) 2021-10-07 18:39:40 +02:00
nathan
da6a16e62d - Add generation target path preference to all apps
- Use common method to get merge preferences to reduce duplication
2021-10-07 10:22:45 -06:00
nathan
40af04e38e Fix broken Merge::get_app_class(), we need it to autoload the class 2021-10-07 09:31:43 -06:00
Ralf Becker
460d8cbe0d fix not working preferences GUI after ddddc5ba05 2021-10-07 17:28:06 +02:00
Ralf Becker
a8d14ffa0a fix TypeError: Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int, null given 2021-10-07 16:53:33 +02:00
nathan
66f5c4bfc2 Add start of Et2Date tests 2021-10-07 08:41:53 -06:00
Ralf Becker
d915b25bba fix PHP 8.0 error Illegal string offset
folder object need to be cast to string (folder name) as objects are not allowed as array keys
2021-10-07 12:37:10 +02:00
Ralf Becker
b1780a35bc fix Api\Storage\Merge::document_editable_action(): Argument #1 ($action) must be of type array, null given 2021-10-07 12:17:33 +02:00
Ralf Becker
e4f95d9c20 fix missing icons after previous commit 2021-10-07 11:57:20 +02:00
Ralf Becker
d00d6f65f0 fix PHP 8.0 error when deleting a Kanban card
- link deletion failed when link_id was "" as in PHP 8.0 "" < 0 --> gave the error
- link to card was never deleted as board_id is not stored in card
2021-10-07 10:44:23 +02:00
Ralf Becker
91bd7c7aeb an other chunk of fixed PHP 8.0 Warnings 2021-10-07 10:14:43 +02:00
nathan
02dce82010 Merge branch 'master' into web-components 2021-10-06 14:02:22 -06:00
nathan
45f039da95 * Add preference to set the filename of merged documents using placeholders 2021-10-06 11:59:29 -06:00
Hadi Nategh
b837a0235e Fix styling in toolbar 2021-10-06 15:44:21 +02:00
Ralf Becker
cb8cac15dc fix mail account creation under PHP 8.0
PHP 8.0: "new" > 0 === true
PHP<8.0: "new" > 0 === false
2021-10-06 12:31:23 +02:00
Hadi Nategh
d3fd2aa76a PHP8: fix error Illegal offset typePHP, happens while moving mail from one account to another 2021-10-06 11:38:54 +02:00
Hadi Nategh
ffeb929b49 Fix wrong condition on checking url strlen 2021-10-06 11:09:32 +02:00
nathan
a0a89a6b74 Placeholder dialog: Add placeholders for projectmanager, timesheet, tracker 2021-10-05 16:09:39 -06:00
Ralf Becker
b37e7ff57a quieten permanent error_log 2021-10-05 14:20:29 +02:00
Ralf Becker
ddddc5ba05 next big chunk of fixed PHP 8.0 Warnings 2021-10-05 14:11:11 +02:00
Ralf Becker
357fefaad0 fixing some conditions in the previous commit stalling InfoLog list 2021-10-05 11:14:40 +02:00
nathan
6126bc2ac9 Placeholder dialog: Placeholder groups can now have groups
References (info_contact)/ customfields to other apps are expanded so all their placeholders are available as well
2021-10-04 14:45:57 -06:00
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