Commit Graph

3126 Commits

Author SHA1 Message Date
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