Commit Graph

2188 Commits

Author SHA1 Message Date
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
Nathan Gray
09693fc761 Remove inline javascript to file 2013-10-10 11:58:19 +00:00
Ralf Becker
0e2e88c19b fixed hiearchy display in infolog and reset of subs view via clicking on InfoLog icon/header, using now value of nm[parent_id] as key for col_filter 2013-10-10 11:29:31 +00:00
Ralf Becker
24e3fb2e63 fix "Got invalid title request, by NOT sending empty requests" warnings 2013-10-10 10:49:41 +00:00
Ralf Becker
12717741e4 load app translations on ajax-submit too 2013-10-10 09:32:25 +00:00
Klaus Leithoff
2a61ac9264 allow to pass config/validation rules to current purifying engine (HTMLawed) 2013-10-10 09:30:25 +00:00
Ralf Becker
47c3495a86 appending modification time to eTemplate url 2013-10-10 08:19:20 +00:00
Nathan Gray
da6d3d2d19 Also ignore total, or it will reset the normal method of setting it... 2013-10-09 17:32:28 +00:00
Nathan Gray
17e8fa094d Support changing nextmatch template after initial load (ie: in get_rows callback) 2013-10-09 14:11:44 +00:00
Ralf Becker
0bb8093426 fixed translations on client-side: server sends now currentapp and langRequire to client, which uses that to translate phrases, langRequire is only stored in egw object for matching app-name and window! 2013-10-07 17:00:03 +00:00
Ralf Becker
147e469b02 missed docu-update on postSubmit 2013-10-07 16:12:04 +00:00
Ralf Becker
43e1bfcc12 switching on Content-Security-Policy: script-src 'self' 'unsafe-eval' for all templates, old non-et2 apps can call egw_framework::csp_script_src_attrs('unsafe-inline') to enable inline scripts in their scope, et2 does it for CK editor which does not support CSP currently and old etemplate does it for all apps using it 2013-10-05 13:33:28 +00:00
Nathan Gray
5d746529a7 Documentation update 2013-10-04 13:25:05 +00:00
Ralf Becker
6e30816758 fixed not working download via action system: needed submit via POST request instead of Ajax, add new boolean action attribute postSubmit 2013-10-04 12:48:11 +00:00
Nathan Gray
c4fc4699a4 Paul's fix for annoying link title error popping up 2013-10-03 07:12:53 +00:00
Nathan Gray
a8136aa191 Give filemanager selection a widget front-end. 2013-10-01 15:40:14 +00:00
Nathan Gray
bc6acd4a3e Mix preserved arrays replacing new arrays when new array is empty 2013-10-01 09:20:23 +00:00
Nathan Gray
28c2737c9f Change multi-select header styling:
- Change icons from jQueryUI to egw
- Stop hiding header when not needed, always show
- Don't visually distinguish header
- Don't float right icons, leave them between checkbox and label
2013-09-30 15:39:36 +00:00
Ralf Becker
1590d02816 new egw_framework::message($msg, $msg_type="success") method and fixing nextmatch filter-change to return app-header 2013-09-05 11:53:25 +00:00
Ralf Becker
9d29c16c3a fixed no footer (eg. closing body and html tag) in jdots template, because etemplate2 (unneccessary) calls footer, but ignores its return value 2013-09-04 13:50:37 +00:00
Ralf Becker
baaaf5b877 static method to get app-names as options, as from the widget itself 2013-09-04 13:48:22 +00:00
Klaus Leithoff
74ec0f6651 fix some issues for file upload type validation 2013-09-04 09:03:54 +00:00
Klaus Leithoff
3bc322690e throw exception if no name is given for instanciation of template 2013-09-02 12:51:53 +00:00
Klaus Leithoff
d5613a51fe swap haystack and needle, as they seem in wrong order for the purpose at hand 2013-09-02 07:52:57 +00:00
Ralf Becker
65ef45630b change send_notifications to always restore modifications on user-enviroment, before returning 2013-08-30 13:48:47 +00:00
Klaus Leithoff
7744905ba8 try to resolve a use-session-stored-data related problem; make sure account_id and prefs are restored after send_notification 2013-08-30 12:57:51 +00:00
Ralf Becker
ecf440ed57 fixed SQL error caused by so_sql prefixing 0 with table name 2013-08-29 13:28:08 +00:00
Ralf Becker
a4ec8796af * Timesheet/PostgreSQL: fix SQL error when selecting a timerange 2013-08-29 10:59:00 +00:00
Ralf Becker
b42b0a9e21 new option to to show only enabled apps (ones which users can get run-rights for) in select-apps 2013-08-28 10:07:24 +00:00
Nathan Gray
838966ae9e Properly fix date-timeonly js side to return a timestamp as all date widgets, server side converts it to expected format, same as others. 2013-08-26 17:04:43 +00:00
Ralf Becker
0de6ab1b35 fix not working timesheet status and category actions: "disableClass", "enableClass" and "enableId" are now handled by action system itself, one should not set an explicit "enabled" attribute anymore 2013-08-26 08:24:50 +00:00
Ralf Becker
3bbfb8574b fixed wrong brackets causing run method not to decend into NOT disabled widgets 2013-08-23 13:00:13 +00:00
Ralf Becker
1c4f65120c new egw_framework methods refresh_opener and window_close to call egw_refresh on opener or close popup window in a content security save way 2013-08-20 12:06:41 +00:00
Ralf Becker
8c2bdf8d0f disable permanent error-log 2013-08-20 11:57:44 +00:00
Ralf Becker
cad9521d02 fix indention 2013-08-20 11:13:42 +00:00
Klaus Leithoff
2f25201e72 implement the possibility to return multiple lines on get_message for tracking; allow transformation of --- into horizontal rule on html on get_message 2013-08-20 10:53:17 +00:00
Nathan Gray
09f2ccbb73 Add legacy option for only_app, improve wrong data error message 2013-08-19 17:42:08 +00:00
Ralf Becker
fabc787fc3 * ProjectManager: fix SQL error if searching for string containing numbers and underscore or percent
skip user-wildcards (*,?) in is_numeric test, but not SQL wildcards, which get escaped and give sql-error
2013-08-14 08:02:23 +00:00
Nathan Gray
952d6f8801 Fix file upload in international charsets (Farsi) - use existing egw_vfs::basename() instead 2013-08-13 17:03:36 +00:00
Nathan Gray
eade44ec57 Fix file upload in international charsets (Farsi) 2013-08-13 16:24:12 +00:00
Nathan Gray
b74eec3d3f Reset back to old etemplate 2013-08-09 19:19:31 +00:00
Nathan Gray
069325c89d Do not center Filter. It had no effect on short lists, but chosen actually respected the setting 2013-08-09 19:18:58 +00:00
Nathan Gray
fefdb42340 Change comment caching to object level instead of class level to prevent revealing restricted comments 2013-08-09 16:23:50 +00:00
Ralf Becker
c8aa72039f html-encoding is done in etemplate engine 2013-08-09 11:17:30 +00:00
Klaus Leithoff
d2a851931f provide contact-id on errormessage on failure of mail-merge 2013-08-07 08:07:24 +00:00
Klaus Leithoff
6362e257b1 alter message on success/failure of multiple message sending via addressbook mail-merge 2013-08-06 13:48:20 +00:00
Ralf Becker
ff536e6f1c * PostgreSQL/Addressbook: fix SQL error in addressbook by organisation and department 2013-08-06 12:09:11 +00:00
Nathan Gray
8097119b6c Remove debug 2013-08-03 14:46:51 +00:00
Nathan Gray
a7180f2f1c Implement validate() so taglist can return values 2013-07-31 16:56:17 +00:00
Klaus Leithoff
fbc28c9b62 attempt to fix problem of comment-visiblity on multiple assignments of the ticket in question 2013-07-31 10:22:07 +00:00
Nathan Gray
6b537a1358 Add taglist-email sub-type, uses specific data source, formatting, and some client-side validation for just emails. 2013-07-30 14:16:47 +00:00
Ralf Becker
f41c0d1a72 fixed "PHP Parse error: syntax error, unexpected \ (T_NS_SEPARATOR)" error caused by email validation, also added error_log for these type of parse-errors 2013-07-30 09:11:33 +00:00
Ralf Becker
200a8860bf * eTemplate/all apps: (silently) limit number of links shown to 1000 newest, to not run into memory_limit or max_execution_time and assuming noone will scroll further down anyway 2013-07-26 09:38:38 +00:00
Ralf Becker
d483b2a564 * PostgreSQL/ProjectManager/InfoLog: invalid SQL opening a new entry InfoLog entry
can not "SELECT * FROM table ... GROUP BY *" has to be "SELECT table.* ... FROM table GROUP BY table.*"
2013-07-26 06:57:23 +00:00
Ralf Becker
78f032e063 fixed DISTINCT leading to no data returned (eg. ctag in accounts-addressbook in eSync and CardDAV), DISTINCED added twice and not using so_sql_cf::search if no custom fields defined 2013-07-23 13:50:11 +00:00
Ralf Becker
0bca64517c fixed SQL error introduced by r43149: multiple identical rows 2013-07-23 07:57:55 +00:00
Ralf Becker
f47e0bd59c moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets 2013-07-20 15:58:08 +00:00
Ralf Becker
f8c184d860 * All apps/custom fields: fixed multiple identical rows, if custom fields where set (introduced in last package) 2013-07-20 15:56:41 +00:00
Nathan Gray
7085d4b51a Still off by default 2013-07-20 14:33:17 +00:00
Nathan Gray
bd63529096 Rework etemplate2 loading to use JSON plugin when loading from regular request & AJAX. instead of inline script tag 2013-07-20 13:57:53 +00:00
Nathan Gray
4ae6094d8d New tag list widget, supports ajax & static options 2013-07-18 15:27:39 +00:00
Nathan Gray
14ebff54c9 Changes from updating jQuery & jQuery UI to latest versions 2013-07-18 15:26:41 +00:00
Nathan Gray
b3bf5b734f Make unique ID deterministic - use template name 2013-07-18 09:21:07 +00:00
Ralf Becker
792f1b26cc replacing egw.LAB with egw_LAB, as egw object is shared by all iframes and popups, while LAB has to work on document 2013-07-17 12:47:21 +00:00
Nathan Gray
0bba8fd032 Strip out any javascript added by application and it properly to the AJAX response 2013-07-17 09:57:50 +00:00
Nathan Gray
5f0ac7a70b Fix server side auto-repeat to have different rows, instead of multiple references to the same one 2013-07-17 09:38:37 +00:00
Ralf Becker
92e0ee86a5 * All apps: allow to log user-agent and action of all changes in history-log of entries (enable in Admin >> Site configuration) 2013-07-11 13:09:23 +00:00
Ralf Becker
70dbb95d6e make eTemplate widget-type integer an alias for int, to ease backporting templates from trunk 2013-07-11 08:13:40 +00:00
Nathan Gray
13e593a7f1 Handle entities in selects other than cat_id 2013-07-08 21:16:45 +00:00
Nathan Gray
6091d6eb76 Fix box autorepeat - only repeat box children, fix $row expansion inside a grid so regular boxes don't break 2013-07-08 18:58:07 +00:00
Nathan Gray
4d2c969b8f Box children can now auto-repeat if child ID has $ 2013-07-04 19:38:36 +00:00
Ralf Becker
93eac83b8a fixed wrong bracket causing SQL error: is not unique 2013-07-04 16:42:33 +00:00
Ralf Becker
9a4693822c * PostgreSQL: automatic fix GROUP BY clause to contain all non-aggregate selected columns, to work around SQL errors, caused by this MySQL "optimisation" 2013-06-28 10:44:46 +00:00
Nathan Gray
c20029dfd6 Process entities returned along with row data in all cases 2013-06-26 17:28:51 +00:00
Nathan Gray
ac45bd0625 Implement server side required check on custom fields 2013-06-25 20:49:13 +00:00
Nathan Gray
f33e49b4a5 Fix validation failure from menulist interfering. 2013-06-25 15:49:10 +00:00
Nathan Gray
a05ac6fa11 Fix checkboxes using defaults not returning boolean 2013-06-24 23:03:55 +00:00
Nathan Gray
bcbc42135d Fix country filters - custom filters with type select now modified to nextmatch-filterheader, not regular select 2013-06-24 20:49:27 +00:00
Nathan Gray
bcd52bb375 Better fix for some widgets not being properly initialized (that doesn't break others) 2013-06-19 18:11:30 +00:00
Nathan Gray
625dae0c59 Fix select options with label & title not always working in rows 2013-06-19 15:14:56 +00:00
Nathan Gray
9bfdbfccaf Fix some customfields not getting pre-processed or losing value 2013-06-18 23:26:43 +00:00
Nathan Gray
c952141839 Fix for some widgets with sub-type not being initialized properly 2013-06-18 23:24:55 +00:00
Nathan Gray
3f003ea3fb Fix default checkboxes not getting validated 2013-06-18 16:39:26 +00:00
Nathan Gray
b7f83ef31f Use a static variable to handle expansion when initializing with content set (validation) 2013-06-18 16:38:27 +00:00
Nathan Gray
a9aeabeeb1 Make sure we don't pass a bad sort value to app code 2013-06-18 16:24:01 +00:00
Nathan Gray
ea104a9af5 Send any accumulated json responses after flushing etemplate - allows apps to use egw_json_response even when call is not an ajax call 2013-06-12 21:06:40 +00:00
Ralf Becker
066ffc2c25 refactored account_id change script to use information from app-specific tables_current.inc.php instead of a fixed list 2013-06-12 16:57:44 +00:00
Ralf Becker
341342bc39 fixed not working multiple value "select-account" or "home-accounts" (rows > 1) custom fields 2013-06-12 14:12:58 +00:00
Nathan Gray
d2b9501208 Fix up column selection pref / default / forced to update session & indicate to admin that preference has been forced 2013-06-11 22:50:05 +00:00
Nathan Gray
c5a9952930 Better fix for tabs not being validated - handle it at the top level 2013-06-11 18:59:34 +00:00
Nathan Gray
6fcab842b0 Restore namespace when done running 2013-06-11 18:56:42 +00:00
Nathan Gray
446034c58f Explode colon seperated values server-side to prevent warnings when expecting arrays 2013-06-11 15:36:01 +00:00
Ralf Becker
8d07c880ad allow db-tools to edit meta information about schema, currently what is stored in integer columns, eg: "timestamp", "account", "account-commasep" or "category" 2013-06-11 14:48:25 +00:00
Nathan Gray
b45a7d7439 Fix tabs sometimes break subsequent namespaces 2013-06-10 23:29:48 +00:00
Nathan Gray
654054826f Implement home-accounts and select-account custom fields sub-placeholder expansions in the correct place, with the rest of them 2013-06-05 17:03:27 +00:00
Ralf Becker
53006a471c if we have onclick or tooltip, add it to an extra div around single element of a box 2013-06-05 13:13:09 +00:00
Nathan Gray
b79460e7a0 Check for value before trying to use it 2013-06-03 23:17:01 +00:00
Ralf Becker
bd1d0f7c18 fixed not working quoting of multiple values specified as array, can not use array walk, as 2. parameter is the key not passed data 2013-05-31 08:29:34 +00:00
Nathan Gray
e2d6d9a65d Change some indenting 2013-05-29 19:12:14 +00:00
Ralf Becker
cd7b9b0910 return (protected) array with validation errors instead of just the count 2013-05-25 17:18:43 +00:00
Nathan Gray
44f4e1ba3b Silence permanent debug 2013-05-22 19:30:31 +00:00
Nathan Gray
753ba3b006 Remove debug 2013-05-22 19:29:42 +00:00
Ralf Becker
c496516f19 re-added ability to use $sel_options["something[else]"] removed in last commit "compatibility with eT2" 2013-05-15 13:22:53 +00:00
Ralf Becker
8cebfe3339 some more docu for tree-widget and allow to use autoloading-url for initialisation too 2013-05-12 13:09:20 +00:00
Ralf Becker
8f52e2ca3c fixed fatal error in soetemplate called by editor, if etemplate is switched to etemplate_new 2013-05-11 09:25:32 +00:00
Nathan Gray
e9a5f7e09c Add values for tabs, and make sure dynamic tab values are passed 2013-05-10 20:39:12 +00:00
Ralf Becker
489978d590 use either tab definition from xml or tabs defined via setElementAttribute($id, tabs, array $tabs), also allow that for old eTemplate 2013-05-09 09:28:27 +00:00
Ralf Becker
1b3c934823 a few compatbility methods and hacks to get old etemplates to behaves a bit more like eT2 2013-05-03 11:50:40 +00:00
Ralf Becker
26c66d12d7 create static method etemplate_widget_menupopup::fix_encoded_options(), so apps can call that for cases it is not called automatically (eg. autorepeated rows) 2013-04-28 12:39:58 +00:00
Nathan Gray
5e84ddd935 Change admin column selection to allow setting / clearing / forcing column selection 2013-04-22 22:32:40 +00:00
Nathan Gray
bd6c23298b Change ODS file line break tag from <text:line-break> to </text:p><text:p> so it works in LibreOffice 2013-04-22 15:25:19 +00:00
Ralf Becker
f814b6077e reverting accidently commited default to et2 2013-04-20 12:21:22 +00:00
Ralf Becker
cd024eef1b add nice link overlay icon to vfsMime widget (for symlinks) 2013-04-20 12:19:27 +00:00
Nathan Gray
0ae58e39de Load jquery-ui css before ours, so we can override it 2013-04-16 18:46:23 +00:00
Nathan Gray
027bcc53d1 Enable drop on nextmatch rows 2013-04-12 17:05:35 +00:00
Nathan Gray
41d34f84a2 Set a class for common CSS 2013-04-12 16:28:11 +00:00
Ralf Becker
abee7bc2a1 allow to permanently use etemplate_new for ported applications no longer supporting old etemplate, while still having etemplate default to etemplate_old 2013-04-12 09:50:27 +00:00
Nathan Gray
8a6bba9ffe Give the et2 container an ID matching the loaded template name 2013-04-11 11:25:28 +00:00
Nathan Gray
9afe55bfae Have to read repository, not just create the object, or I get inconsistencies 2013-04-10 16:47:02 +00:00
Nathan Gray
79c09ec5cd Use LABjs to make sure everything is loaded 2013-04-10 16:03:58 +00:00
Nathan Gray
d996a3445f Fix et2_ready() when app called via ajax 2013-04-10 16:03:31 +00:00
Ralf Becker
ee65e7ae28 also need to re-assemble image options, as I cant edit/remove them in editor 2013-04-10 15:46:38 +00:00
Ralf Becker
28428c3aa0 make header_left/right a legacy option for nextmatch widget, allowing to specify it in template and therefore display them in editor 2013-04-10 13:26:04 +00:00
Ralf Becker
40acef68b6 show disabled templates in editor 2013-04-10 11:47:11 +00:00
Nathan Gray
fdada6c3c0 Fix typo in missing JS object warning 2013-04-10 10:10:14 +00:00
Nathan Gray
4de7d2f432 Add a warning if application js object was not loaded 2013-04-10 10:05:17 +00:00
Nathan Gray
4c54745cbb Allow favorites from multiple apps to coexist 2013-04-10 08:00:31 +00:00
Nathan Gray
978a90852c Add a base object for application javascript code to contain it, and solve initialization timing issues 2013-04-09 08:45:59 +00:00
Nathan Gray
af43412921 Fix editor to still work with existing basic widgets 2013-04-08 14:31:43 +00:00
Nathan Gray
715d45a2c1 Add very basic support for et2 widgets into editor, to at least not destroy templates 2013-04-08 14:06:01 +00:00
Nathan Gray
fd41f7e4bc In the rare case where the app specifies both select options in both the sel_options and the nextmatch options-name, try to avoid overwriting 2013-04-08 13:18:27 +00:00
Ralf Becker
ed76aa43e2 removed old code used to run etemplate without javascript, not working anymore and causing it now to fail after Nathans changes 2013-04-03 08:37:28 +00:00
Ralf Becker
81752aa4d5 using ege.LAB.wait for popup_resize() 2013-04-03 07:52:23 +00:00
Nathan Gray
b9a43091dc Fix problem with false/0 values failing validation 2013-04-02 22:57:09 +00:00
Nathan Gray
e8c9a1ecde LABjs wait to initialize actions until all files are there 2013-04-02 20:31:22 +00:00
Nathan Gray
ef2a5d377d Use LABjs throughout framework to load javascript - prevents a lot of undefined / timing errors 2013-04-01 19:14:52 +00:00
Nathan Gray
3c651a38e0 Sort out customfilter options conflict 2013-03-25 21:43:35 +00:00
Ralf Becker
27a40efc84 async notifications can NOT use a single static variable as cache, as it will be used for all the different entries notified
--> using a class variable (different per app) and indexing cache be id or entry
2013-03-22 14:34:31 +00:00
Nathan Gray
f4fe5cf8b6 Add ability to specify which actions are available for the no results placeholder 2013-03-20 23:09:04 +00:00
Nathan Gray
555582eb44 Don't try to format null dates, just pass null back to app 2013-03-20 21:19:56 +00:00
Nathan Gray
8c20d825cb Fix private custom field filtering 2013-03-20 20:47:54 +00:00
Ralf Becker
7cc358b526 fixed not working link in notifications / subscribtions, if path contains eg. a space
caused by unnecessary appended path=... url parameter breaking WebDAV, added new config to NOT add it, as not setting id causes signature to fail
2013-03-20 09:55:30 +00:00
Nathan Gray
81fbfc23cc Add general placeholder {{link}} is a link to current record 2013-03-19 20:56:58 +00:00
Nathan Gray
e7b7b78e92 Re-init egw_time so it gets the appropriate preferences for the notification 2013-03-18 23:41:10 +00:00
Nathan Gray
0e89b309e3 Push updated preferences to client so favorites don't re-appear / disappear 2013-03-18 20:55:47 +00:00
Nathan Gray
3e09f30480 Fix multiple delete confirmations 2013-03-18 15:43:22 +00:00
Nathan Gray
a0cedae8b3 Add chosen to et2 selectbox 2013-03-15 17:47:28 +00:00
Nathan Gray
3c69b26525 Add empty row placeholder 2013-03-13 18:42:03 +00:00
Nathan Gray
86321fa998 Change blank filter label to 'No filters' 2013-03-13 15:23:21 +00:00
Nathan Gray
9b74347048 Remove debug 2013-03-12 23:03:21 +00:00
Nathan Gray
dee286e2e0 Move favorites js into its own widget, add support for favorites in sidebox when there is no nextmatch on the page 2013-03-12 22:57:42 +00:00
Nathan Gray
e63ea5a1e4 Favorites progress - safe names, delete confirmation, automagic sidebox favorites 2013-03-06 00:02:48 +00:00
Nathan Gray
af4607222d Return correct true or false based on if the value was added or deleted successfully, was always true 2013-03-04 23:31:30 +00:00
Nathan Gray
ad6cb824ec Add ACL check to read-only category selection and nextmatch row color 2013-03-04 16:40:25 +00:00
Klaus Leithoff
6d05cf328c * Addressbook: switch off client side email address validation as browser rule set seems to be more restrictive than rfc822 rules suggests; implement better rfc822 compliant email address validation 2013-02-28 15:21:43 +00:00
Nathan Gray
9a7f5102cf Add Favorite filters to nextmatch - W.I.P 2013-02-27 18:13:54 +00:00
Nathan Gray
7d07d51265 Avoid warning if selectbox has no options 2013-02-27 17:57:23 +00:00
Nathan Gray
4b591de8f9 Fix column default preferences, include auto refresh in 'As default' 2013-02-25 21:39:53 +00:00
Nathan Gray
1236f38a5b Fix extra <br />s in HTML emails, cache notification body instead of re-doing for every notified user 2013-02-22 18:35:33 +00:00
Ralf Becker
fc6c2d8264 date-time_today widget for old eTemplate, to be able to use it in editor 2013-02-18 14:55:24 +00:00
Ralf Becker
4ab0aaab9f function signature for new nextmatch refresh method, already working clientside by calling applyFilters, but should be smarter, serverside will require row-data plugin on clientside 2013-02-18 09:47:39 +00:00
Nathan Gray
298309074e Implement updating just the affected nm row with egw_refresh() 2013-02-14 11:25:24 +00:00
Ralf Becker
bfc0c48210 use egw.includeJS instead of egw.ready for ajax-exec, eg. used in mail 2013-02-13 16:30:30 +00:00