Commit Graph

2050 Commits

Author SHA1 Message Date
Ralf Becker
293a7166de to not send/set it twice for multiple etemplates (eg. CRM view) 2014-03-10 21:18:31 +00:00
Ralf Becker
7bda46582d changed toolbar to have last action.id as value, when submitted to server 2014-03-10 21:14:02 +00:00
Ralf Becker
f87e456be2 do not send/set extra data twice for multiple etemplate (eg. CRM view) 2014-03-10 15:20:27 +00:00
Ralf Becker
79e1b5c9b8 fixed CSP error for multiple eTemplate2s (CRM view), by allways sending etemplate data via et2_container tag (instead etemplate script tag) and create an et2 object for all of them in egw.js 2014-03-10 11:58:49 +00:00
Ralf Becker
68e5832e1d open widget browser / eT2 Reference inside EGroupware 2014-03-10 09:10:49 +00:00
Nathan Gray
1124c62200 Allow changing sel_options with array data, not just key => value pairs 2014-03-05 17:20:17 +00:00
Nathan Gray
2bf0f96602 Nextmatch uses value to store most attributes, so get value from request to get access to those.
Fixes unable to force infolog details column selection.
2014-03-03 21:00:31 +00:00
Nathan Gray
f561e7e7bf Add check for automatic 'All' option to avoid extra 'All' options when app stores category options in session. 2014-03-03 17:53:27 +00:00
Ralf Becker
44fc850d75 ignoring $row not only for "nm" namespace and fixed IDE warnings 2014-03-03 15:55:05 +00:00
Ralf Becker
a5a0024545 only search custom fields, if extending class does not set this->columns_to_search explicit, also fixed IDE warnings 2014-03-03 11:45:38 +00:00
Ralf Becker
aa850d24fc implemented account_type: (accounts|groups|both) option for taglist-account as available in select-account widget 2014-02-28 16:52:42 +00:00
Ralf Becker
e154e35ad6 fixed etemplate.inc.php download (happens only if directory is not writable) has zero length. Caused by output buffering and unbuffered php://stdout instead of php://output used 2014-02-28 08:26:53 +00:00
Nathan Gray
a07cfda06b Silence error log 2014-02-27 20:25:06 +00:00
Ralf Becker
2e287689ef allow to call etemplate_widget::setElementAttribute() static eg. from within a get_rows method 2014-02-27 17:43:51 +00:00
Hadi Nategh
095cb846f6 * etemplate: introduces new type of taglist specificlly for groups and accounts, called "taglist-account". It fetchs groups and accounts plus allows free entries too 2014-02-26 10:49:01 +00:00
Nathan Gray
22985819b0 If user selected a link entry but did not click link, pass it back to application.
Now fixed to support new entries (no to_id) also.
2014-02-25 17:04:43 +00:00
Nathan Gray
cd3387448a If user selected an entry to link to, but didn't click 'Link' button, link anyway on save. 2014-02-24 20:26:26 +00:00
Ralf Becker
e96ec115a0 fixed sending of arbitrary JSON data egw_json_request::isJSONRequest(false) 2014-02-24 18:46:14 +00:00
Ralf Becker
2908b9466b fixed not working retransformation of date* custom fields to Y-m-d[ H:i:s] format, caused by not calling validation of implementing base-widget, also added options from file and sending available options from server, as for regular select options 2014-02-24 14:47:55 +00:00
Ralf Becker
2955e89bbe quitened permanent error_log 2014-02-24 11:55:25 +00:00
Ralf Becker
4ff1a4efd1 fixed after new shutdown handling broken autoloading of tree nodes: json.php is used to send arbitrary JSON data, instead using egw_json_response methods (egw_json_request::isJSONRequest(false) turns that off now) 2014-02-22 15:51:14 +00:00
Ralf Becker
82704bd0d2 jdots needs sidebox/navbar data in header call, therefore enable navbar BEFORE calling header 2014-02-21 15:41:07 +00:00
Ralf Becker
3cbf1d24fb * eTemplate/all apps: limit displayed history to 500 entries 2014-02-20 12:47:06 +00:00
Ralf Becker
5f2c5e1d9a restoring value at end of etemplate::show_cell() as it is a reference into content and some widgets (IP-address cf) rely on being able so set content while using multiple widgets with same name relys on it being unchanged 2014-02-20 09:43:00 +00:00
Nathan Gray
c735663346 Work in progress of straightening out the user selection options 2014-02-20 00:35:07 +00:00
Nathan Gray
9b84be6d01 Fix some group selections showing accounts instead 2014-02-19 21:54:48 +00:00
Nathan Gray
c1689c7328 Fix account selection missing members of non-primary groups 2014-02-18 22:36:22 +00:00
Nathan Gray
aca00c49f7 Fix account selection did not contain primary group members
Was visible in infolog list account filter headers
2014-02-18 22:08:15 +00:00
Ralf Becker
73523fbecc extra option 0 => None set in addressbook for cat_id got lost 2014-02-18 16:44:20 +00:00
Ralf Becker
ae057bd957 fixed cat-id in nextmatch header of addressbook is in id-order and not alphabetic/hierarchical order 2014-02-18 16:35:54 +00:00
Ralf Becker
639fd82199 force re-import of etemplates if app-version changes 2014-02-17 14:28:05 +00:00
Ralf Becker
8d48058f22 historylog need to use $this->id as namespace for sel_options to NOT overwrite regular sel_options, fixes addressbook-selection in addressbook.edit contains all users instead of only ones user has rights for 2014-02-13 12:50:29 +00:00
Nathan Gray
9ca2ec2329 Silence error log 2014-02-12 18:35:04 +00:00
Nathan Gray
e314011e88 Harmonize readonlys processing, fixes some fields in grids not validating if other rows were read-only.
- Change server-side get_array() to return null if not found, matches client side getEntry() and allows us to tell the difference between false and not found
- Change server-side is_readonly() to properly consider expansion & sub-arrays
- Fix client side et2_readonlysArrayMgr to properly consider expansion & sub-arrays
2014-02-10 21:59:50 +00:00
Ralf Becker
7fc89ea36d fixed serverside validation to understand hierarchical structure used for tree and to NOT try to validate if autoloading is enabled as we dont know all nodes 2014-02-07 13:08:00 +00:00
Nathan Gray
378bd43d29 Set is_parent flag for all get_rows calls, not just the onces done via ajax.
FIxes missing flags on first load.
2014-02-05 23:13:47 +00:00
Nathan Gray
ec7360d36f If application changed actions in get_rows(), the new actions need to be sent through etemplate_widget_nextmatch::egw_actions(). Now doing so automatically.
Fixes js error in infolog refresh.
2014-02-05 17:17:45 +00:00
Ralf Becker
92701be185 setting foldernames now as text and (optional) style 2014-02-05 12:23:04 +00:00
Ralf Becker
c0c6775e0a added htmlencoding to tree widget and static PHP method to quote and send JSON data 2014-02-05 08:54:36 +00:00
Ralf Becker
ad464d2824 show backtrace in error_log of validation-errors 2014-02-04 09:24:17 +00:00
Ralf Becker
85cd466eda preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available 2014-02-04 09:23:43 +00:00
Ralf Becker
327123a588 preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available 2014-02-03 19:57:50 +00:00
Hadi Nategh
7f222b165d Remove "BLACK DIAMOND SUIT" character from global categories 2014-02-03 09:19:59 +00:00
Ralf Becker
a34f35baf1 fix serverside url-validation required "http://" protocoll 2014-01-30 12:48:16 +00:00
Ralf Becker
56ea1da5aa fixed not working redirect to index url of app, if etemplate session is lost (tested with mail app) 2014-01-27 16:30:34 +00:00
Ralf Becker
2e9b753292 remove permanent error-log 2014-01-27 13:07:50 +00:00
Ralf Becker
5452c9fca2 fixed XML error, if no type given 2014-01-23 12:43:29 +00:00
Ralf Becker
2632aff548 disabling redirect as it is not working (opens eTemplate tab in Stylite/Pixelegg template) 2014-01-21 18:58:07 +00:00
Ralf Becker
646c444670 order accounts according to pref of how to display them 2014-01-21 18:46:42 +00:00
Nathan Gray
4d997bf7c8 Fix up caching, clearing and filtering, so we cache what we need and clear only what we have to when filtering
Selection still needs work.
2014-01-21 15:21:42 +00:00
Nathan Gray
2123b7cbbf Fix validation of selectboxes when options are specified as key => (label,title).
Fixes edit dialog actions not validating
2014-01-20 16:15:53 +00:00
Ralf Becker
6de6114e22 remove old API browser class, apps only used content_header method with is available as html::browser_header() with identical signature 2014-01-19 09:30:33 +00:00
Ralf Becker
b31befc23b fixed server-side validation of url-email and taglist-email:
- PHP does NOT allow \x00 in regular expression
- added PHP /u modifier for utf-8
- using now regular expression including start- / end-delemiter and modifiers, to have same regular expression (but above 2 exeptions) in PHP and javascript
2014-01-17 17:26:22 +00:00
Ralf Becker
0b994ee837 new regexp to validate email addresses plus examples what it should validate and what not 2014-01-16 18:10:06 +00:00
Ralf Becker
4b789c932d allow "." in front-part of rfc822 email, eg. "1. company <info@first-company.com>" 2014-01-16 15:14:45 +00:00
Nathan Gray
05f0e486e3 Use long task UI to merge contacts into email templates 2014-01-16 14:05:07 +00:00
Ralf Becker
205794f4a7 notify server about closed windows, so we can destroy no longer eT needed session/requests and so keep cache small 2014-01-16 12:13:16 +00:00
Ralf Becker
b56175a0f4 new default eTemplate request storate in EGroupware cache with an expiration time of 4 hours.
Benefit over old default is, that we get a short etemplate_exec_id giving better performance for ajax requests.
Drawback is currently poor garbadge collection only removing requests not used in 4 hours or which call egw_framework::window_close on server-side.
We can improve garbadge-collection by binding to window on(before)unload sending a (synchronious) request to server to remove concerned eT2 request.
2014-01-15 16:46:16 +00:00
Nathan Gray
f9c2c73432 Get merging contact into mail template file working 2014-01-15 16:29:30 +00:00
Ralf Becker
6544d38e2c storing (not used) cancel or non-cancel button pressed information now in static class-variable instead of request, to avoid modifying request and causing a save of it 2014-01-15 13:46:53 +00:00
Nathan Gray
ae491c0810 Enable symlinking VFS files to not yet existing entries 2014-01-14 12:11:13 +00:00
Hadi Nategh
c82ffac545 Fix wrong order of search result in linkto 2014-01-14 11:31:33 +00:00
Nathan Gray
29992a7fee Fix linking files to not-saved entries 2014-01-14 10:16:36 +00:00
Ralf Becker
ca1433cd5e no longer warn about widgets without a server-side class, as it is perfectly ok 2014-01-13 15:24:48 +00:00
Nathan Gray
a64da9f456 Disable automatic chosen, only explicit now 2014-01-10 09:47:26 +00:00
Ralf Becker
243f20e98c fixed handling of optgroups, eg. notification chains in prefs 2014-01-10 07:08:45 +00:00
Ralf Becker
400240f1e4 caching translations for 10days and changing translation url, when translations are changing --> saves server-roundtrip for each translation 2014-01-09 15:32:07 +00:00
Ralf Becker
90edb55ec5 add async include and et2 render times to page-generation-times shown 2014-01-09 12:20:13 +00:00
Nathan Gray
49ef2c538a Use any row data passed from server in etemplate load call to avoid an extra call to get_rows 2014-01-09 11:25:08 +00:00
Ralf Becker
2f905e8290 return $arr argument itself, but no reference to it, in all error cases 2014-01-08 09:47:37 +00:00
Ralf Becker
7b7132314c can NOT use empty($idx) as it is true for 0 too! 2014-01-08 08:58:57 +00:00
Ralf Becker
b095be7f3d fixed handling of empty name, not index into array but return full array 2014-01-06 12:53:34 +00:00
Nathan Gray
c458f34b18 Explicitly load headers & js for old etemplates 2013-12-19 18:27:46 +00:00
Ralf Becker
9c3c077314 fixed not updated sidebox in calendar listview 2013-12-12 23:32:30 +00:00
Nathan Gray
ffcc62e274 Implement 'add_tab' attribute on server side, so it works. 2013-12-12 20:15:36 +00:00
Nathan Gray
d65b40046a Move sidebox favorites & backend out of nextmatch and into framework 2013-12-12 00:03:07 +00:00
Nathan Gray
bbd146c0b9 Remove debug error message 2013-12-10 19:39:01 +00:00
Nathan Gray
cc3754ff85 Expand legacy options explicitly, since $legacy_options is not defined
Fixes missing app-specific categories in category edit popup
2013-12-10 19:37:57 +00:00
Ralf Becker
76cf4245e6 fix wrong download url 2013-12-05 22:46:31 +00:00
Ralf Becker
2479d85c77 search etemplates first under /etemplates in vfs and then in real filesystem, allows to overwrite templates on a per instance base, stylite.merge stream-wrapper can be used to mount templates editable into vfs 2013-12-05 21:06:35 +00:00
Nathan Gray
87936488bf Implement getState() & setState() towards a more universal favorites, but still more to do:
- Need to get favorite widget to use setState()
- Move much code out of etemplate2 widgets into a higher level
2013-12-05 00:00:43 +00:00
Nathan Gray
7f176d54f1 Add a fallback to the fallback.
If an app doesn't support 'list' link entry, use 'index'
2013-12-02 20:11:47 +00:00
Ralf Becker
defe24b7c0 fixed not working selected_value attribute of checkbox and radio, server-side used (un)set_val as attribute while clientside used (un)selected_value for checkbox and set_value for radio, grrrr ;-) 2013-11-29 05:49:13 +00:00
Ralf Becker
57c2c913d1 fixed new emailadmin stuff to work with postgreSQL 2013-11-29 01:50:49 +00:00
Ralf Becker
4866478242 fix exception in boetemplate::get_array() 2013-11-29 00:20:56 +00:00
Nathan Gray
69ab474f8c Another fix for private cf filtering, when filter is enabled/disabled via content 2013-11-28 18:32:36 +00:00
Nathan Gray
d1106a31fc Check & avoid duplicates when re-indexing options 2013-11-27 20:22:36 +00:00
Nathan Gray
aed7267801 If search option is set in template, don't override it with automatic chosen switch based on option count. 2013-11-27 18:07:36 +00:00
Nathan Gray
407f3d673e Fix private field filter 2013-11-27 17:17:37 +00:00
Nathan Gray
1b4d6049f5 Allow app to change the DOM ID of the div etemplate is loaded into 2013-11-27 00:06:12 +00:00
Nathan Gray
52dbc208a6 Don't reset value to array index if it's already there 2013-11-26 20:03:19 +00:00
Nathan Gray
fe5650e144 Auto-detect location target if not set.
Fixes whole page reloads in jdots/pixelegg.
2013-11-26 15:55:56 +00:00
Nathan Gray
05aafd1fb1 Fix some grid children not getting run called after disabled 2013-11-18 23:11:27 +00:00
Ralf Becker
0ab743cb81 allow to load template-set specific templates, eg. addressbook/templates/pixelegg/edit.xet instead of addressbook/templates/default/edit.xet, if user is on pixelegg template-set 2013-11-18 10:52:51 +00:00
Ralf Becker
ef1679a899 allow to load template-set specific templates, eg. addressbook/templates/pixelegg/edit.xet instead of addressbook/templates/default/edit.xet, if user is on pixelegg template-set 2013-11-18 10:45:32 +00:00
Ralf Becker
823e2b62c0 allow default label, even if switched to multiple, as it might stay if switch happens on clientside 2013-11-17 10:26:36 +00:00
Nathan Gray
c1fd6e5acb Give automatically added 'Select All' action its own group 2013-11-15 19:59:25 +00:00
Ralf Becker
3a3227bc27 fixed not found images in admin tree, by using static method knowing templated image path and calculating a relative path for images returned by common::image 2013-11-15 19:12:36 +00:00
Ralf Becker
8e69433829 use template specific images for foldertree, use "template" handler for all calls to template/framework object, NOT instanciating a new one using eg. a parent class 2013-11-15 16:28:24 +00:00
Nathan Gray
fb2c103cef Use current app to get around missing etemplate run rights 2013-11-13 23:57:49 +00:00
Nathan Gray
23f85e9763 Enable etemplate for multiple templates 2013-11-13 22:43:19 +00:00
Nathan Gray
85aa7c76e3 Fix missing prices in projectmanager price list widget 2013-11-12 21:36:59 +00:00
Hadi Nategh
639040787b Fix tabbox widget validation to stay with the same tab when the form get submitted 2013-11-12 16:38:23 +00:00
Ralf Becker
beeecf46d0 2 more widgets without server-side class 2013-11-08 09:31:08 +00:00
Nathan Gray
969155e150 Handle no files selected without throwing warnings 2013-11-07 23:20:07 +00:00
Nathan Gray
f33862b8b6 Fix setting default/forced column preference when selected columns was changed at the same time. 2013-11-06 22:51:57 +00:00
Nathan Gray
c21dcc5e4a Fix erole always showing some roles, never showing project only, by checking for read-only, and fix copy/paste error 2013-11-06 21:03:33 +00:00
Ralf Becker
1c7c699d4f select-account: default label will be added on clientside, it doubles, if added here too 2013-11-06 10:31:57 +00:00
Ralf Becker
e53f781610 adding caption too 2013-11-06 10:30:18 +00:00
Ralf Becker
e5f76db8a8 fixed a typo in previous commit and get setting of value in typeOptions working 2013-11-06 08:59:38 +00:00
Ralf Becker
2793ab44fd fix select-dow widget to return again a single value by oring together selected week-days 2013-11-06 08:49:06 +00:00
Ralf Becker
c7d566533e fix Nathans fix for old editor, to only use fallback for new widgets, if a type is given 2013-11-05 10:22:19 +00:00
Klaus Leithoff
395dd415f8 fix for an etemplate:: call, that seems to be outdated self:: seems to be the static object to use now 2013-11-05 08:32:03 +00:00
Nathan Gray
4d8371d015 Fix missing eroles in element list 'Element role' column 2013-11-04 21:53:05 +00:00
Ralf Becker
f41480a3f6 added a couple more widgets not having an own server-side class 2013-11-04 19:33:57 +00:00
Nathan Gray
5b7f804877 Stop fatal error about missing argument 2 to textbox 2013-11-04 18:57:42 +00:00
Nathan Gray
d4be70de5a - Use a hook for app's custom widgets to avoid scanning filesystem
- Use new hook to load importexport's filter widget
- Remove some typos & error_log()s
2013-11-04 17:23:58 +00:00
Ralf Becker
7f50ed9f1a fixed renumbered option-values because of array_merge 2013-11-04 16:05:51 +00:00
Ralf Becker
7180f78f00 setting default for optional 2. beforeSendToClient parameter to null 2013-11-04 15:41:58 +00:00
Ralf Becker
88dd91fe2a put class attribute on menupopup instead of menulist, as that is where et2 looks for it 2013-11-04 11:54:51 +00:00
Ralf Becker
e2b9443fa0 no need to load not autoloadable widgets, in fact is messes up loading order in old etemplate editor 2013-11-04 10:23:42 +00:00
Ralf Becker
1dd3ad5e0a fixed ckeditor wont start with NOT expanded toolbar 2013-11-04 10:13:28 +00:00
Ralf Becker
1fe139c822 never send passwords back to client, instead send a number of asterisks and replace them again on server-side 2013-11-04 09:11:11 +00:00
Ralf Becker
a1b66d286d keep client/javascript from re-ordering nummeric option-values by sending them as array of objects with attribute value 2013-11-03 13:33:32 +00:00
Ralf Becker
7e856af544 mark popups as such by enclosing there content in div#popupMainDiv and properly closing html markup for popups 2013-11-03 09:30:25 +00:00
Ralf Becker
4dbb522887 only add html5 required attribute if validation is NOT ignored, like eg. in editor 2013-11-02 17:30:07 +00:00
Ralf Becker
511a925bb4 excluding contact_widget causing to load etemplate_widget and etemplate_widget_transformer, not playing nice with old editor 2013-11-02 10:28:56 +00:00
Nathan Gray
7f98f428a0 Adapt importexport for etemplate2 2013-11-01 22:04:43 +00:00
Nathan Gray
1e786ec974 Automatically send widget attribute changes made while processing an ajax submit.
(App code can return without calling exec() to avoid re-rendering the whole thing)
2013-11-01 21:48:22 +00:00
Nathan Gray
0c87bd63e7 Fix for sub-templates set via content not properly validated on submit 2013-11-01 21:39:45 +00:00
Nathan Gray
36d930ad41 Explicit method visibility is supposed to satisfy PHP 5.4 2013-11-01 21:19:08 +00:00
Ralf Becker
04a066154e fixing PHP fatal error: "Object of class etemplate could not be converted to string", caused by last commit 2013-10-31 08:49:46 +00:00
Ralf Becker
e4e3627cdc fixed first row with index="0" got displayed wired eg. in file selection popup, caused by empty("0") === true 2013-10-31 08:34:14 +00:00
Ralf Becker
c3d3ca9973 fixed wrongly disabled tabs 2013-10-25 12:26:44 +00:00
Ralf Becker
e8ac0674e1 need to compare short names, as long name generated by prefixing with template-name is not found, because different template name 2013-10-25 11:39:05 +00:00
Ralf Becker
f62028444d disable tabs independent of using short or full name, eg. $readonlys["tabs"]["test"] = true works as well as $readonlys["tabs"]["app.something.test"] = true 2013-10-25 07:31:45 +00:00
Nathan Gray
7c7d6391ab - Automatically add 'Select All' action with Ctrl+A shortcut after first action group
- Implement Select All into selection controller so it works even if all rows aren't loaded
2013-10-24 17:29:11 +00:00
Ralf Becker
2f0f2ae303 * All apps: new custom-field type IP-Address getting initially set with remote IP address, and allowing to set negativ length for text fields to make them readonly 2013-10-24 17:22:23 +00:00
Nathan Gray
9bdaf0f338 Silence error log 2013-10-24 17:05:22 +00:00
Ralf Becker
32e033df6f * PostgreSQL/Addressbook: fixed SQL error when sorting by a custom field 2013-10-24 14:57:36 +00:00
Nathan Gray
ab4873553b - Add in any missing filter/left/right header select options from favorites or other changes instead of rejecting. Server side get_rows is responsible for actually providing the missing option(s)
- Propagate changed exec_id to controller
2013-10-21 22:23:02 +00:00
Nathan Gray
5fab641aef - Get eroles displaying in element list
- Remove unused js file
2013-10-17 17:02:36 +00:00
Ralf Becker
056e5680b8 make sure to load all cfs, if "customfield" in in selected columns 2013-10-17 14:08:54 +00:00
Nathan Gray
4d35323f52 - More checks for sub-template referred to by partial name
- Fix sub-template modifications missed if namespace mismatch
2013-10-16 23:16:29 +00:00
Ralf Becker
38504680b7 setting CSP attributes needed by CKeditor now automatic when egw_ckeditor_config::get_ckeditor_config(_array) get called 2013-10-14 10:42:36 +00:00
Ralf Becker
6f5207953e * PostgreSQL/ProjectManager: fixed SQL error "pm_id is ambigues" when accessing /apps/projectmanager via filemanager
instead of aliased primary key, we have to use original column incl. table-name as alias is ambigues
2013-10-14 07:53:13 +00:00
Nathan Gray
f73f8fea89 Update email regex to allow:
Nathan Gray <ng.dot@email.com>
2013-10-11 14:35:13 +00:00
Ralf Becker
c6a97da311 fixed changes in get_rows method were not send back to client, if PHP mcrypt is available / eTemplate request stored on client 2013-10-11 11:20:21 +00:00
Nathan Gray
8912d029a4 UI to support links on unsaved entries 2013-10-10 17:00:30 +00:00
Nathan Gray
0d7f213c7d No longer need to change onchange here, client side does it 2013-10-10 13:12:33 +00:00