Commit Graph

2240 Commits

Author SHA1 Message Date
Ralf Becker
610e7e6e93 halfway fixed eTemplate(1) part of etemplate_widget_transformer, but then enabled old code in contact_widget again, as value is not yet handeled correctly by callback in contact_widget 2014-05-07 09:00:59 +00:00
Nathan Gray
33594b565d Custom fields are not allowed to have a null value, since NULL is skipped by backend
Fixes bug where it was impossible to clear date cfs
2014-05-05 22:19:54 +00:00
Nathan Gray
4053d1a204 - Move function to find selectbox options to public, static so other widgets (read only selectAccount) can use it
- Fix selectAccount missing extra app-specific options
2014-05-05 17:25:01 +00:00
Ralf Becker
ed85cc3ce6 allow apps to supply own etemplate_widget_transformer extending widgets 2014-05-05 16:05:39 +00:00
Hadi Nategh
098de471cd No need to overwrite the "beforeSendToClient" method for date widget, because we are handling date/time conversion on client side 2014-05-05 14:11:00 +00:00
Nathan Gray
48fa6611f3 Use a single client-side cache for account selection so we don't have to send it for every widget 2014-04-23 19:00:59 +00:00
Ralf Becker
e526c42e3d forgot to handle empty-label value 2014-04-18 08:32:13 +00:00
Nathan Gray
dac15dbded Fix an additional case in duplication detection.
Prevents doubled options in some select-account widgets
2014-04-17 21:47:13 +00:00
Ralf Becker
0b9bffc40c fixed validation for select-account to work on actual value and attribute account_type and not on options send by server 2014-04-17 12:46:27 +00:00
Nathan Gray
22dfe2a5db Any changed sel_options from app need to get encoded too.
Fixes missing 'All' option in Tracker with Firefox.
2014-04-08 17:42:19 +00:00
Ralf Becker
9532debc5d * eTemplate/all apps: removed custom-field widget type IP again, as it caused too many problems in various modules 2014-04-08 11:59:55 +00:00
Nathan Gray
d81adb1d82 Fix bugs in server side custom field validation
- Multiselects were always passing required check
- Validation errors were not properly set, so weren't displayed
2014-04-02 20:12:52 +00:00
Ralf Becker
ce3c5c897f stop server-side validation errors, if submit was with no_validation 2014-04-02 19:30:33 +00:00
Nathan Gray
d3c0314b4d Switch AJAX upload library to Resumable for chunked uploads. 2014-04-01 20:48:40 +00:00
Ralf Becker
ba4bb53c29 fixed not working autorepeat if $row_cont was used 2014-03-28 17:32:32 +00:00
Klaus Leithoff
a9f7b3486b silence permanent error log 2014-03-27 14:30:14 +00:00
Nathan Gray
42272cf2e2 Don't take away default action's onExecute, even if it does have children 2014-03-25 16:47:27 +00:00
Ralf Becker
1007f2ec7e fixed idots not always loaded client-side configuration: now using egw_info[flags][nonavbar] === "popup" to let framework definitly know we dont want a navbar (need to know before navbar is called and can not use true, which is allways set by index.php) 2014-03-25 12:12:00 +00:00
Ralf Becker
dfc186f9d5 nicer formatting of apps using old eTemplate 2014-03-24 15:08:55 +00:00
Ralf Becker
dba03454fb using $readonlys["__ALL__"] with explicit $readonlys[$name] = false was NOT working for extensions 2014-03-24 09:03:38 +00:00
Ralf Becker
05857ba73b more changes etemplate_old --> etemplate, maybe better not started that ;-) 2014-03-23 09:36:35 +00:00
Ralf Becker
20193e6418 more changes etemplate_old --> etemplate, maybe better not started that ;-) 2014-03-23 09:34:18 +00:00
Ralf Becker
570b95f9ae making old etemplate class available as etemplate_old, as that name was changed in a couple of files ... 2014-03-23 09:20:22 +00:00
Ralf Becker
1f0dd46118 as we use now etemplate_new for eTemplate2 and etemplate for old eTemplate class, there is no need to switch etemplate class between new and old 2014-03-23 08:41:31 +00:00
Ralf Becker
0d1deb6ca6 fixed old eTemplate apps show no navbar in idots template 2014-03-23 08:22:56 +00:00
Klaus Leithoff
bec6913567 revert changes, as the double - is needed here; needs to be fixed elsewhere 2014-03-21 14:50:53 +00:00
Klaus Leithoff
354a2ac3e8 fix ->typo<- that prevented the merge action on message/rfc822 in addressbook to function properly 2014-03-21 14:26:10 +00:00
Nathan Gray
133c4a317c Fix bug in using knownUIDs where empty rows were left or too many removed when the count changed 2014-03-19 19:19:34 +00:00
Nathan Gray
4a5d906e48 Enable using knownUIDs and lastModification timestamp to avoid sending unchanged rows back to client 2014-03-18 22:54:14 +00:00
Nathan Gray
92e29ff0c4 Fix merge print to work with both old & new ODF spreadsheets
- adds support for calcext:value-type cell attribute
2014-03-18 14:13:57 +00:00
Ralf Becker
25351aa53b fixed typeOptions were not added, if selectbox had no explicit type attribute: eg. <select-account 2014-03-18 11:39:03 +00:00
Ralf Becker
7251895690 fixed not called beforeSendToClient callbacks for added tabs, if tab has no (optional) namespace 2014-03-18 11:01:46 +00:00
Nathan Gray
b0db615411 - Fix taglist account infinite loop when looking for accounts (using link title system instead of data source)
- Don't search server side if there's no query string
2014-03-17 23:03:24 +00:00
Ralf Becker
2eb9352f78 fixed error "template NOT found!", if template-name contains cache-buster 2014-03-17 17:12:02 +00:00
Ralf Becker
6f099299b4 we need noPrint on td 2014-03-16 15:22:48 +00:00
Ralf Becker
3e7ba51020 fixed ReferenceError: $j is not defined in old eTemplate popups 2014-03-15 10:04:38 +00:00
Ralf Becker
184a9fa4e8 allow to use namespaced $readonlys for grids, eg. grid uses "grid" as name, you can now set $readonlys["grid"]["something"] as well as $readonlys["something"] like in eTemplate2 2014-03-14 09:36:01 +00:00
Klaus Leithoff
e4deb0f0a5 switch off talkative setElementAttribute 2014-03-12 13:44:33 +00:00
Nathan Gray
612b5bf34f Fix searching for a space gives database error
(To actually search for a space, use quotes)
2014-03-11 18:26:40 +00:00
Nathan Gray
4cdd4d9d4a Update opendocument spreadsheet numeric cell attributes to include celcext:value-type. 2014-03-11 17:35:50 +00:00
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
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