Ralf Becker
01fad19d9d
fixed just broken date-time widget and duration not accepting commas
2014-01-30 16:24:58 +00:00
Ralf Becker
d09391c0ee
fixed validation from date-timeonly and also no longer triggering change events for initial content
2014-01-30 15:30:14 +00:00
Ralf Becker
a34f35baf1
fix serverside url-validation required "http://" protocoll
2014-01-30 12:48:16 +00:00
Klaus Leithoff
04ad47f021
avoid error on this.input[0] undefined
2014-01-30 09:07:02 +00:00
Ralf Becker
9e29d8b282
docu update to fix ide warnings and indention
2014-01-29 18:55:24 +00:00
Ralf Becker
5e2d655d40
only trigger change event for real changes, first initialisation of widget is NOT considered a change
...
this modification might be necessary in more widgets, because they are either not an et2_inputWidget or overwrote set_value method
2014-01-29 18:24:57 +00:00
Nathan Gray
37a39dfe87
Remove extra margin inside labels, fixes indented text in nextmatch columns (textbox_ro)
2014-01-29 18:21:25 +00:00
Ralf Becker
020058061d
missing docu to fix ide warnings
2014-01-29 17:45:24 +00:00
Ralf Becker
4036b268c9
missing docu to fix ide warnings
2014-01-29 17:11:11 +00:00
Ralf Becker
11fd61fe8a
fixed indention and ide warning about missing docu
2014-01-29 15:55:18 +00:00
Ralf Becker
a659b49f51
silently fix skiped minutes or times with just one digit, as parser is quite pedantic ;-)
2014-01-29 13:10:31 +00:00
Ralf Becker
db3422fccb
fixed date(-time)-picker looses changes made in textfield directly, we now bind to change of input instead using onSelect of picker
...
also changed parsing of date(-time) strings to use parser of datetimepicker with our format, instead of date object, which does not understand our formats
2014-01-29 11:27:24 +00:00
Ralf Becker
09c5ea8df5
fixed datetime widget returns march, if selecting febuary on a current date with a day >28
2014-01-29 10:18:07 +00:00
Klaus Leithoff
398ca817d4
handle condition for no next found, to avoid java script errors
2014-01-29 09:58:29 +00:00
Hadi Nategh
f532c22707
Fix a defalut min-height for drop area in toolbar widget to be able to drop back the actions when there's no actions in action list
2014-01-29 09:04:10 +00:00
Ralf Becker
6f74c42111
translations from Stefan
2014-01-28 15:32:42 +00:00
Nathan Gray
d3e9f43b94
Don't initialize a hidden splitter, it ruins the size calculations. Initialization for hidden splitter is done (if needed) in resize().
...
Fixes mail splitter in hidden tab initializing to top, wrecking nextmatch grid.
2014-01-27 22:04:56 +00:00
Ralf Becker
ace95f26b0
fixed not expanded onchange attribute, if widget type need to be expanded too, eg. log-viewer in CalDAV or eSync preferences
2014-01-27 21:59:29 +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
ba5254040d
fixed "can not access attribute 0 of undefined" caused by automatic nextmatch refresh loosing context
2014-01-27 16:26:00 +00:00
Ralf Becker
2e9b753292
remove permanent error-log
2014-01-27 13:07:50 +00:00
Ralf Becker
2685f4d46e
fixed AB "looses" name/organisation column after changing sorting, caused by grid not instanciating disabled rows as children and therefore column-name changes with sorting
...
added _getColumnName implementation to grid, which takes all nextmatch-* widgets into account (like old eTemplate did) and therefore does not change when sorting changed header-order by disabling of rows
2014-01-27 11:06:44 +00:00
Ralf Becker
50b34a7b99
docu update and fix IDE warnings
2014-01-27 09:48:43 +00:00
Ralf Becker
4f30210b03
indention
2014-01-24 09:27:52 +00:00
Ralf Becker
5452c9fca2
fixed XML error, if no type given
2014-01-23 12:43:29 +00:00
Ralf Becker
f0710fbecb
fixed et2_dialog static methods like confirm did not show translations: injecting an egw object with loaded translations for current app
2014-01-23 10:52:44 +00:00
Nathan Gray
c5e1ed231a
Fix deleting multiple rows by storing grid row ID first, otherwise grid row IDs change as we delete rows
2014-01-22 16:43:31 +00:00
Nathan Gray
b4ad250438
Fix rows staying after deleting by preventing automatic grid stuff while deleting
2014-01-22 15:22: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
Klaus Leithoff
22aa7fc0c8
add widget function to reSelect an Item without firing the events
2014-01-21 17:10:48 +00:00
Nathan Gray
87473ae76b
Fix cache clearing in selection manager
2014-01-21 15:50:06 +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
Ralf Becker
3a140463e8
fix invalid debug-level "warning", has to be "warn"
2014-01-21 14:39:51 +00:00
Hadi Nategh
dbb6adf806
Fix no drop place when there's no action in toolbar widget
2014-01-21 13:52:32 +00:00
Ralf Becker
81ed37dab5
defining and documenting "onopenstart" and "onopenend" attributes
2014-01-21 13:39:27 +00:00
Ralf Becker
9f0f33e360
implementing callbacks for "onopenstart" and "onopenend" events: set_onopen(start|end)() and using it in mail to lock tree while accounts are newly opened
2014-01-21 13:34:02 +00:00
Klaus Leithoff
83d840b584
translations provided by stefan
2014-01-21 12:19:17 +00:00
Nathan Gray
045d1a3b19
Revert r45247, mail has some lingering issues and needs a harsh reset
2014-01-21 09:42:10 +00:00
Ralf Becker
37fa9facce
fixed IDE warnings and svn propset svn:keywords Id
2014-01-20 18:19:04 +00:00
Ralf Becker
01773135ea
fixed buttons in toolbar show no tooltip in Firefox (caused by title attribute on image not button)
2014-01-20 18:11:32 +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
Nathan Gray
c675cd558e
Don't initialize href, fixes href = "" on every image
2014-01-20 15:19:38 +00:00
Nathan Gray
f8a361c0bc
Make sure value is not padded with spaces
2014-01-20 13:59:58 +00:00
Nathan Gray
3084da2238
Make sure value is numeric.
...
Fixes user/group selection sometimes doubled an option
2014-01-20 13:45:33 +00:00
Nathan Gray
546fb77abb
Fix unable to use only OK button constant
2014-01-20 13:07:11 +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
Nathan Gray
ad735932f1
Add loader animation to iframe src change
2014-01-18 16:55:16 +00:00
Nathan Gray
64fd8ec86b
Use widget ID in action manager, only use unique ID if widget somehow has no ID
2014-01-18 16:48:07 +00:00
Nathan Gray
ac0e2f6016
Improve applyFilters(), no longer blanks nextmatch before re-filling
2014-01-18 13:46:33 +00:00
Nathan Gray
2445fae8dd
Default formatting for custom field list, uses full width and limits input width
2014-01-18 13:16:27 +00:00
Nathan Gray
c74c024a46
Give specific class to custom fields list table
2014-01-18 11:59:05 +00:00
Nathan Gray
f3762d9884
Fix typo causing wrong record count after delete
2014-01-18 11:58:34 +00:00
Nathan Gray
46c80212ba
Better calculation for next/previous index of sparse map
2014-01-18 11:47:36 +00:00
Nathan Gray
35c70fea93
Changes to action system:
...
- Change selected to not start at global root - fixes key handler only working for 1 app
- Add depth limit for finding action / object (depth first search)
- Use depth limit when looking for top level application action/object to avoid crossing apps
2014-01-18 11:21:53 +00:00
Ralf Becker
f25bb789e7
fixed not working telephon integration / url-phone widget
2014-01-18 09:29:32 +00:00
Nathan Gray
1e379a7b8d
Avoid error if categories were not provided, just skip styling
2014-01-18 09:04:14 +00:00
Nathan Gray
344a63b37c
Fix removing (delete) a row from nextmatch
...
- Fix broken destroy callback
- Fix caching & actions to be removed
- Fix always removing the last row also
- Fix indexing so arrow keys work over sparse indexMap
2014-01-17 17:57:59 +00:00
Ralf Becker
0c2d8f87b9
only bind session/request destroy handler, if we have an etemplate_exec_id. Not the case for pure client-side call like from et2_dialog
2014-01-17 17:51:17 +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
da60fe1228
To work around a bug in action system we call global actionManger of an application NOT just appname, but prefix it with "__"
2014-01-17 16:18:12 +00:00
Hadi Nategh
bb07598beb
Add set_href function to image widget,which wraps the image with <a> tag and binds a click handler to it
2014-01-17 15:58:58 +00:00
Nathan Gray
af6b513a54
Wrap search box & button in their own div
2014-01-17 13:35:13 +00:00
Nathan Gray
b094225f7a
Wrap action/button groups each in their own span
2014-01-17 13:24:18 +00:00
Nathan Gray
1933389ae2
Fix some more splitter strange behaviour
...
- Add ignore zone, undock won't go to a position < 20px from edge. In that case, it undocks to 50%
- Work around deferred layout (Chrome & Firefox) which caused wrong DOMNode height, which broke nm resizing
2014-01-17 12:43:14 +00:00
Klaus Leithoff
387035f76d
new translations from translation.stylite.de
2014-01-17 10:48:19 +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
117a2f5f6b
mark mailing-lists in taglist responses with "mailinglist" css class, style it and give it a title "mailinglist" to differenciate from contacts/regular email addresses
2014-01-16 15:58:27 +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
Nathan Gray
6b86050e4e
UI for long running tasks that can be split
...
- Common dialog in et2_dialog
- nextmatch action that runs a menuaction for each selected row
2014-01-16 13:54:19 +00:00
Ralf Becker
a0213fd5a3
now calling our session_destroy also for etemplate2.clear(), this way we get also unloads from frameset templates
2014-01-16 12:52:25 +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
Nathan Gray
4ff7a0bb31
Allow bigger progress bar
2014-01-16 10:44:04 +00:00
Ralf Becker
7cc91b0046
new&modified images from pixelegg
2014-01-15 18:04:11 +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
Nathan Gray
63b92d2939
More careful split of parameters, fixes losing part of last parameter if it had '-' in it
2014-01-15 15:05:10 +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
Klaus Leithoff
60bb090278
pixelegg changes from wednesday, new/changed images and styles
2014-01-15 13:46:14 +00:00
Ralf Becker
cb8b279e94
fixed image widget uses index.php for not found images
2014-01-14 17:08:41 +00:00
Ralf Becker
629bd6f2ee
added pixelegg/less/svg.css stylesheet and id reflecting their name to all svn image
2014-01-14 16:14:51 +00:00
Klaus Leithoff
e5acab5fb9
pixelegg changes from tuesday
2014-01-14 16:04:20 +00:00
Nathan Gray
959a6bd588
Increase size of column resize handle
2014-01-14 14:52:21 +00:00
Nathan Gray
29868662c1
Re-set whitespace to normal inside hbox children, fixes not nowrap text contents
2014-01-14 14:01:30 +00:00
Nathan Gray
3b443f976d
Fix link entry widget not expanding after hiding app selectbox
2014-01-14 13:48:11 +00:00
Nathan Gray
cfa981480e
Fix selecting 00:00 in datetime widget re-set to current time
2014-01-14 13:32:08 +00:00
Nathan Gray
6418c06b18
No seconds or milliseconds, in date/times
2014-01-14 12:35:28 +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
21bb9ef481
pixelegg changes from monday
2014-01-14 08:20:32 +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
4eea706aa0
- Return true after window close in et2_load, avoids 'Error while parsing et2_load response'
...
- Catch trying to set a widget attribute with no set_...() function via JSON assign and warn instead of generic error
2014-01-13 15:07:03 +00:00
Nathan Gray
be0878f883
Use this.egw() to get the correct (app level) data cache, which stores appname internally.
...
Fixes permission denied popup when updating.
2014-01-13 15:04:30 +00:00
Nathan Gray
51d802ec78
Only try to unbind if there's a value. If there isn't a value (new entry), handler wasn't bound, and trying causes an error.
...
Fixes blank popup after save.
2014-01-13 15:03:15 +00:00
Hadi Nategh
dc614521b3
Make toolbar widget being able to d-n-d with user prefernces for actions
2014-01-13 10:26:20 +00:00
Nathan Gray
71f0fcdda0
Implement refresh type 'update' to _only_ update the data of a row - sorting is not considered, so make sure to use 'edit' if sorting might be affected.
2014-01-13 09:40:23 +00:00
Nathan Gray
43fe37761f
Un-bind window resize handler in destructor
2014-01-11 16:43:06 +00:00
Nathan Gray
a458019490
Avoid some missing attribute warnings by not trying to set needed on readonlys, which don't support it.
2014-01-11 16:40:45 +00:00
Nathan Gray
5f12847fb3
Fire a refresh event (from the nextmatch widget) when the nextmatch auto-refresh happens, so apps can update anything else they need to.
2014-01-11 14:14:42 +00:00
Nathan Gray
52ab3203bd
Remove r44925, not needed
2014-01-11 12:01:45 +00:00
Nathan Gray
04a845fa35
Enhance refreshItem() to optionally take the data needed for refreshing to avoid an extra call to the server
2014-01-11 11:53:23 +00:00
Nathan Gray
26b8cae767
Avoid removing all event listeners if the etemplate has no unique ID (happens for dialogs)
2014-01-11 11:42:23 +00:00
Ralf Becker
87ea75a75b
use \042 instead of \" in regular expression, as it stalls minifier
2014-01-10 16:19:05 +00:00
Nathan Gray
3b57659536
Defer binding to window resize until after loading is finished.
2014-01-10 15:54:35 +00:00
Nathan Gray
cb94adb995
Defer loading of tabs
...
First / selected tab is loaded in line with normal code execution. Not visible tabs are loaded after using window.setTimeout(). jQuery.Deferred makes sure the template doesn't fire the load event until they're all done.
2014-01-10 14:32:03 +00:00
Nathan Gray
9b4cd3e306
Some more profiling helpers - timeline timestamp at start of rendering, consistently measure to end of app callback
2014-01-10 14:27:21 +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
Nathan Gray
c9e923bf78
Make sure UID is a string
2014-01-09 18:10:32 +00:00
Nathan Gray
f1558bcffb
Fix missing bracket
2014-01-09 16:53:42 +00:00
Nathan Gray
3fdb024ff2
Don't reset height until it's time to invalidate, avoids re-calculating on every row
2014-01-09 16:46:39 +00:00
Nathan Gray
c082dec331
Profiling - Automatically profile etemplate2 loading in Chrome
2014-01-09 16:44:34 +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
Nathan Gray
13572c472a
Profiling - Add some timestamps for timeline
2014-01-09 13:38:32 +00:00
Ralf Becker
64cc24815c
changed hopefully last reference to orange-ball.png with bullet.png
2014-01-09 12:26:34 +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
5179794f15
Fix constant warnings about not found images when image was in nextmatch row and src was '' for the row
2014-01-09 11:43:15 +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
Nathan Gray
957683087c
Give a minimum height to loading nm rows so average height can be properly calculated, avoiding loading hundreds of rows.
2014-01-08 16:10:07 +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
3156da0619
give buttons in toolbar an individual id based on toolbar-id and action-id
2014-01-06 16:45:54 +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
d000a05b72
Start search if user presses enter in search box
2013-12-30 17:05:03 +00:00
Nathan Gray
fc2d036332
Add ability to turn on/off lettersearch line in column selection dialog (when enabled for app)
2013-12-24 16:54:38 +00:00
Nathan Gray
9009ef44bb
Pass current app to egw_app_header() so it can set header for correct app. Fixes sometimes wrong app header shown.
2013-12-23 16:13:40 +00:00
Hadi Nategh
ae2049db28
Fix missing translation attr in groupbox widget
2013-12-20 12:47:49 +00:00
Nathan Gray
c458f34b18
Explicitly load headers & js for old etemplates
2013-12-19 18:27:46 +00:00
Nathan Gray
3e4100d5df
Make sure content manager is not null before trying to use it (occasionally happens with programmatically created selectboxes)
2013-12-19 18:06:16 +00:00
Nathan Gray
103515342e
Add IDs to search & export buttons.
2013-12-19 15:50:15 +00:00
Klaus Leithoff
d3e89b1095
attempt to implement and make use of the tree-side drag and drop; does not work out-of-the-box, at least not as attempted in mail module
2013-12-19 09:58:32 +00:00
Nathan Gray
ccae3f71ab
Fix undeclared var (strict mode)
2013-12-18 18:17:34 +00:00
Nathan Gray
907e9740d8
Change tree autoload URL to work with egw.link() instead of against it, while still giving the tree lib an absolute URL.
2013-12-18 17:54:28 +00:00
Nathan Gray
af51f8a102
Remove some more old code, favorites now in framework
2013-12-16 20:37:38 +00:00
Nathan Gray
a1e5783da6
Make sure data is set before trying to look inside it.
2013-12-16 18:11:53 +00:00
Ralf Becker
374312be3c
need to set app_header before message, as app_header is (temp.) replaced by it
2013-12-13 01:15:41 +00:00
Nathan Gray
a79f7b87a6
Continue moving most favorite functionality from favorite widget into framework. Favorite widget now uses framework.
2013-12-12 23:45:09 +00:00
Nathan Gray
23fd7066bf
Add etemplate into indexed list before starting the load process. This way anything looking for it can find it, even if it's not fully loaded (and bind to the load event if needed)
2013-12-12 23:37:12 +00:00
Nathan Gray
680ce48fef
Check to make sure selectionMgr is there before trying to use it
2013-12-12 23:34:42 +00:00
Ralf Becker
9c3c077314
fixed not updated sidebox in calendar listview
2013-12-12 23:32:30 +00:00
Ralf Becker
1c7887ca6a
Pixelegg changes from Thursday
2013-12-12 20:27:35 +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
39c53c5530
Parse null values as string '' instead of 'null' to match PHP
2013-12-12 20:10:02 +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
603f063e00
Properly handle only-app set, with just an integer value
2013-12-11 23:11:33 +00:00
Nathan Gray
362c61e0ae
Don't try to take extra size from already too small columns
2013-12-11 21:24:17 +00:00
Nathan Gray
71e62f24f3
Remove extra border spacing, should be handled in CSS if needed
2013-12-11 21:20:07 +00:00
Nathan Gray
0f055b5295
Use 'state' to store nm info
...
Fix some etemplate permission errors
2013-12-10 23:16:08 +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
Nathan Gray
735a1afa43
Clear queue when results arrive, and in reset()
2013-12-09 21:37:39 +00:00
Klaus Leithoff
4c03a02926
attempt to implement focusItem, to be able to scroll to a selected Item automatically; implement wrapper for hasChildren from dhtmlXTree API
2013-12-09 16:00:15 +00:00
Ralf Becker
8da1afca1e
some fixes to get "add favorite" in regular calendar views do something
2013-12-08 22:56:23 +00:00
Ralf Becker
921eaf73f1
pixelegg changes from last week
2013-12-08 21:38:36 +00:00
Nathan Gray
ac04ff9f6c
non-et2 Favorites work in progress
...
Stop et2_favorites from overwriting sidebox
2013-12-06 23:10:25 +00:00
Klaus Leithoff
3219eccec4
translation work provided by ingo, michael and other stylite staff
2013-12-06 08:05:58 +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
7ff91718e4
Fix only 2-3 rows shown for applications loaded into not visible tabs
2013-12-05 20:26:00 +00:00
Hadi Nategh
53006083e9
Add confirm method, with fixed YES_NO buttons and submit functionality, which could be exchanged by old javascript confirm() function
2013-12-05 08:53:11 +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
6f90cb8fb3
Decrement row count when refreshing a delete
2013-12-04 21:12:25 +00:00
Nathan Gray
3596b74f01
Use 1% to avoid scrollbars when they should not be there
2013-12-04 20:53:10 +00:00
Nathan Gray
834dbe886b
Automatically bound change handler returns true to play nice with other change handlers that might be bound.
2013-12-04 19:52:51 +00:00
Ralf Becker
7d9d146241
re-added probably accidently removed et2_taglist_ro ul css
2013-12-04 18:58:51 +00:00
Klaus Leithoff
68f2605cf4
translations generated/retrieved on translation site: Thank you for your contributions
2013-12-04 10:31:41 +00:00
Ralf Becker
144da1e76d
pixelegg changes from tuesday
2013-12-04 05:23:51 +00:00
Nathan Gray
698efb3039
Better handling of submitting with passed button to properly process the button ID into the value array. Fixes the case where ID like 'button[delete]', previously wound up in button.button[delete].
2013-12-04 00:15:50 +00:00
Nathan Gray
7148a1f274
Fix broken tree by removing extra line - was not supposed to be there
2013-12-03 21:37:50 +00:00
Nathan Gray
ec118b0839
Nextmatch export button no longer defaults to on, it must now be explicitly set by the application.
2013-12-02 21:27:55 +00:00
Nathan Gray
4c1c710ba9
Implement display of server-side validation errors
2013-12-02 20:35:32 +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
Nathan Gray
fbbe467a7e
Unbind previous click handler before setting a new one, or they get doubled.
2013-12-02 16:24:24 +00:00
Nathan Gray
0f5cfe1949
Default to user's preferred size, app can dock if desired. Since they already do...
2013-11-29 21:26:35 +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
6dc8e077ff
Revert changes from 44692
2013-11-28 20:28:36 +00:00
Nathan Gray
bcfaa60405
Automatically size just to parent, not whole window
2013-11-28 18:43:44 +00:00
Nathan Gray
b14424dbd1
Handle possibility of a null option without failing
2013-11-28 18:43:12 +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
f8352386cb
Use === to tell the difference between '' and (int)0 keys
2013-11-28 18:12:08 +00:00
Nathan Gray
f5b02ccc21
Preserve selected application when clearing search, or it gets lost internally
2013-11-28 17:31:22 +00:00
Ralf Becker
53eb8e553a
pixelegg changes from yesterday
2013-11-28 06:20:18 +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
fa65814f9e
Extend exception to all single select:
...
- Multi-select you don't select the empty/none option, just nothing
- Single select needs the empty/none option, even with chosen on
see r44551, 44631
2013-11-27 18:03:26 +00:00
Nathan Gray
407f3d673e
Fix private field filter
2013-11-27 17:17:37 +00:00
Nathan Gray
f88a93c17e
Can't switch DOM node in the detached interface, have to keep the original
2013-11-27 16:42:37 +00:00
Nathan Gray
1e36383224
Keep value in case select options haven't been set up yet so we can set value immediately after.
2013-11-27 16:35:45 +00:00
Ralf Becker
73b6521cbf
pixelegg changes from yesterday
2013-11-27 07:21:32 +00:00
Nathan Gray
3f687236a5
Avoid repeated errors if sidebox target is missing by removing listener first
2013-11-27 00:18:55 +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
092da6a706
Use a fallback menuaction that won't give a permission error
2013-11-26 22:34:32 +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
a5227f2359
Add read-only taglist
2013-11-25 18:10:48 +00:00
Nathan Gray
e942a63607
Better handling of buttons with text & image, as well as a default style.
2013-11-25 16:50:20 +00:00
Ralf Becker
5c7a290ac9
pixelegg changes from last week
2013-11-25 03:19:58 +00:00
Nathan Gray
ad3f10d1b0
Add check for nulls, they break
2013-11-21 23:43:53 +00:00
Nathan Gray
e1774ac9b7
Add attribute to include mailing lists in email results
2013-11-21 23:08:07 +00:00
Nathan Gray
0853f5bd66
Fix infinite loop by using a new counter variable
2013-11-21 21:25:31 +00:00
Hadi Nategh
a5043743a8
Try not to remove options value for type "select-number" becasue we need it to display rows in legacy_options
2013-11-21 17:39:44 +00:00
Ralf Becker
bb56c0aa45
pixelegg changes
2013-11-21 04:18:09 +00:00
Nathan Gray
ab2a1ae9b9
Accept categories as objects in an array as well as map by category ID
2013-11-21 00:21:01 +00:00
Nathan Gray
e623ea8c82
Change minimum height from 150px to 100px, still enough for a small nm
2013-11-20 23:27:53 +00:00
Nathan Gray
e231ca5212
Fix some splitter issues:
...
- Loaded at wrong size
- Docking lost previous pane size
- Docking overwrote bar location preference
- Allowed etemplate to think load was done too early
2013-11-20 23:27:10 +00:00
Ralf Becker
cd99f101a1
pixelegg changes from yesterday
2013-11-20 08:41:17 +00:00
Nathan Gray
1f1ea27078
Resize children's height too
2013-11-20 00:03:58 +00:00
Nathan Gray
c944df738d
Make sure button is there before trying to edit its CSS
2013-11-19 21:49:07 +00:00
Nathan Gray
0357834ce1
Fix bad search url
2013-11-19 18:28:54 +00:00
Ralf Becker
845c460d68
fixed not working set_value
2013-11-19 15:18:12 +00:00
Nathan Gray
b6f16956f3
Make sure options are set before looking inside
2013-11-18 23:56:25 +00:00
Nathan Gray
2b7d47fcf7
Add background_image attribute, to allow setting image + label together, using button's background-image CSS
2013-11-18 23:34:52 +00:00
Nathan Gray
05aafd1fb1
Fix some grid children not getting run called after disabled
2013-11-18 23:11:27 +00:00
Nathan Gray
363e2d5d5f
Avoid permission error when searching
2013-11-18 21:20:01 +00:00
Ralf Becker
2b7d9af0a2
reverting to previous app.css file and remove app.less files, as they are not used by pixelegg template and create some glitches, might re-introduce .less for regular templates later
2013-11-18 19:57:38 +00:00
Nathan Gray
cc5b0fc241
Allow link widget inside, it's used for searching
2013-11-18 18:47:25 +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
a4f5ea0b00
propagate width to magic suggest
2013-11-17 20:36:35 +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
Nathan Gray
26888ce64c
When turning on tag mode, remove empty label from options.
2013-11-15 16:51:49 +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
3c38cd10c4
Nextmatch update changes:
...
- Implement "update" as alias for edit
- Comment out handling of edit (handle as add)
2013-11-15 15:28:38 +00:00
Ralf Becker
727cdc83b3
newewst pixelegg changed from today
2013-11-14 19:29:55 +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
0745db84bd
Use current app to get around missing etemplate run rights
2013-11-13 23:47:01 +00:00
Nathan Gray
d1c5bf2243
Use current app to get around missing etemplate run rights
2013-11-13 23:28:26 +00:00
Nathan Gray
23f85e9763
Enable etemplate for multiple templates
2013-11-13 22:43:19 +00:00
Nathan Gray
44f6f55406
Make sure entry header sets activeFilter value when setting nextmatch
2013-11-13 22:41:22 +00:00
Nathan Gray
70b4ff412c
Avoid errors if row_cont is null, just use an empty array
2013-11-13 19:25:10 +00:00
Nathan Gray
b7487f8b72
Avoid double-binding change & focus handlers
2013-11-13 18:17:50 +00:00
Nathan Gray
a10ac05b63
Allow app's custom file drop code to run even if no row data found
2013-11-13 17:18:55 +00:00
Nathan Gray
85aa7c76e3
Fix missing prices in projectmanager price list widget
2013-11-12 21:36:59 +00:00
Nathan Gray
a4cad98e4c
Skip request to make links if there are no links to make
2013-11-12 20:25:04 +00:00
Nathan Gray
87a4d6471b
Add extra filters in to list
2013-11-12 20:14:33 +00:00
Ralf Becker
45a70dcf1d
todays changes from pixelegg
2013-11-12 17:24:19 +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
96336ea521
fixed error, if no favorites are defined
2013-11-12 07:51:28 +00:00
Ralf Becker
583538e824
using now CSS preprocessor less ( http://lesscss.org ) to create some of our css files, used a lot in new Pixelegg template
2013-11-11 19:10:28 +00:00
Ralf Becker
77a30817d6
images for new Pixelegg template
2013-11-11 18:56:02 +00:00
Hadi Nategh
42368769a0
Fix %s as value in description widget
2013-11-11 14:16:18 +00:00
Ralf Becker
7c4d696f4b
change height of et2_button_icon class to 16px, as that is size of all our current images, rescaling them to 20px looks uggly
2013-11-09 12:10:08 +00:00
Ralf Becker
38748c2fa1
fix for action-checkboxes not transmitted in et2
2013-11-08 16:38:12 +00:00
Nathan Gray
ca92b22daf
Downgrade error about overwriting value, id exists twice to warning.
...
Stop warning about duplicate IDs in children of header bar, those values are part of nextmatch.
2013-11-08 16:28:07 +00:00
Ralf Becker
beeecf46d0
2 more widgets without server-side class
2013-11-08 09:31:08 +00:00
Nathan Gray
ba9782138c
Check for app_callback before trying to call it
2013-11-07 23:21:14 +00:00
Nathan Gray
969155e150
Handle no files selected without throwing warnings
2013-11-07 23:20:07 +00:00
Ralf Becker
441a0eb4e9
new seletbox.set_multiple(_multiple, _rows) method to switch multiple on/off on instanciated widget, optional parameter selectbox.set_tags(_tags, _width) to specify width
2013-11-07 13:20:49 +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
Nathan Gray
f973dc9b79
Fix missing category labels in nm list (set with full object was not implemented)
2013-11-06 20:26:38 +00:00
Nathan Gray
39c1efc789
Fix up dataview / nm filter changes. Removes extra server call to ajax_get_rows.
2013-11-06 18:55:57 +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
90a9df3d1e
key can be 0 or "" too, therefor need to check if attribute value exists
2013-11-06 10:31:31 +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
6d226a7921
split constructor function and place of instanciation for app.js objects: app[appname] = new app.classes[appname]();
2013-11-04 20:54:23 +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
a2faa9bd00
- Clean up some link sub-widgets to make them operate a little nicer / more consistently
...
- Check attrs for already existing select_options too, should speed up selectboxes a little more
2013-11-04 19:00:43 +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
52a3a5e2ae
fixed not working readonly display of integer or float widgets, caused by attribute validation allowing string only
2013-11-02 14:49:26 +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
Nathan Gray
aa4651272e
Some minor enhancements / bugfixes, such as
...
- Better warnings
- Check some vars before using
- Fixes missing value on selects with tag attr
2013-11-01 21:12:20 +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
Nathan Gray
34e5d01de4
Allow access to current namespace content with {$_cont[...]}, since {$cont[...]} goes to the root
...
(this might not be the best, but I can't figure out a better way with the compiled expressions)
2013-10-30 17:16:20 +00:00
Ralf Becker
064baf926a
et2.submit(button,async) button can now be widget-id too, new optional async parameter to send request asynchronious (default synchronious), eg. to show an otherwise frozen animation
2013-10-30 14:07:29 +00:00
Ralf Becker
cabb1e8b8c
fixed error if this._widgetSurrondings is not defined, no idea why
2013-10-30 09:43:12 +00:00
Nathan Gray
388b2cbceb
- Fix etemplate2 assign json plugin so it's on the right egw object
...
- Add a console debug group (when supported) to make it easier to work with console log
2013-10-28 20:16:49 +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
Nathan Gray
dc01c61793
Fix up order of operations in link widget to stop setting value too early
...
Fixes "false" as text when value is provided in app:id format
2013-10-24 16:04:44 +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
5923aed2a8
Make link widget last selected app preference specific to each application
2013-10-23 19:51:43 +00:00
Nathan Gray
550604017e
Make sure original buttons don't show in auto dialog
2013-10-22 22:43:14 +00:00
Nathan Gray
ea79585b23
Pre-set min-width of auto-dialog to honor specific sizing
2013-10-22 22:03:31 +00:00
Nathan Gray
a81aaefbe3
Fix selectbox with array value not getting set
2013-10-22 21:18:45 +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
a5e0ee9cd0
Fix broken warning about setting value not in options
2013-10-21 22:20:18 +00:00
Nathan Gray
52a7acfc55
- Don't change template if new is the same as current
...
- Create header in init(), now that not-loaded templates are handled
- Update nm left/right header input widgets' old value when filtering
2013-10-21 18:02:02 +00:00
Nathan Gray
788483043d
Set activeFilters to match value in left/right header when binding to change so favorites pick up header values set by server
2013-10-21 17:28:08 +00:00
Nathan Gray
2524de6c74
Add link now remembers you last selected app
2013-10-21 16:32:07 +00:00
Nathan Gray
c25d73b435
Change link widget from edit to view, pass the parameters needed to open in the app's tab or popup, according to link registry
2013-10-21 15:39:09 +00:00
Nathan Gray
3298e69d92
Change some more regexes to match all
2013-10-21 15:16:12 +00:00
Nathan Gray
77e2849895
Add et2_grid.set_value() to re-create a grid (including auto-repeat).
...
Pass an object with key/value pairs to update the grid's array managers (content,sel_options,readonlys).
The grid will then be re-created (not updated) using the template.
2013-10-18 23:24:49 +00:00
Klaus Leithoff
4dbda94f6a
implement set_class for progress widget; preserve widgets base classes, if we do so
2013-10-18 09:47:29 +00:00
Klaus Leithoff
2435e925ae
implement set_class for progress widget
2013-10-18 08:50:53 +00:00
Nathan Gray
5fab641aef
- Get eroles displaying in element list
...
- Remove unused js file
2013-10-17 17:02:36 +00:00
Nathan Gray
10f3665853
If there is no template specified, resolve immediately
2013-10-17 15:23:33 +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
Ralf Becker
3124a8c3f3
allow to use "about:*" or urls starting with / in set_value
2013-10-17 13:14:22 +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
Nathan Gray
d271990b84
Prevent creating multiple sub-widgets if doLoadingFinished() is called more than once (eg in nextmatch header)
2013-10-16 22:39:41 +00:00
Nathan Gray
4002907c05
Use jQuery's Deferred to solve the deferred loading problem instead of load events.
2013-10-16 20:48:05 +00:00
Ralf Becker
f10fc199a0
reverted only binding if onclick method is set to allways bind again (because eg. et2_button needs bind and fails to work) and only setting et2_clickable, if we have an onclick
2013-10-16 15:04:52 +00:00
Ralf Becker
d1a2b89815
only bind click event if we have a handler and add et2_clickable css class so user knows widget is clickable
2013-10-16 09:17:51 +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
Klaus Leithoff
ceb20da716
fix preset of taglist value
2013-10-14 08:37:49 +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
b77ce6a8dc
- MagicSuggest update
...
- Fix setting taglist value via js
2013-10-11 14:38:04 +00:00
Nathan Gray
f73f8fea89
Update email regex to allow:
...
Nathan Gray <ng.dot@email.com>
2013-10-11 14:35:13 +00:00
Klaus Leithoff
44e995abea
provide a tooltip on vfs select button icon
2013-10-11 13:48:50 +00:00
Klaus Leithoff
78e3371a2b
set action.caption as tooltip, and provide an applicable class for item images
2013-10-11 13:34:35 +00:00
Klaus Leithoff
d961343939
set action.caption as tooltip, and provide an applicable class for item images
2013-10-11 13:34:17 +00:00
Ralf Becker
200c9e55fe
dont replace value&label "" with empty_label, as empty_label is allways added, ignoring it here, to not add it twice
2013-10-11 13:02:22 +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
Ralf Becker
3c80defe8b
fixed setFilter to correctly return all current filter-values in its 1. parameter this.activeFilters
2013-10-11 09:55:12 +00:00
Nathan Gray
a30b656865
Fully support linking before entry is saved
2013-10-11 08:41:24 +00:00
Nathan Gray
8912d029a4
UI to support links on unsaved entries
2013-10-10 17:00:30 +00:00
Nathan Gray
33a7534299
Include offending widget in attribute type mismatch warning
2013-10-10 14:52:48 +00:00
Nathan Gray
e6f58c4d4b
- Fix value rejecting array
...
- Better handling of no comment (null) on link
2013-10-10 14:43:54 +00:00
Ralf Becker
046aab4000
re-add css class "row" to every grid row to get row-cursor back
2013-10-10 13:37:30 +00:00
Nathan Gray
398a8eed25
Event handler attributes:
...
- default to et2_no_init so they don't get processed if not set
- remove some duplication in attributes
2013-10-10 13:17:07 +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
22b5ed587f
Improve error message to make sure we get the error message
2013-10-10 12:32:34 +00:00
Nathan Gray
eda4d2a3f6
Some extra resize bits to make sure everything gets resized:
...
- Resize the grid (resizes the column headers)
- Re-initialize the dynheight, just in case something changed
2013-10-10 12:25:29 +00:00
Nathan Gray
09693fc761
Remove inline javascript to file
2013-10-10 11:58:19 +00:00
Nathan Gray
9fe3bda432
- Don't try to translate config
...
- Better error message if destroying CKEDITOR fails
- Handle failing destroy, and make sure widget is completely removed
2013-10-10 11:57:18 +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
60049dd085
fixed error stalling filemanager: can not read property _parent of undefined
2013-10-10 11:23:32 +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
ece1062b8b
fixed not translated empty_label in selectAccount or nextmatchAccountFilter: they always get translated independent of no_lang attribute
2013-10-10 10:23:37 +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
f12ab66b07
Ok, changing nextmatch row template via ajax should work now.
2013-10-09 17:33:29 +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
Ralf Becker
be0530936c
fixed taglist focus and click events to adhere to new event signature
2013-10-09 17:29:36 +00:00
Nathan Gray
26f75a241b
Make sure context is the widget when calling setters
2013-10-09 17:15:44 +00:00
Nathan Gray
1e8e86fe23
- More consistent firing of load event, so templates can be handled the same if the template has to be fetched or it's already there
...
- Caching of fetched templates in the instance manager
2013-10-09 17:14:59 +00:00
Ralf Becker
f40f41a7d4
set_value now iterates over all radioboxes with same id and (un)checks them depending on given value, DOM-id get now set_value appended to be unique
2013-10-09 16:22:35 +00:00
Nathan Gray
17c933cded
Better handling of binding change handlers to async loaded header templates
2013-10-09 15:14:25 +00:00
Ralf Becker
0163442f37
changed signature of on* event handlers: 1. event, 2. widget (context is DOM node), event handlers have now type "js" in attribute description and get automatic converted to a function, no more need to call et2_compileLegacyJS
2013-10-09 14:35:03 +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
Nathan Gray
df660bea3c
Better handling of doLoadingFinished and firing load event:
...
- don't fire while still loading
- prevent trying to load children before template is actually loaded from file
2013-10-09 14:10:33 +00:00
Nathan Gray
daf55af475
Don't try to resize if the columns are not set yet - there's nothing to resize
2013-10-09 14:05:05 +00:00
Nathan Gray
d22489e23b
Make sure callback is there before trying to call it. If the template changes before the timeout fires, it might not be.
2013-10-09 13:07:29 +00:00
Nathan Gray
fde83c834e
Register an AJAX handler for assign response type. Needs exec_id, widget ID, attribute name and value. Widget must support setting that attribute.
2013-10-09 12:56:49 +00:00
Nathan Gray
bfe208c013
Make sure favorite group widget gets cleaned up
2013-10-09 12:14:36 +00:00
Ralf Becker
3c0743cb97
implemented onfocus event for input-widgets, tested with textbox and taglist, others more complex input-widgets probably need to proxy the event
2013-10-09 09:05:30 +00:00
Ralf Becker
f46754cd1a
remove href="javascript:void(0)" in favor of href="#" working with CSP
2013-10-08 10:08:09 +00:00
Ralf Becker
bafcc80e35
fixed translations not loaded on very first request, as postponing ready for waiting on translations did not work, now using a direct callback instead
2013-10-08 08:55:15 +00:00
Nathan Gray
1a4a4fdded
Always set value, not just title, in nextmatch so link gets updated
2013-10-08 08:26:59 +00:00
Nathan Gray
3816abc7a7
Fix %s in label of link widget
2013-10-08 08:19:42 +00:00
Nathan Gray
5c8c51c77d
Always set label, avoids label not being set properly in nextmatch
2013-10-08 08:14:24 +00:00
Nathan Gray
52f269717e
Fix %s in labels in nextmatch rows
2013-10-08 07:46: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
b7d6d4266e
quite some warning
2013-10-07 16:11:25 +00:00
Nathan Gray
764bde5bff
Fix broken set_value() to properly accept strings as value, fix broken adding of free entries
2013-10-07 10:10:54 +00:00
Nathan Gray
a190cd7302
Remove javascript:void() href to comply with CSP
2013-10-07 10:05:51 +00:00
Nathan Gray
869ebc3ca5
- Respect force_mailto preference
...
- If force_mailto is not set, open in a new window instead of current
2013-10-07 09:48:17 +00:00
Hadi Nategh
54ab073cab
Fix et2_checkbox_ro widget for exceptional cases when we pass value as Non-Boolean
2013-10-05 14:04:10 +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
9b9a1df8a3
Use egw.open_link() to open popups so they can be tracked, if they have a target.
2013-10-05 09:40:00 +00:00
Ralf Becker
ec2de1c7e6
replace unnecessary post submits with regular ajax submits, also added a couple more todos
2013-10-04 14:43:56 +00:00
Nathan Gray
5d746529a7
Documentation update
2013-10-04 13:25:05 +00:00
Hadi Nategh
da42c28e57
Fix grid with auto-repeat rows
2013-10-04 13:03:58 +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
5d1a8e16ee
Fire change event when input is changed via code
2013-10-04 10:07:34 +00:00
Nathan Gray
4c1dd51f0a
Fix another occurrence of search icon still using jQueryUI icon
2013-10-04 07:38:34 +00:00
Nathan Gray
7cda6a630b
Add a toolbar widget that displays its actions as a toolbar
2013-10-04 07:29:38 +00:00
Nathan Gray
70b8496310
Handle more complicated select_options style options, including icons.
2013-10-04 07:21:19 +00:00
Ralf Becker
dad39e1d8a
moved all confirmation to api egw_actions and changed select_all to depend on all visible rows selected (Ctrl-A)
2013-10-03 15:30:27 +00:00
Ralf Becker
d7f37f5c2d
fixed not displayed icon, when using et2_dialog.show_dialog(), fixed set_message to allow only plain text
2013-10-03 15:27:00 +00:00
Nathan Gray
ef884aa1cd
Try for a more local parent node than window to get better sizing, explicitly resize child nodes
2013-10-03 12:56:29 +00:00
Nathan Gray
0c0dc2c943
Just re-ordering for better readability
2013-10-03 12:53:58 +00:00
Nathan Gray
3d1bdceaac
Deal with rounding errors etc. so columns always take full width, and some bounds checking in case things go horribly wrong.
2013-10-03 12:52:58 +00:00
Ralf Becker
5778c9d964
fixed egw_framework::message($msg, $msg_type) was not displayed on ajax-load, eg. regular et2 submit
2013-10-03 09:09:24 +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
499c9f3c22
Avoid infinite heights in case there is nothing below
2013-10-02 13:11:07 +00:00
Nathan Gray
d8ae1a63a4
Nicer default styling for image buttons, and default vertical alignment for hboxes
2013-10-02 13:03:16 +00:00
Nathan Gray
29f8a562e2
Better usage for relative column width:
...
- Columns with relative width specified in template are kept relative in resize
- Columns with no width specified in template get any left over space (relative)
- Columns with fixed width specified in template are kept fixed
These three together mean that if the user resizes the window or adds/removes columns, fixed columns don't change and any space is divided among relative columns.
2013-10-02 12:43:30 +00:00
Nathan Gray
6e8723361d
Fix typos
2013-10-02 11:34:11 +00:00
Nathan Gray
e57e994e9d
Works better if I define the var
2013-10-01 17:07:08 +00:00
Nathan Gray
b6ea2635d2
Handle onchange in the same way as onclick - check if it's a real function first
2013-10-01 17:03:03 +00:00
Nathan Gray
791bf29e60
Some better handling of app.appname.funcname style onclick / onchange when set in the template
2013-10-01 16:52:38 +00:00
Nathan Gray
4449e9a44b
Override the correct function
2013-10-01 15:52:25 +00:00
Nathan Gray
a8136aa191
Give filemanager selection a widget front-end.
2013-10-01 15:40:14 +00:00
Nathan Gray
e2bc78b9e3
Make sure we don't lose widget context
2013-10-01 15:31:11 +00:00
Hadi Nategh
2445bfc22b
Fix the regular expresion to get the right key for nested Ids using [], textbox_widget
2013-10-01 15:06:56 +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
52d339305e
Default placeholder actions to "add" if not otherwise specified. Allows 'Add' action by default when no records shown in nextmatch.
2013-10-01 07:40:20 +00:00
Nathan Gray
83741673c3
Fix account/group select search dialog
...
- Broken group expansion
- Broken styling / indents
- Use unique IDs & data-id for account ID
2013-09-30 16:54:25 +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
Nathan Gray
db1077e3ed
Fix extra change event firing which was breaking multiple file uploads
2013-09-25 15:52:42 +00:00
Nathan Gray
9039200578
- Handle complicated/nested IDs in left/right headers (eg col_filter[tr_tracker])
...
- Handle left/right headers loaded async from server when setting up handlers
2013-09-19 20:39:17 +00:00
Nathan Gray
c19f95ded8
For multiselectboxes, we need to do an array comparison for dirty, or it will always fail (be dirty)
2013-09-19 20:37:17 +00:00
Nathan Gray
3cfbcc8cf1
Trigger a load event when the template is loaded, to make it easier to work with the template when it is loaded from the server
2013-09-19 19:31:56 +00:00
Nathan Gray
1bdd5eb617
Size chosen selectboxes even if they are hidden - prevents 0 width chosen selects
2013-09-18 20:15:11 +00:00
Nathan Gray
8b01daa120
Fix selecting tab by passing in value
2013-09-18 18:01:52 +00:00
Nathan Gray
407efdbcaf
Some chosen parameters:
...
- Inherit classes from select
- Search within, not just at start
2013-09-17 16:22:51 +00:00
Nathan Gray
8f91781933
Change nextmatch actions to use ajax submit, not post
2013-09-16 15:20:22 +00:00
Hadi Nategh
8cdbbe67fc
fix et2-> nm_open_popup error,"undefined method getInstanceManager", in et2_extension_nextmatch_actions
2013-09-16 10:40:19 +00:00
Hadi Nategh
5517a29d47
Fix datepicker error,"hour is undefined" from et2_widget_date
2013-09-13 13:06:46 +00:00
Hadi Nategh
c1683552ba
et2_widget_date-> datetime:Fix replacement of entered time manually with actuall time
2013-09-12 11:45:26 +00:00
Nathan Gray
871f63a9f2
Additional checks on autorepeat fallback
...
- Better handling of the different accepted indirect placeholders
- Add a check & error to prevent infinite loops (or crazy large grids)
2013-09-10 23:25:51 +00:00
Nathan Gray
02c6f3b108
Remove some more references to phpgwapi/js/egw_json.js
2013-09-10 18:56:50 +00:00
Nathan Gray
dcfcec3ab1
Put checkbox before label by default
2013-09-10 18:39:31 +00:00
Nathan Gray
3ae18c9a78
- Use a et2_dialog over native prompt for editing comments
...
- Use jsapi's egw.json() for ajax
2013-09-10 17:57:41 +00:00
Nathan Gray
ca54de9e2c
Use jsapi's egw.ajaxURL()
2013-09-10 17:55:05 +00:00
Nathan Gray
8105242434
Favorites fixes
...
- Fixes for multiple favorites on the page at the same time (multiple et2 apps)
- Use egw.json() calls
2013-09-10 17:06:15 +00:00
Nathan Gray
4996c584b3
Use a different method to avoid special expansion breaking nextmatch - skip it for grids inside a nextmatch.
2013-09-10 16:09:12 +00:00
Ralf Becker
256b888124
fix for templates containing no bottomNodes
2013-09-10 14:40:19 +00:00
Klaus Leithoff
8667f81010
change handling of progress attribute; only XET-ids work, when fetched with getWidgetById and widget.getDomNode (it may not be available at creation time, so we (re)check on createStatus time)
2013-09-10 12:57:40 +00:00
Klaus Leithoff
355ffbbb9b
change handling of progress attribute; only XET-ids work, when fetched with getWidgetById and widget.getDomNode
2013-09-10 08:08:47 +00:00
Nathan Gray
9192652877
Let progress attribute be a widget ID or the ID of a specific DOM node
2013-09-09 22:04:48 +00:00
Nathan Gray
7b9b5efe7f
Apparently expandName() can also return null - handle that too
2013-09-09 21:39:31 +00:00
Nathan Gray
2087aed7a3
Check to see if the substitution actually got something, or we could wreck the nextmatch rows.
2013-09-09 19:16:05 +00:00
Nathan Gray
230472d256
Change auto-repeat detection to additionally look through widgets for IDs like const[$row] when there is no row content
2013-09-09 18:52:11 +00:00
Nathan Gray
bfef97c8fc
Documentation correction
2013-09-09 18:42:51 +00:00
Nathan Gray
b485b57785
Fix for hidden old popups breaking application height. Still not perfect in idots, but much better.
2013-09-05 21:51:47 +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
Nathan Gray
b1aca92a9e
Merge egw_jsons - use api egw.ajaxUrl()
2013-09-04 23:30:29 +00:00
Nathan Gray
c2c5337bd2
Save a little trouble by using the global egw.preferences() directly
2013-09-04 23:20:44 +00:00
Ralf Becker
1f8e0e9e41
global method egw_message(_msg, _type) to display success-, warning- or error-messages in app-header
2013-09-04 19:02:34 +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
Nathan Gray
c53943aa76
Another try to avoid jQueryUI error about not created menu
2013-09-03 21:25:50 +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
Nathan Gray
dc46ebed05
Avoid jQueryUI error about not created menu
2013-08-30 16:27:34 +00:00
Nathan Gray
4760b5f55e
Keep column filters & sort of different nextmatches separate
2013-08-30 16:26:54 +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
b6013305f7
always replace dots with dashes in DOM id
2013-08-29 12:10:06 +00:00
Ralf Becker
a4ec8796af
* Timesheet/PostgreSQL: fix SQL error when selecting a timerange
2013-08-29 10:59:00 +00:00
Nathan Gray
eb989ed98b
Hold Ctrl key to drag a file from filemanager to system folder / desktop
...
Restricted to Chrome only, one file at a time, folders don't work well.
This uses Chrome-only DownloadURL, so other browser support is unlikely.
2013-08-28 22:31:14 +00:00
Ralf Becker
020d6d9394
replace all .
2013-08-28 14:43:27 +00:00
Ralf Becker
a74795387e
replace . in template-ids with - to simplify css usage, as we do it the unique id already
2013-08-28 14:24:01 +00:00
Ralf Becker
ee843a5f02
can not set undefined from server side, only null, therefore allowing that as argument for id in egw_refresh
2013-08-28 12:50:49 +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
Ralf Becker
c12c53bcb8
support getting app from "app_something::method" get_rows method
2013-08-28 06:59:06 +00:00
Nathan Gray
36021f5d13
Drag & drop files from user's system onto nextmatch row now working with sub-grids too
2013-08-27 20:24:55 +00:00
Nathan Gray
6028ac8eca
Drag & drop files from user's system onto nextmatch row uploads & links file to that row
2013-08-27 17:26:02 +00:00
Nathan Gray
4e2843b4a1
Implement set_value() to accept a list of files, which triggers the async upload and callbacks
2013-08-27 17:20:08 +00:00
Nathan Gray
3d12c2b591
Add namespace to drop event bindings to easily remove only the ones the widget added.
2013-08-27 16:29:13 +00:00
Klaus Leithoff
4874e671ff
commit some french lang file stuff; provided by Thomas Chaillot, Spirea
2013-08-27 08:54:00 +00:00
Nathan Gray
2875455a59
Avoid error if menu was not created
2013-08-26 23:29:52 +00:00
Nathan Gray
5a5b02c304
Remove HTML from title in example - jQueryUI changed to text() so HTML no longer works
2013-08-26 19:10:26 +00:00
Nathan Gray
4fa0370ce4
Avoid error if div has no ID (eg: dialog)
2013-08-26 19:08:02 +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
Nathan Gray
3b65d807ba
Better handling for disabled columns.
...
Disabled grid columns don't create widgets, which caused the nm issues as it expected a widget in each cell.
2013-08-26 16:42:49 +00:00
Ralf Becker
aa8a848871
optional parameter for egw_framework::window_close() to specify an alert message, which get shown/alerted, before closing the window
2013-08-26 10:24:11 +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
d8984be747
isDirty() method for whole template / etemplate2 object, thought it needs more work in widgets, not setting this._oldValue in their set_value() method
2013-08-23 15:15:30 +00:00
Ralf Becker
f4e1db3a68
fixed htmlarea not returning any content caused by prefixed DOM id, now all DOMwidgets have their DOM id available via this.dom_id set via this.set_id()
2013-08-23 14:10:37 +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
Nathan Gray
f94d213a91
Add stack trace to problem widget report so we can actually track down the problem
2013-08-21 17:18:40 +00:00
Nathan Gray
8c5cc3ca22
Fix favorites sidebox menu going missing - caused by jQueryUI CSS change
2013-08-21 16:02:24 +00:00
Nathan Gray
eb1be53297
Fix bad value in selectbox 'blank' option
2013-08-21 15:59:42 +00:00
Nathan Gray
c1be84c912
Some layout changes to get autocomplete (link widget, select users) working in dialogs too
2013-08-20 23:08:35 +00:00
Nathan Gray
17e8d00054
Fix up nm_action open_popup to match et2 unique ID changes
2013-08-20 22:23:18 +00:00
Nathan Gray
62d42c83da
Some documentation, add ability to set value rather than hacking up getValue() (actions)
2013-08-20 18:49:38 +00:00
Nathan Gray
dba3bcc2aa
Update timepicker, some work on date-timeonly so it returns a value
2013-08-20 18:37:09 +00:00
Ralf Becker
17203aaab3
an other missing semicolon ;-)
2013-08-20 16:43:37 +00:00
Ralf Becker
c39273ac51
allow to (optionally) add tabs to existing tabs in template instead of replacing them
2013-08-20 16:41:31 +00:00
Nathan Gray
f9ee897544
Prevent errors if refresh message is undefined
2013-08-20 15:59:16 +00:00
Ralf Becker
d9ee56bd79
adapt form::name() legacy pseudo function to new template-prefix
2013-08-20 14:23:00 +00:00
Ralf Becker
73aa652c41
missing egw.js from last commit and egw_framework::window_focus() method
2013-08-20 13:25:36 +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
Ralf Becker
d244ab7c79
NOT using html5 input type="time", as there is (intentionally) no way to control time-format, but with current state of html5 support, our preference is more relyable and we dont want users to open bugs because we do not respect their EGroupware time-format preference
2013-08-20 09:42:00 +00:00
Ralf Becker
155f771cc4
fixed not shown select-columns icon, rather hackisch, but I could not find a solution via our css files
2013-08-20 08:03:46 +00:00
Nathan Gray
e4b158be4b
Give nextmatch a real getValue() function instead of faking it all the time.
2013-08-19 20:23:26 +00:00
Nathan Gray
d7375a2321
Add tooltips to popup header buttons
2013-08-19 20:21:56 +00:00
Nathan Gray
656560c376
Make sure et2 apps don't get passed back to old etemplate
2013-08-19 19:53:45 +00:00
Nathan Gray
09f2ccbb73
Add legacy option for only_app, improve wrong data error message
2013-08-19 17:42:08 +00:00
Klaus Leithoff
95e18fd5a7
merge russian lang files provided by MBCGroup
2013-08-16 11:01:33 +00:00
Hadi Nategh
fadca5bb6b
fix set value for class when there is an assigned content to class= in .xet file
2013-08-16 08:11:06 +00:00
Nathan Gray
eec6791213
Silence some missing attribute settings warnings and fix warning about not loading app.js when it was already loaded
2013-08-14 18:01:22 +00:00
Nathan Gray
42e66e9319
Fix detached label not updating
2013-08-14 17:35:50 +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
7e1a785615
Make whole edit dialog a drop target - files will be uploaded & linked
...
Done in the link widget, so any template with link-to should work.
2013-08-13 20:46: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
6fdeb9f5f8
Drag files from desktop anywhere onto filemanager uploads
2013-08-09 23:34:42 +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
Ralf Becker
11f7673408
keeping options in format used for select-boxes everywhere else and convert to taglist.setData format just when calling setData, added new method select_all to set_value all items in select_options
2013-08-08 08:56:43 +00:00
Ralf Becker
99b6fe41e7
fix set_value to work after inital load, eg. on a button press
2013-08-07 14:52:12 +00:00
Klaus Leithoff
d2a851931f
provide contact-id on errormessage on failure of mail-merge
2013-08-07 08:07:24 +00:00
Ralf Becker
b70f4bcd27
fixed taglist to no longer require ids to be set in select_options, IF allowFreeEntries is left on its default true
2013-08-06 18:31: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
dacc98ae72
Add drop_target attribute to support HTML5 dropping of files
2013-08-03 19:12:38 +00:00
Nathan Gray
8097119b6c
Remove debug
2013-08-03 14:46:51 +00:00
Klaus Leithoff
a69df51eaa
as insertObject (called by treeObj.addObject) expects id to be either string or object, we cast the option.id in case its a number
2013-08-01 09:54:32 +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
72fb016cb4
Fix dropdown + favorites menu not doing anything when clicked.
2013-07-30 14:17:36 +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
a293de8614
fix not working full submits if etemplate is etemplate_old and app uses etemplate_new
2013-07-30 12:21:19 +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
364fbd0f66
fixed wrong call leading to maximum stack size exhaused error
2013-07-22 14:11:58 +00:00
Ralf Becker
f0808f09af
fixed action _target.id was id of tree and not of action
2013-07-22 06:34:01 +00:00
Nathan Gray
f4a6c9859a
More fixes forjQuery/jQueryUI update issues
2013-07-20 17:20:55 +00:00
Ralf Becker
f2906a1052
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 16:47:33 +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
Klaus Leithoff
0a37e675bd
allow to set a limit of selected entries
2013-07-20 14:03:06 +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
f60fa14c30
Wrap loadingFinished() in a try / catch, so if one widget has problems it doesn't break the whole template.
2013-07-20 13:54:31 +00:00
Nathan Gray
0c30eeaee4
Taglist CSS for et2
2013-07-20 13:53:35 +00:00
Nathan Gray
a21f6aedfe
Check to see if autocomplete is available before destroying
2013-07-20 13:51:12 +00:00
Ralf Becker
74cb73d2d2
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 13:45:22 +00:00
Nathan Gray
2beadad730
Make sure dialog is created before trying to update buttons
2013-07-20 13:05:03 +00:00
Nathan Gray
49ef157e69
Continued development on taglist widget:
...
- More attributes
- Fix missing parent class and action system handlers
2013-07-19 15:07:35 +00:00
Nathan Gray
d2d0fa1fcd
Check for proper type (string) if I want to use string functions
2013-07-19 12:38:52 +00:00
Nathan Gray
36b5590882
Fix wrong argument order to jQuery.proxy()
2013-07-19 12:37:47 +00:00
Nathan Gray
b7ad0d33f8
Make sure onclick callback functions (specified as app.appname.funcname, or a real function) get all parameters passed, and they always can have a reference to the responsible widget
2013-07-19 12:36:59 +00:00
Nathan Gray
5b5a3ad58f
Fix copy-paste error in js attribute check
2013-07-19 10:55:07 +00:00
Nathan Gray
eb18408771
jQueryUI update changes where custom renderer hides
2013-07-19 09:31:00 +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
Nathan Gray
524f2b0f03
Use an etemplate / top template level prefix to avoid DOM ID collisions
2013-07-18 09:13:15 +00:00
Nathan Gray
1b270b2d6f
Use an etemplate / top template level prefix to avoid DOM ID collisions
2013-07-17 13:08:48 +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
f9b72b05ac
Don't need to set ID, framework does it automagically.
2013-07-17 12:32:36 +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
Nathan Gray
df0dc0f27a
If record ID is missing, don't try to get data for it - skip the whole request
2013-07-17 09:36:38 +00:00
Nathan Gray
85db39ed4e
Support row ids from template:
...
id="$row_cont[field]"
2013-07-16 16:22:20 +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
4e947b304c
Don't complain about read-only required fields
2013-07-10 18:25:28 +00:00
Nathan Gray
2bd53e72d4
Change evaluation order to get popup selector working again after last fix.
2013-07-08 22:24:36 +00:00
Nathan Gray
54eb53cdba
When setting a validation error for a widget on a tab, switch to that tab so the user can see it.
2013-07-08 21:55:38 +00:00
Nathan Gray
13e593a7f1
Handle entities in selects other than cat_id
2013-07-08 21:16:45 +00:00
Nathan Gray
55dc847f95
Fix bug where images with numbers in their url were not displayed
2013-07-08 19:40:17 +00:00
Nathan Gray
388b0816b7
Fix box autorepeat - only repeat children of type box
2013-07-08 19:06:28 +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
e8c394ed54
Implement egw action system on grid rows.
...
NB: This is not nm_actions. See action system (egwAction.prototype.set_onExecute()) for details.
2013-07-05 15:13:05 +00:00
Nathan Gray
a0b07635eb
I can find no issues with attributes being objects, removing check & warning.
2013-07-05 15:03:49 +00:00
Nathan Gray
ab3fbd56bd
Promote label attribute from inputWidget to parent valueWidget, fixes missing labels on some readonly widgets
2013-07-04 20:42:21 +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
Nathan Gray
5e90755cd6
Add 'sortable' attribute to grid.
...
Set it to an AJAX (PHP) callback to enable, and it will be passed the grid ID & new row order whenever the user re-orders the grid rows.
2013-07-03 23:16:15 +00:00
Nathan Gray
67d2fb66c2
Add a check to prevent total failure in the rare event of bad settings.
2013-07-03 23:06:59 +00:00
Ralf Becker
486298a7c9
optional parameter for et2_nextmatch.applyFilters(_set) to certain filters before updating the rows, eg. applyFilters({ filter: '', search: ''}); to reset filter to 'all', remove search and update the rows
2013-07-03 14:29:17 +00:00
Ralf Becker
349da32512
allow to set name attribute of iframe (to be used as target in links)
2013-07-03 14:26:33 +00:00
Ralf Becker
98f13d3e55
new method to specify images of a given node or standard images for new node (not specifying them), fixed merging of dynamicly loaded data, which was not taking recursive struture into account and -1 as id to update, using new id of new data in that case
2013-07-02 18:24:32 +00:00
Ralf Becker
ffceaf445a
prototype for an admin app using et2 and a navigation tree, need to set index url in database: UPDATE egw_applications SET app_index="admin.admin_ui.index&ajax=true" WHERE app_name="admin" (dont forget to clear cache)
2013-07-01 17:07:07 +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
533f141bc2
nextmatch is always valid too
2013-06-26 22:23:41 +00:00
Nathan Gray
0c6f70005a
Implement some basic client-side validation (required)
2013-06-26 20:50:10 +00:00
Nathan Gray
7142d632a5
Implement htmlarea ascii mode
2013-06-26 19:34:14 +00:00
Nathan Gray
8f2248b6ab
When setting nextmatch filters, accept empty values too
2013-06-26 18:04:51 +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
0fa6386b1c
Avoid XSS by using CSS to keep line breaks intact instead.
2013-06-26 14:11:54 +00:00
Nathan Gray
35da74fac0
Make sure there's a 'None' option if the select-account is not required so user is not forced to pick an account.
2013-06-25 22:15:09 +00:00
Nathan Gray
c8d2953c85
Check that input is created before using it, avoids error when chosen gets involved.
2013-06-25 21:56:08 +00:00
Nathan Gray
3ddf4a0300
Fix read-only selectboxes rejecting some values (same as r42732)
2013-06-25 21:38:11 +00:00
Nathan Gray
442c9e6356
- Add required attribute to radiobox so it can pass it on to radio buttons
...
- Add detached DOM support to play nice in datagrid rows
2013-06-25 20:53:39 +00:00
Nathan Gray
ac45bd0625
Implement server side required check on custom fields
2013-06-25 20:49:13 +00:00
Nathan Gray
059e82a01b
Change newlines to <br /> in read-only text to preserve multi-line data.
2013-06-25 17:48:48 +00:00
Nathan Gray
d2031034f1
Silence some more messages by providing attribute info
2013-06-25 16:44:50 +00:00
Nathan Gray
f33e49b4a5
Fix validation failure from menulist interfering.
2013-06-25 15:49:10 +00:00
Nathan Gray
e0b576e822
Fix read-only selectboxes not being translated
2013-06-25 14:37:24 +00:00
Nathan Gray
a05ac6fa11
Fix checkboxes using defaults not returning boolean
2013-06-24 23:03:55 +00:00
Nathan Gray
80ae80098e
Fix disabled grid rows still being created.
...
While not ideal (prevents modification / un-disabling after), this prevents some problems with doubled IDs
2013-06-24 20:50:37 +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
eaa0cb6fa0
Need to trigger chosen update for single selects too
2013-06-19 19:01:42 +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
865151f977
Use value as string, so we don't fail if invalid data is passed
2013-06-19 18:06:59 +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
683a624710
Fix for some customfield dates going missing
2013-06-18 23:24:14 +00:00
Nathan Gray
1b3c8d15c8
Fix for HTML site/general configuration overwriting customfield settings
2013-06-18 23:23:42 +00:00
Nathan Gray
8a2c791be3
For radiobox customfields, implement "empty" first value = extra group label
2013-06-18 20:55:13 +00:00
Nathan Gray
0cd63aefc2
Fix missing custom selectbox rows attribute
2013-06-18 17:16:08 +00:00
Nathan Gray
c87a5d6806
Implement csv max,display for custom field text length
2013-06-18 17:03:06 +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
b933b17446
Put radio button labels after radio button by default
2013-06-18 15:08:50 +00:00
Nathan Gray
5c96c8c986
Prevent accidental too wide chosen boxes
2013-06-17 22:01:50 +00:00
Nathan Gray
94793b7808
Silence some warnings by providing info
2013-06-17 21:22:32 +00:00
Nathan Gray
ce5d6faa0a
Add setter method for tags attribute
2013-06-17 20:55:42 +00:00
Nathan Gray
8c449cae82
Trigger a load event on the template container when the etemplate is fully loaded, so other (non-app) scripts can hook in with ease. The etemplate2 object will be the second parameter to the callback.
2013-06-17 14:44:55 +00:00
Klaus Leithoff
079b919bbe
russian translations provided by Vladimir Gavrilov (MBC-Group)
2013-06-17 12:30:44 +00:00
Nathan Gray
8f277e0203
If disabling (=hiding) a widget, do its label too
2013-06-12 23:14:09 +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
7fc6d7e24d
Fix read-only display of links with application already set
2013-06-11 23:13:04 +00:00
Nathan Gray
4d26a36d09
Fix order of selectbox option detection so value is last choice
2013-06-11 22:51:45 +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
62a28e88fc
Accept any multiple CSV, not just numeric IDs
2013-06-10 23:38:02 +00:00
Nathan Gray
b45a7d7439
Fix tabs sometimes break subsequent namespaces
2013-06-10 23:29:48 +00:00
Nathan Gray
7da0e6d27b
Check to make sure search sub-widget is created before trying to use it
2013-06-10 22:07:31 +00:00
Nathan Gray
92aa694f97
Fix customfield sub-type restriction blocking all customfields
2013-06-10 20:15:11 +00:00
Nathan Gray
e5b91c72f2
Fix nm_compare_field() to work with et2
2013-06-10 19:26:04 +00:00
Nathan Gray
de7d633bd7
Make account quick search add to selection instead of replacing it
2013-06-10 16:53:41 +00:00
Nathan Gray
c8bbf8b582
Add tooltip explination to auto-refresh selectbox
2013-06-10 14:33:09 +00:00
Nathan Gray
6852d0807d
Improve UI of multi-row selectbox
...
- Only check button, no x (check toggles all/none), aligned with checkboxes
- Header with buttons hides when not hovering over checkbox, saving space
- Account select now has quick-select in header
2013-06-05 22:45:19 +00:00
Nathan Gray
d25d2d1b98
Fix link-entry widgets with only_app set losing value
2013-06-05 17:11:49 +00:00
Nathan Gray
a10914b20e
Fix link-entry custom fields showing application selectbox
2013-06-05 17:10:57 +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
cf0f1c9cd2
Implement no_files attribute
2013-06-04 23:05:31 +00:00
Nathan Gray
b79460e7a0
Check for value before trying to use it
2013-06-03 23:17:01 +00:00
Nathan Gray
4d13f3170f
Can't forget to reset the ID (template name), or it might not be able to load the template
2013-06-03 23:05:02 +00:00
Nathan Gray
f5ab004499
Fix occasionally missing selectbox value
2013-06-03 22:33:50 +00:00
Nathan Gray
1eaa51a2ca
Avoid conflict with existing etemplates using message class on a grid cell
2013-06-03 18:08:55 +00:00