Commit Graph

5999 Commits

Author SHA1 Message Date
nathan
472ee73dda Improve styling & behaviour of Et2SelectEmail 2023-09-14 14:30:20 -06:00
nathan
01375295fe Fix widget label positioning 2023-09-14 11:56:25 -06:00
nathan
fade177f10 Fix first select option was not set 2023-09-14 11:48:30 -06:00
Milan
0f1f45a0cc WIP sl-Tree 2023-09-14 17:36:28 +02:00
nathan
4a7f775a97 Hide tooltips when context menu opens 2023-09-13 14:05:50 -06:00
Nathan Gray
e323cd1d79
Feature/shoelace 2.4 upgrade (#135)
Update shoelace to 2.9.0
2023-09-13 11:55:33 -06:00
nathan
0f77eca5c4 Api: Fix custom date & datetime fields with data format set caused a JS error
TypeError: Cannot set property format of #<Et2DateTime> which has only a getter
2023-09-13 09:08:00 -06:00
ralf
a35e80c73a Changelog for 23.1.20230911 2023-09-11 08:45:04 +02:00
nathan
d80078893e Api: Fix customfield with no data sent breaks entire customfield tab 2023-09-08 08:41:54 -06:00
nathan
896f77f2fd Fix date & time formatting on mobile
- Date & DateTimeOnly did not show value
- timesheet view was missing start time
2023-09-05 11:21:09 -06:00
nathan
b5758a2268 Fix addressbook list type filter gave error when changing 2023-09-05 08:35:58 -06:00
nathan
e4e270da2a Api: Fix legacy onchange in nextmatch got nextmatch instead of changed widget 2023-08-30 10:30:07 -06:00
nathan
0b036f49b8 Et2Select: Fix some static option selects did not show their values when readonly 2023-08-28 13:50:09 -06:00
hadi
b34789e676 Fix properties do not get set for inherited widgets from Et2Button 2023-08-28 12:19:18 +02:00
hadi
b33f0fa8cf Fix js error happens when there's no label set on select options 2023-08-28 12:17:42 +02:00
ralf
1284ab534f fix "no SSL connection" error when trying to change password over a ldaps connection
also fix PHP Fatal error "Can NOT convert object to string", when trying to log an error
2023-08-25 18:01:46 +02:00
ralf
c6b77bea91 * AD: use thumbmailPhoto, if jpegPhoto is empty 2023-08-24 13:35:35 +02:00
ralf
705554ec14 Changelog for 23.1.20230824 2023-08-24 12:50:01 +02:00
Ralf Becker
50d4a0a0fa pending translations from our translation server 2023-08-24 12:12:36 +02:00
nathan
4420e9662d Load anonymous user's lang preference for error translation 2023-08-23 10:15:31 -06:00
nathan
e4ef392d11 Sharing updates
- admin can set / change share password, encrypted using system
- admin can change share owner
- now recording last modified date / user when changing share
- change encrypted password column name
- new share column for encrypted type
2023-08-21 14:23:21 -06:00
nathan
8a1869dcdc passwordToggle - Get the attribute right for Shoelace 2.0.0
It's togglePassword in the current version
2023-08-21 11:54:24 -06:00
ralf
e14fa4340b * AD/LDAP: added a DN filter to the periodic import to e.g. use 2 OU with a shared base 2023-08-21 17:15:11 +02:00
nathan
c8d4682672 Fix class case 2023-08-18 08:47:37 -06:00
ralf
206fb0cfd8 * AD/LDAP: fix periodic incremental import was loosing memberships to local groups for modified users 2023-08-18 11:47:32 +02:00
ralf
c0e1f47b48 commented out patch to reconnect to LDAP server, if connection is lost 2023-08-18 09:21:18 +02:00
ralf
6d453f6e0d * ActiveDirectory: fix not working ldaps connection on a non-standard port 2023-08-17 12:25:27 +02:00
ralf
556117f14a * ActiveDirectory: fix not working ldaps connection on a non-standard port 2023-08-17 12:22:45 +02:00
nathan
9a53dc3ffd Fix canceled close still destroyed session 2023-08-16 10:23:58 -06:00
nathan
0715b47bc8 Better error message for not found / expired share
German translation from Birgit
2023-08-16 10:06:05 -06:00
ralf
fdad8b3e40 fix TypeError in et2_dialog.handleClose because the Lion container was not found 2023-08-16 14:15:52 +02:00
ralf
5a78cfa475 fix dry-run is not counting updated or created users 2023-08-16 10:41:57 +02:00
nathan
4e3c6eaf39 Fix doubled single customfields when one custom field had options from file 2023-08-15 15:26:46 -06:00
nathan
7512e105da Projectmanager: Fix context menu 'Project element' did not work
egw_links.js:66 Uncaught array of value needs a prefix
2023-08-15 14:31:22 -06:00
ralf
303dc2bc70 allow to set a higher account-import log-level then "info" 2023-08-15 16:02:54 +02:00
nathan
2c5170f15b * Api: Store recoverable password (encrypted) for shares so you don't have to change it when you forget 2023-08-14 13:42:00 -06:00
StefanU
4ffaaea76e
Add planner.svg
As replacement for png
2023-08-14 19:07:27 +02:00
hadi
7e5f5f960d Missing parts from commit f0656f280f 2023-08-14 17:35:40 +02:00
ralf
35b0216687 * Calendar/CalDAV: Thunderbird and CalDAVSynchronizer: update only participant data, instead of failing when the event was changed 2023-08-10 15:11:48 +02:00
milan
9cfb44529f cleanup for backport to 23 2023-08-09 17:18:28 +02:00
milan
b9a723a16f fix use selection instead of drag/drop while pressing crt/alt
egwPreventSelect on mousedown seems to be no longer necessary in nextmatch
2023-08-09 16:56:15 +02:00
ralf
9092ffe8d7 * Calendar/CalDAV: do NOT limit number of returned events for GET requests with download parameter 2023-08-09 15:19:31 +02:00
ralf
aceb73eb53 * LDAP/AD: fix duplicate key account_lid error on import caused by mixed case in account-names not treated equal 2023-08-07 10:52:28 +02:00
nathan
dfc30a37d1 Pass event along from deprecated et2_dialog to Et2Dialog 2023-08-04 13:07:24 -06:00
ralf
af0c557cc5 convert associative array to a real array with value attribute, to preserve the order of numeric keys 2023-08-04 09:10:17 +02:00
nathan
7a17dcc7cb Fix handling of email addresses with names
- read-only was leaving out quotes on name, failing validation
- Commas in name caused problems when adding in to existing values due to simplistic CSV splitting
2023-08-03 16:57:53 -06:00
nathan
1393fb6921 Et2Dialog: Fix dialog open event was fired if a selectbox opened
Fixes flickering field in Collabora insert address dialog
2023-08-03 14:39:47 -06:00
nathan
b2e1cef233 SearchMixin: If the value is changed while the search / options are open, recalculate positioning
Fixes bug where it looks like the value hasn't changed, until the dropdown closes.
2023-08-03 14:05:10 -06:00
ralf
2022adfbfb be more verbose on errors and return full Sieve script text (for user/password, not for admin connection) 2023-08-03 13:58:51 +02:00
ralf
da49ce2924 if authenticated via token we have to use the admin connection, but only for the user authenticated as 2023-08-03 10:22:45 +02:00
nathan
afdca98629 Fix up password customfield
- passwd->et2-password custom field type
- passwordToggle attribute (changed name, icon didn't change)
2023-08-02 15:05:33 -06:00
nathan
b92d45c44a Api: make longTask (merge to email) more robust
Should continue in the face of network error
2023-08-02 14:08:59 -06:00
ralf
f6249e9ad8 * PostgreSQL/Mail: fix SQL error querying email avatars 2023-08-02 11:50:09 +02:00
nathan
c5e4af397a Api: Fix adding links did not always work after triggering a form reload 2023-08-01 16:49:16 -06:00
ralf
27f750d33b if download GET parameter contains a decent cache-buster, we allow caching for 10 days 2023-08-01 23:45:26 +02:00
nathan
63e71dc96b Etemplate: If countdown time changes, avoid multiple updates / alarms 2023-08-01 11:20:51 -06:00
nathan
e19ab7edb2 Api: Add "search" to list of link entries sent to client
Fixes broken site-search
2023-08-01 09:24:52 -06:00
nathan
583072ce9d Fix insert multiple entries into email document failed at "Please wait ... loading" 2023-08-01 09:11:09 -06:00
ralf
76c59d2103 * LDAP/AD: fix local uploaded pictures are lost when automatic import is used 2023-08-01 15:38:11 +02:00
ralf
e75b89f158 remove add (optional) $vacation_rule return parameter as it causes a PHP Fatal error in hosting 2023-08-01 07:59:01 +02:00
nathan
6b183db6e0 SearchMixin: Limit number of JSON search results 2023-07-31 10:11:04 -06:00
ralf
027ad398d6 * Mail: new modus for vacation notice to not save message to INBOX and REST API to set vacation handling 2023-07-31 16:24:58 +02:00
nathan
eca2cc9d46 Api: Add {{share}} & {{share-files_only}} merge placeholders that create an external share link 2023-07-28 08:27:31 -06:00
hadi
3dbdbc0596 Fix click handling on grid's row no longer works 2023-07-28 15:21:09 +02:00
ralf
45176fbba0 Changelog for 23.1.20230728 2023-07-28 14:51:59 +02:00
ralf
0b46feb706 fix typo 2023-07-28 09:43:38 +02:00
nathan
8335281787 Fix email tags marked as invalid 2023-07-27 13:19:43 -06:00
ralf
3d2f915037 guard against CalDAV clients wrongly sending a Content-Type or Accept header for JSON 2023-07-27 20:50:26 +02:00
nathan
46795ec108 SearchMixin: Fix select option not having class causes JS error
Fixes addressbook edit popup does not resize
2023-07-27 10:04:58 -06:00
ralf
f56c0749b3 fix not working auth_type=(fallback|fallbackmail2sql) as Auth::backend() calls __construct(null, null) 2023-07-27 14:09:17 +02:00
ralf
0f692fbb74 fix lavatar shows same letters for every contact not having a photo
caused by wrongly falling back to the contact with contact_id equal to account_id of current user
also fix TypeError if remote search does not return an array
2023-07-27 12:45:40 +02:00
ralf
322fefa62c Revert "Et2SelectEmail: Pass email to lavatar to get contact picture in email select option"
This reverts commit 5de789f7f7.
2023-07-27 11:08:23 +02:00
nathan
5de789f7f7 Et2SelectEmail: Pass email to lavatar to get contact picture in email select option 2023-07-26 13:39:00 -06:00
nathan
f3258ebc45 Fix validation of CF options from json file 2023-07-26 10:11:07 -06:00
nathan
575c8fa976 SearchMixin: Move missing value check after update so select_options gets a chance to populate first
This should speed up the initialization a little, avoiding some unneeded checks
2023-07-26 08:32:00 -06:00
ralf
d3b644ebec fix Error: Call to undefined method calendar_bo::find_or_add_categories() when specifying categories 2023-07-26 16:30:10 +02:00
ralf
d071757bb9 fix TypeError: Cannot read properties of null (reading 'trim') 2023-07-26 14:20:13 +02:00
ralf
bf5bb04e1f Changelog for 23.1.20230726 2023-07-26 12:49:21 +02:00
nathan
e0d284d3ae Calendar: Fix group calendar could be missing events under some circumstances
Static account options added to CalendarOwner were blocking the group data needed, fixed by using sent options over account options
2023-07-25 11:15:51 -06:00
nathan
b44ea1b2b0 Api: Fix doubled link on open and missing link app select 2023-07-25 10:27:05 -06:00
ralf
a89b69528e aggregate Etemplate\Widget\Url::ajax_contact() requests and search for all of them in a single AJAX request and SQL query 2023-07-25 18:18:29 +02:00
nathan
2a5d0062dd Api: SearchMixin improvements to work with Et2LinkSearch more efficiently
Moving handling of missing options to overridable method so Et2LinkSearch can use its more efficient method
2023-07-25 09:38:11 -06:00
nathan
3aaf0b2b60 Api: More missing changes from SearchMixin.remoteQuery() / static options from json file 2023-07-25 09:14:13 -06:00
nathan
df9ec35704 Api: Fix Et2LinkSearch initialization with value failed, giving blank widget 2023-07-25 08:48:51 -06:00
ralf
a61445c0d0 fix TypeError if field.values is null causing some nextmatch features like search not to render 2023-07-25 16:39:56 +02:00
ralf
7a7c04ccc8 for api.queue close session to NOT block other requests (api.queue should NOT be used for changing something in session) 2023-07-25 11:37:37 +02:00
ralf
f35de819a7 adapt Et2LinkSearch.remoteQuery() to Nathans change not run cleanSelectOptions() in Et2Select.processRemoteResults() any more
@Nathan: not sure if this needs to be applied in more places, or your change should detect it needs running ...
2023-07-25 10:39:13 +02:00
nathan
edcc260b7b WIP on caching static option file and searching it client-side
Get it working in nextmatch
2023-07-24 15:13:28 -06:00
ralf
b013f75eef * Calendar: new REST API to read, create, modify and delete events, see https://github.com/EGroupware/egroupware/blob/master/doc/REST-CalDAV-CardDAV/Calendar.md 2023-07-24 17:08:18 +02:00
nathan
f04b25089a WIP on caching static option file and searching it client-side
Avoid type error in CalendarOwner
2023-07-24 08:51:27 -06:00
nathan
f0be2fcdca WIP on caching static option file and searching it client-side
Still needs file caching & passing correct URL
2023-07-21 16:40:29 -06:00
ralf
7e333ceac9 WIP Calendar REST API 2023-07-21 17:41:37 +02:00
ralf
a3bed88d04 fix docu, spelling and some static vs. non-static calls 2023-07-21 08:54:06 +02:00
Milan
c170c44168 Merge remote-tracking branch 'origin/master' 2023-07-20 16:40:50 +02:00
Milan
0dd7616c5e egw_action copy fixes regarding ticket 84314 2023-07-20 16:40:22 +02:00
ralf
9ad249fa30 * Adressbook/CardDAV: unconditionally start output-buffering to fix problems with huge multiget reports from TB110 AB 2023-07-15 08:29:47 +02:00
nathan
3c81672a41 More indent for sub-categories 2023-07-14 14:17:39 -06:00
nathan
0c9cb71a70 Get rid of "Undefined array key "HTTP_X_FORWARDED_PROTO"" warning 2023-07-14 10:58:53 -06:00
nathan
604a12f7e6 Get rid of "Undefined variable $args" warning 2023-07-14 10:56:18 -06:00
nathan
5b621ffcba Get rid of a bunch more warnings 2023-07-14 10:52:05 -06:00
nathan
8ed5c2aa7e Get rid of a bunch of warnings in Entry & subclasses 2023-07-14 10:14:06 -06:00
Milan
4727b40329 Merge remote-tracking branch 'origin/master' 2023-07-14 15:50:17 +02:00
Milan
b00371c7e1 WIP egw_action copy fixes
paste not working
2023-07-14 15:37:20 +02:00
StefanU
00b15e2f54
Update calendar.svg
File optimisation, colour corrected
2023-07-14 12:03:25 +02:00
StefanU
ffe6ca7d5d
Update delete.svg
Change to new EGw design
2023-07-14 11:48:45 +02:00
StefanU
1b6525eb12
Update MailFolderTrash.svg
Change to new EGw design
2023-07-14 11:46:33 +02:00
ralf
40a4d38776 fix not translated context menu
window.egw with a reference to the main window in a popup, egw(_app, window) gives one with correct window context / translation in a popup (_app does not matter for translations, they are requested to be loaded from server-side)
2023-07-14 10:41:48 +02:00
ralf
b1a4a45bb1 add Promise<Et2Dialog> return type to openDialog 2023-07-14 08:54:07 +02:00
nathan
9d61a2ef17 Changes for opening etemplate in a dialog
- openDialog() now returns Promise<Et2Dialog>
- fixed etemplate reload
2023-07-13 16:18:11 -06:00
ralf
efaa3ae386 WIP Mail REST API: fix reported problems with calendar quick add 2023-07-13 18:44:00 +02:00
nathan
15cf0ca1ff Api: Fix et2_widget_entry sum & compare
Options property is deprecated for webComponents, and cannot be changed.
2023-07-13 10:38:58 -06:00
nathan
8dee34407e Et2Dialog: Fix buttons could not be adopted if dialog contains only arbitrary slotted content 2023-07-13 08:27:56 -06:00
ralf
865d2b3d8d WIP Mail REST API: fix closing dialog closes popup to because dialog was already removed when response was received 2023-07-13 15:36:55 +02:00
ralf
3e27def4f9 WIP Mail REST API: change calendar to use new egw.openDialog():
- renamed app.dialogExec() to app.openDialog() or egw.openDialog()
- the later is the nicer place, but fails for lost window context with popups :(
2023-07-13 15:22:21 +02:00
nathan
e6f142c7a4 Api: Fix nm columnselection still showed disabled columns 2023-07-12 15:08:31 -06:00
nathan
50e3a1b204 Get calendar quick-add working with Ralf's changes to open an etemplate in a dialog (c63784d7e8), fix buttons from those etemplates weren't adopted 2023-07-11 17:07:51 -06:00
ralf
c63784d7e8 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog 2023-07-11 22:45:54 +02:00
nathan
f6a15f3c94 Api: Swap sparse account array/object for simple list to fix missing options in select account widget 2023-07-11 14:16:10 -06:00
nathan
da2ab2004b Api: return a Promise from htmlarea.doLoadingFinished() so etemplate can wait for it to be initialized 2023-07-11 12:02:36 -06:00
ralf
f2b81f6fd2 WIP Mail REST API: fix failed POST request to create a contact (gave 501 Not Implemented) 2023-07-11 14:08:09 +02:00
ralf
96bb3a6884 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog
ToDo: overwrite Framework actions in etemplate2.handle_load() to eg. close dialog, but not window, or refresh window instead of opener
2023-07-11 13:38:09 +02:00
nathan
23f0b6faaf * Api: Restrict customfield options read from a file to only JSON files. Files should contain an array of options.
ex:
[
  { "value": "Α", "label": "α alpha" },
  { "value": "Β", "label": "β beta" }
]
2023-07-10 14:43:32 -06:00
nathan
0c050ad9f3 Api: Add a timeout for form submit
If a submit takes more than 30s, give a warning and hide the loader so the user can try to salvage their changes.
2023-07-10 09:07:22 -06:00
milan
5e3c67a5cf converted egw_action from javascript to typescript
classes are now uppercase and in their own files. lowercase classes are deprecated.
Interfaces are now actual interfaces that should be implemented instead of creating and returning an ai Object every time
2023-07-10 16:54:22 +02:00
ralf
2f56677cc8 WIP Mail REST Api: permanent log result of primary backend for fallback auth 2023-07-07 16:17:36 +02:00
ralf
9a559c5000 WIP Mail REST API: fix broken fallback auth 2023-07-07 16:02:02 +02:00
ralf
8115a92a6a WIP Mail REST API: missing files from last commit 2023-07-07 12:25:45 +02:00
ralf
2bd5fd5601 WIP Mail REST API: enable direct sending of mails with token authentication / no password not allowing to save mail to Sent folder 2023-07-07 12:22:15 +02:00
ralf
d46f8f4a4e WIP REST API for mail & token auth: fix wrong namespace 2023-07-07 09:34:04 +02:00
nathan
186a7d46dd Handle parsing number into boolean expression 2023-07-06 08:29:30 -06:00
ralf
1a0660a6cc * Setup/Authentication: added an authentication log and fallback authentication for all backends 2023-07-06 15:50:53 +02:00
nathan
1b3ce756f9 Api: Pre-select opened mail dialog if add email address preference is not set 2023-07-05 08:12:44 -06:00
nathan
0e6f74da02 * Api: When clicking an email address, ask if user wants to add email to existing compose window or start a new mail 2023-07-04 08:27:59 -06:00
ralf
333750587c WIP REST API: show checkbox in application password to (re-)generate new token and display it 2023-07-04 11:22:49 +02:00
ralf
07300704bc WIP Mail Rest API: UI for application passwords/tokens for admin 2023-07-03 17:09:26 +02:00
ralf
9359e3eee5 WIP REST API: using tokens to authenticate as user or impersonate a user without the password and optional limited application rights 2023-06-30 20:45:45 +02:00
nathan
f4699543c3 Et2Dialog fixes
- Fix noCloseButton attribute was not implemented
- Fix hideOnExcape=false still allowed closing on escape
- Fix using Et2Dialog.BUTTONS_OK showed no buttons
2023-06-30 11:02:04 -06:00
ralf
65b239ca2c WIP Mail REST API: do NOT read attachments into memory, they might be to big 2023-06-30 17:13:42 +02:00
ralf
4616fb03d0 * mailto: fix wrong URL registered for on premise installation (you need to delete it in the browser first!)
Chrome: Datenschutz und Sicherheit > Website-Einstellungen > Zusätzliche-Berechtigungen (aufklappen!) > Protokoll-Handler
2023-06-30 11:19:18 +02:00
ralf
95ba35bfeb fix restoring 1.8 database gave "Duplicate entry" error by mapping that (again) to InvalidSql exception (was changed due to PHP 8) 2023-06-30 10:01:01 +02:00
nathan
3cfdca0ae9 * Api: Customfield selectboxes can read options from a PHP file in the VFS using @[path] ex: @/home/Default/selects.php 2023-06-29 13:36:28 -06:00
nathan
85cc2a33cd If customfields has a label and only 1 field, use the label for the widget
This lets us use " " as label to hide the custom field's label
2023-06-29 10:52:20 -06:00
nathan
649b0bfd59 Use code 204 instead of 404 to avoid browser treating it like an error 2023-06-29 09:48:30 -06:00
ralf
dfef4ce0c5 WIP REST API for mail
currently we can launch (interactive) compose windows, if user is online
ToDo:
- send mails for a user
- authentication as arbitrary user with an API token
2023-06-29 12:50:04 +02:00
ralf
5bb1d3c888 needs ungreedy, to not include quotes 2023-06-28 07:48:51 +02:00
ralf
acfcebce4a fix regular expression 2023-06-28 07:29:38 +02:00
nathan
d994f3f92e Api: Fix avatar images were not loaded 2023-06-27 09:46:30 -06:00
ralf
23895c94be WIP improve avatar loading in mail app
currently ET2Avatar is NOT correctly handling contactId=email:<email>
2023-06-27 08:59:59 +02:00
nathan
325fdcb02c Api: User selection = none fixes
- Fix display was 'false' instead of blank
- Fix widget type check was not preserving original value
2023-06-26 10:49:25 -06:00
nathan
faa1e17460 Mail: Fix event detection in multipart mixed mails
Meeting form was not presented, just request content
2023-06-26 08:43:29 -06:00