Commit Graph

4378 Commits

Author SHA1 Message Date
Nathan Gray
f099800b62 Prevent empty options being sent when selectbox is in a row.
Fixes unwanted numeric options in auto-repeat rows.
2014-10-14 16:43:47 +00:00
Ralf Becker
83b6706964 * Timesheet: fix (un)setting project for adding, editing and save&new timesheets
- fixed et2_widget_textbox to update options.blur in set_blur(), as it is used in getValue, also updating input
- fixed et2_widget_linkentry to trigger change event, after reacting to click on X in search
- fixed timesheet to handle ts_project and pm_id in bo (ts_project is always stored in db for searching, even if it contains no custom project name)
- fixed not working change of project in an existing timesheet
- fixed unsetting of project
2014-10-14 15:58:37 +00:00
Ralf Becker
a1e444fdfd fix non-fatal PHP Parse error, when $j was used eg. in onload 2014-10-13 12:21:53 +00:00
Ralf Becker
55e931871e mtime postfix for WebDAV has to use "?download=", as our WebDAV treats everything else literal 2014-10-13 12:15:30 +00:00
Hadi Nategh
b542033f8d Make sure the class name used as identifier has no invalid chars 2014-10-13 10:06:30 +00:00
Ralf Becker
026347ba2f disabling immediate direct call to loadingFinished() for selected tab seems to have no recognisable impact
and some widgets, eg. color-picker have problems with calling doLoadingFinished twice
2014-10-13 09:07:23 +00:00
Hadi Nategh
b0e4655eff Give widget color dialog unique class in order to identify it later for binding click handler to picker span.
-Fix the bug, color picker opens other colorpickers dialog which are in the same template.
2014-10-10 12:40:41 +00:00
Klaus Leithoff
e1b2df5609 pending translations from our translation server 2014-10-10 12:11:14 +00:00
Ralf Becker
178bca7f7a fix redirect loop initiated eg. by saving a mail, caused by document.location=url triggering etemplate unload handler and destroying et2 request, identical redirect url detected by jdots framework causes refresh via nextmatch --> next redirect 2014-10-08 20:02:59 +00:00
Nathan Gray
2ca305b5cc Remove auto refresh options for 30 seconds and 1 minute, as apparently they cause problems with mail.
Add auto refresh options for 15 and 30 minutes.
2014-10-08 17:27:39 +00:00
Nathan Gray
5e9676e770 Fix broken relative width calculation after r48947. 2014-10-08 17:10:58 +00:00
Ralf Becker
fcd03a54c8 refactored code to always run Nathans fix (before it was only run for ajax requests, not for initial request) 2014-10-08 12:16:13 +00:00
Ralf Becker
76dbe08207 * all apps: custom fields of type "float" allow to specify maxlength,size,min,max comma-separated in length field 2014-10-08 10:45:55 +00:00
Ralf Becker
3edc0f3080 revert r48945, as it break for some conditions 2014-10-08 09:07:01 +00:00
Ralf Becker
1c9a14159e * Mail: allow to enter name+mail eg. "Ralf Becker <rb@stylite.de>" in compose, automatic fix unquoted commas in entered mail addresses 2014-10-08 09:01:51 +00:00
Nathan Gray
7fe36b289b Fix relative columns width preference not saved as relative width 2014-10-07 22:59:55 +00:00
Nathan Gray
7111e0bb83 Change email regex to allow email addresses of the form "Ralf Becker <rb@stylite.de" 2014-10-07 22:27:27 +00:00
Nathan Gray
e674c5aa5b Partially revert r48812, seems it didn't help entry widgets but it did cause problems with preferences 2014-10-07 21:16:18 +00:00
Nathan Gray
26261e080d Fix bad logic breaking historylog 2014-10-07 20:47:54 +00:00
Hadi Nategh
f5a71a635f Complement to commit 48899, fixes error in IE11 2014-10-07 11:39:34 +00:00
Ralf Becker
cf96d4e82d do not convert empty values, otherwise we will get current date or 1970-01-01 instead 2014-10-07 10:19:21 +00:00
Nathan Gray
06369b922a Fix typo resulting in all not being processed. 2014-10-06 21:31:14 +00:00
Nathan Gray
fe4cdcb1d1 Trim email addresses to avoid validation errors 2014-10-06 21:17:37 +00:00
Nathan Gray
aeefd2823a Use a client-side setDetachedAttributes() to do needed data changes for dates. 2014-10-06 20:43:46 +00:00
Nathan Gray
e4e869953f Save some processing by preventing API from fetching UIDs, which aren't applicable here. 2014-10-06 20:10:07 +00:00
Hadi Nategh
b7229cdcdf Make sure options are available before getting access to its properties 2014-10-06 15:47:22 +00:00
Ralf Becker
11fefa28fa remove debug stuff 2014-10-06 11:22:02 +00:00
Ralf Becker
1e4e044f5b using a compiled list of timestamp column-names instead a regular expression, fixes duration columns like "info_used_time" get transformed too 2014-10-06 11:20:58 +00:00
Nathan Gray
d3cde1efb4 Check that options are there before using.
Hopefully fixes bug in IE11.
2014-10-03 16:48:48 +00:00
Ralf Becker
aff6248300 fixed row vanishes on refresh, eg. after editing an address in an already refreshed addressbook list, caused by row_modified no longer a timestamp when it get checked in ajax_get_rows 2014-10-02 15:00:18 +00:00
Ralf Becker
e316379373 * Mail/Calendar/eTemplate2: fix timezone problems of times in grid or lists, if server_timezone differs from php.ini date.timezone
- for grid this is a real fix by correctly expanding names in auto-repeated rows and therefor running widgets beforeSendToClient methods
- for nextmatch is is just a hack looking at get_rows content and converting everything "looking" like a timestamp to a "Y-m-d\TH:i:s\Z" string
2014-10-01 19:10:59 +00:00
Ralf Becker
b537c3963d fix IDE warnings 2014-10-01 19:05:33 +00:00
Nathan Gray
b1e77ca062 Add some handling to allow ID to be different from the value source by allowing the value attribute to point to the value. 2014-10-01 17:29:22 +00:00
Nathan Gray
0eb14c1dc1 Implement comparison and alternate fields 2014-10-01 16:49:26 +00:00
Hadi Nategh
7c3683f3e8 More styling on file upload progress list 2014-10-01 15:16:13 +00:00
Hadi Nategh
561880e31d Fix extra progress bar shown always under file name even before the uploading processes get started 2014-10-01 15:05:01 +00:00
Hadi Nategh
cc9dfd0043 Implement dropdown list style for file upload 2014-10-01 14:19:36 +00:00
Ralf Becker
c42802beea fixed date-time_today widget broken after last commit 2014-10-01 04:40:19 +00:00
Nathan Gray
6ee7f3f219 Basics of infolog-value and tracker-value widgets 2014-09-30 22:08:57 +00:00
Nathan Gray
aa6c36ba3f Work on app-entry widgets (contact-value) 2014-09-30 21:37:45 +00:00
Ralf Becker
1a3c6985e4 fix handling of timestamps in usertime on client-side, by using date("Y-m-d\TH:i:s\Z", ts) equivalent to PHP date function we use on server-side, fixes wrong time in alarms, if server- and user-timezone differ 2014-09-30 20:12:53 +00:00
Nathan Gray
c16bb0c647 Make sure to use correct parent ObjectManager when destroying.
Should fix "Action object with id ... does not exist" errors.
2014-09-30 16:52:42 +00:00
Nathan Gray
3843109dff Avoid error if filter has no options. 2014-09-30 14:47:54 +00:00
Ralf Becker
3e12e8f2f9 * Preferences: opening forced preferences set selectboxes for not set values to first real value not "Users Choice"
caused by etemplate_widget_menupopup not being run, it is now run by etemplate_new::exec / etemplate_new::fix_sel_options for everything in sel_options
2014-09-30 14:27:29 +00:00
Nathan Gray
84821bef95 - Apply 'none' user selection preference (with admin consideration)
- Avoid potential infinite loop with no select options
2014-09-29 20:37:23 +00:00
Hadi Nategh
b4adc01f6e Introduce new attribute to image widget in order to show image as a tooltip next to the widget with provided source 2014-09-29 16:29:17 +00:00
Nathan Gray
b6c86c2df0 Don't try to delete not-existing attribute.
Hopefully solves error in IE.
2014-09-29 16:05:32 +00:00
Ralf Becker
9ca870d1e7 we need to return null for no value instead of empty array, which gets overwritten by preserved value on server-side 2014-09-26 11:25:09 +00:00
Hadi Nategh
cc00102ef5 Make sure there's an app set, otherwise set it from top of the list 2014-09-26 09:22:07 +00:00
Nathan Gray
88a6114c0a Look for old widgets that were adapted to etemplate2 but still follow old name scheme 2014-09-25 18:30:32 +00:00
Nathan Gray
5896c7e103 Use global template store directly, solves an error with loading sub-templates if they're not in the tree 2014-09-25 18:29:18 +00:00
Hadi Nategh
5c78150f9f Give more space between toolbar buttons 2014-09-25 11:43:33 +00:00
Hadi Nategh
acd07a1f93 Adjusting toolbar widget
-Fix toolbar widget droppable space
-Fix toolbar widget for first time user with no preferences
2014-09-25 11:12:04 +00:00
Hadi Nategh
3f54a33fda Make sure nm row_ids are string in order to address them as string, seems some ids are not 2014-09-25 08:45:06 +00:00
Nathan Gray
f0bb5a8957 Support multiple projects in gantt chart 2014-09-24 17:21:24 +00:00
Nathan Gray
812518f72f Fix unwanted apps showing in link-app 2014-09-24 16:15:24 +00:00
Nathan Gray
c5d5260d8b Drag and drop nextmatch rows to link between entries 2014-09-23 21:25:46 +00:00
Nathan Gray
eefc75369c Add refresh(id, type) function to et2_gantt widget 2014-09-23 16:58:09 +00:00
Nathan Gray
cd19f52964 Get not loaded UIDs if select all is used. 2014-09-22 19:39:50 +00:00
Nathan Gray
c27e4f2098 Fix diff widget to better handle empty values (cleared fields) 2014-09-22 16:16:11 +00:00
Ralf Becker
2e8a353f3e pending translations from our translation server 2014-09-22 11:57:15 +00:00
Nathan Gray
378a11f841 Also accept file names to remove. 2014-09-18 18:56:43 +00:00
Nathan Gray
cf3f99c260 Don't unregister selected rows from the selection manager, even if they're destroyed.
Fixes selection loses first rows when user scrolls down.
2014-09-18 02:58:52 +00:00
Nathan Gray
b7b6baaed5 Accept string without suffix as fixedWidth.
Fixes infolog defaults missing when changing details/no details
2014-09-18 02:29:14 +00:00
Nathan Gray
946558b559 More gantt improvements for large projects
- Add a further zoom level, yearly, for long projects
- Fix some scaling issues
- Turn on gantt cover while loading, so it gets a better chance to be displayed
2014-09-17 20:17:29 +00:00
Nathan Gray
60c2566bf9 Anything longer than 3 days is shown as Month + Day 2014-09-15 20:03:11 +00:00
Nathan Gray
69f6668d05 Some experimental speed changes:
- Make pm list load first, so others don't matter
- Add preference to limit dates in gantt
- Log timing of gantt loading
2014-09-15 19:35:29 +00:00
Ralf Becker
fad57f202b using egw_json_response::json_encode() for GET requests too, to work agains empty windows caused eg. by wrong encoding 2014-09-10 18:25:36 +00:00
Ralf Becker
9e60cadb70 fixed date client/server protocol to always just append "Z" after seconds, so apps can compare date values 2014-09-10 10:22:55 +00:00
Ralf Becker
a4d18fdce2 trigger blur on taglist in getValue() to not loose just typed content (previous fix stoped selection of suggestions by mouse) 2014-09-10 10:02:07 +00:00
Nathan Gray
06a78f145f Fix sub-grid column indent 2014-09-09 23:14:42 +00:00
Nathan Gray
dbbd64d66b Make sure tab doesn't start by trying to display a hidden tab. 2014-09-09 22:19:50 +00:00
Nathan Gray
4d93470fb9 - Fix bug loading new data into gantt
- Setup for Stylite gantt features
2014-09-09 20:40:27 +00:00
Nathan Gray
c33a71c5f7 Add some CSS during column resize to indicate which columns are fixed and which columns will change when you resize. 2014-09-09 17:39:33 +00:00
Nathan Gray
108d3a0f40 When user changes the width of a relative width column, make sure that column stays at the set size and adjust all other relative columns to fit. Fixes relative width columns changing width again after being resized. 2014-09-09 16:58:26 +00:00
Ralf Becker
837a84b330 fixed IE 11 names almost all files "blob" 2014-09-09 16:30:00 +00:00
Nathan Gray
8cb9914d15 Change minimum characters to 4 to avoid long queries on large installs. 2014-09-09 14:13:47 +00:00
Ralf Becker
c73cc6b398 fixing the fix: now cat_id=1 got not lost with a 2nd default option set in addressbook (0=None) 2014-09-09 14:11:42 +00:00
Ralf Becker
8ecaac7dde fixed category with cat_id=1 got lost in addressbook 2014-09-09 13:13:27 +00:00
Hadi Nategh
c651fa269a * Filemanager: Fix not working file upload in IE 2014-09-09 12:59:06 +00:00
Ralf Becker
b1f0448b6d fixed advanced search was always filtering by first option of custom-fields of type select or select-* 2014-09-09 08:36:34 +00:00
Ralf Becker
fd9519ccfe fix IDE warning 2014-09-09 08:31:59 +00:00
Nathan Gray
4e6c5c3a1f Warn about legacy function calls using too many arguments 2014-09-08 23:01:55 +00:00
Nathan Gray
4031e2b5a1 Fix customfield column size preference not used 2014-09-08 20:09:21 +00:00
Nathan Gray
ff327c30fe Limit link search to 1000 results 2014-09-08 19:15:01 +00:00
Nathan Gray
7f291a17a6 Fix missed case of 'really need it'. See SVN r47435. 2014-09-08 18:23:34 +00:00
Ralf Becker
0404f7f272 fix IDE warning 2014-09-08 11:40:57 +00:00
Ralf Becker
f4e47c176f * eTemplate2/all apps: fixed not displayed readonly dates outside lists (eg. created/modified dates in dialogs) 2014-09-08 11:38:02 +00:00
Ralf Becker
88a111b2c5 fixed storing same password twice in admin makes account unusable:
caused by tabs and callbacks added multiple times and therefor passwords beforeSendToClient method was called twice causing password to be replaced with asterisks
2014-09-06 10:00:42 +00:00
Ralf Becker
8c9854daa2 date widget has now api to set or get year, month, date, hours, minutes or time(stamp) and using that in calendar app.js for date manipulation 2014-09-05 10:34:37 +00:00
Nathan Gray
62e089c889 Add duration_unit parameter so we can reduce resolution for large time spans.
Prevents browser hanging while processing every minute of multi-year projects.
2014-09-04 20:53:27 +00:00
Hadi Nategh
6b62a84aae Fix styling of freezed buttons while uploading files via file widget 2014-09-04 15:00:59 +00:00
Ralf Becker
57ab83f3b0 remove resize: none from et2_textbox, as users like to resize their textboxes 2014-09-04 14:04:54 +00:00
Ralf Becker
35f63b35d5 * Calendar: fixed freetime search to correctly read and set times from edit window
- fixed et2_date.set_value() to understand nummeric timestamps in usertime used on server-side (needed timezone offset)
- added new parameter-type for et2_date.set_value() string starting with + or - to add or subtract given number of seconds from current time (to not have to code that in applications)
2014-09-04 13:03:48 +00:00
Ralf Becker
e5dcceb27b * Projectmanager/all apps: fix not working popups, eg. add existing action in elements list
also fixed IDE warnings
2014-09-04 08:29:02 +00:00
Ralf Becker
9e71712e2f fix indention 2014-09-04 08:27:45 +00:00
Nathan Gray
e47cb0f3f6 Speed improvements for large gantt tasks 2014-09-03 20:11:48 +00:00
Ralf Becker
cf7f5fef7e remove addressbook-email from app-list in link widgets 2014-09-03 12:53:43 +00:00
Nathan Gray
70d918331b Prevent additional objectManagers.
Fixes separate selection problem with right clicks on sub-grids.
2014-09-02 22:29:19 +00:00
Ralf Becker
d50ccc9c21 fixed not working custom date filter 2014-09-02 16:26:37 +00:00
Ralf Becker
757a741d99 * Tracker/eTemplate: user could not empty CC field (taglist-email) 2014-09-02 12:22:31 +00:00
Klaus Leithoff
a1bf9c0d9b allow to empty the taglist (even provided prior content is part of the preserve array), by returning null upon validation when array is empty 2014-09-02 11:39:23 +00:00
Hadi Nategh
ea57df4765 Add css class to add contact button in url-email widget, and make the icon size 16x16 2014-09-02 08:39:57 +00:00
Ralf Becker
ff626a812b disabling my workarounds to better test Nathans fixes in action system 2014-09-02 08:30:14 +00:00
Nathan Gray
12ab21e6a4 - Propagate clearSelection() to children
- Fix missed change in previous commit
2014-09-01 18:44:13 +00:00
Nathan Gray
3a49e4cfec Fix handling of missing ID (usually from empty placeholder) 2014-09-01 16:53:59 +00:00
Nathan Gray
fa8861ef38 Preserve selected egwActionObjects through to nm_action, it will extract string IDs there. 2014-09-01 16:30:31 +00:00
Hadi Nategh
312a914ce2 Bind onmouseenter event of add contact+ button on url-email set_value, as widget might be created by apps client side code, not directly loaded from xet file 2014-09-01 10:02:18 +00:00
Hadi Nategh
02453109d1 Add new attribute to url-email widget in order to be able to add contact+ button to each email address. 2014-08-29 14:56:14 +00:00
Ralf Becker
d9bcab4f58 same is true (and fixable here) for right-click in sub for actions allowing no multiple entries 2014-08-28 12:14:09 +00:00
Ralf Becker
d9fe3a5f8c when nextmatch queries children, querying controller has no filters, so we have to use the ones from its parent 2014-08-28 12:09:08 +00:00
Ralf Becker
8e75eca579 fixing temp. fix:
- doubleclick does not deselect selection in other hierarchy level (eg. previous selected sub-entry in infolog) --> use _senders
- if there was a confirmation _senders array contains strings with id instead of action-objects
- empty placeholder from sub-level is selectable --> ignore its empty id
2014-08-28 09:48:27 +00:00
Nathan Gray
ff29be3197 Fix history log widget no longer working 2014-08-27 17:13:38 +00:00
Ralf Becker
df83b4dbbe an other timezone fix for time(only) widget: this.date is on current date, changing it in get_value() to 1970-01-01, gives a time-difference, if we are currently on DST 2014-08-27 16:57:22 +00:00
Ralf Becker
f9a99637d1 temp. fix for _ids containing (wrong) selections from different hierarchy levels, fixes doubleclick on InfoLog with children, selects more then one entry to open, which obviously fails 2014-08-27 15:56:01 +00:00
Nathan Gray
6b2b686544 Fix duration parsed in wrong format if there was no choice for format. 2014-08-27 15:09:14 +00:00
Ralf Becker
fe9336896c fixed taglist-account displays groups as id eg. "-4" 2014-08-26 09:27:33 +00:00
Hadi Nategh
d806a5bf69 Change minWidth of columns in dataview to 20px 2014-08-26 07:34:33 +00:00
Nathan Gray
f3c15f87b1 Infolog lists embedded as action can have their own separate column preferences. 2014-08-25 23:18:09 +00:00
Nathan Gray
55ae503923 Even more date fixes:
- Don't send a date (just 1970-01-01) with timeonly values
- Avoid infinite loop when setting timeonly with timepicker
2014-08-25 19:33:35 +00:00
Nathan Gray
5b573114b9 Remove deprecated (& internal) __proto__.
Fixes error in IE with calendar edit.
2014-08-25 18:52:00 +00:00
Nathan Gray
60b02ccb4b - validate filters when getting rows
- run method (beforeSendToClient, validate) needs to include all sub-templates (header_left, header_right, header_row, template) or those widgets get left out.
2014-08-25 17:28:00 +00:00
Nathan Gray
299caf9807 More time fixes:
- Also accept string timestamps in Zulu time
- Fix change detection causing nextmatch filter to not work
2014-08-25 17:26:22 +00:00
Hadi Nategh
a450db05b8 Make sure toolbar-dropdown list stays on the top 2014-08-22 15:38:23 +00:00
Ralf Becker
868e5e0a38 adding autocomplete attribute to et2_textbox and et2_passwd and use it in email wizzard/account to stop browser from accidently filling out empty fields 2014-08-21 13:06:17 +00:00
Ralf Becker
21d3dce3e4 adding et2_appicon class 2014-08-21 09:47:30 +00:00
Nathan Gray
4d5f5677e1 Try to correctly handle timezone offset on the other side of the world 2014-08-20 14:39:42 +00:00
Nathan Gray
28d2fad14a * Change nextmatch column size calculations so extra size is allocated better. 2014-08-19 23:33:06 +00:00
Nathan Gray
ec1471c6d2 Another attempt at resolving the browser timezone issue 2014-08-19 21:22:26 +00:00
Hadi Nategh
a512c04183 Fix F.F does not trigger resize nm column onmousedown, but after mouseup 2014-08-19 13:58:35 +00:00
Hadi Nategh
fe02eda1a7 * Etemplate/Nextmatch: Do not trigger resize event on nextmatch header columns if the clicked element is select-tag, as it may cause conflict between two click and resize handlers in some browsers.
- Fix clicking on selectboxes located at nm header causes to resize the column, in FireFox.
2014-08-19 12:48:22 +00:00
Hadi Nategh
427956518e * Etemplate/widget: Introduce video widget.
- Add ability to play video media/stream
2014-08-19 10:10:09 +00:00
Nathan Gray
175d6b7201 - Change zoom auto level to better suit projects a day or two long
- Reset start/end dates when changing data
2014-08-18 22:55:54 +00:00
Nathan Gray
976c7e55ac - Adjust default columns to exclude resolution, completion, timesheets, votes and bounties. They can still be turned on manually, just hidden by default.
- Set some more default column widths
2014-08-18 19:44:37 +00:00
Nathan Gray
1e5ea67595 Fix unable to have checkboxes with an unselected value that evaluates to false. 2014-08-18 17:33:43 +00:00
Nathan Gray
5b91e871de Deal with languages helpfully adding timezones into timestamps
Fixes random (12, 6, 7) hours sometimes added to dates
2014-08-18 16:47:27 +00:00
Hadi Nategh
161734f941 Handle validation_error if widget is children of a tabbox.
-Fix widget with validation error does not activate its related tab.
2014-08-18 12:05:04 +00:00
Ralf Becker
e47db95be7 * Mail: fixed sometimes not working (un)subscribe of mailboxes, added better diagnostic and automatic (de)select children 2014-08-15 11:22:43 +00:00
Hadi Nategh
a03a69bd8e Override padding and border for remove class in fileupload progress, seems it gets padding from et2_link:firstChild class which is not meant to be set for remove div.
-Fix wierd yellow box next to fileupload progress.
2014-08-15 08:55:11 +00:00
Nathan Gray
f6bca11f4f Add an additional format to parse times in the formatY-m-dTHⓂ️s for insertion into spreadsheets, fixes warning when merge printing "Unable to parse date ... left as text" 2014-08-12 23:19:39 +00:00
Nathan Gray
4944b1a1fb Fix double encoded & in merge functions 2014-08-12 17:48:47 +00:00
Nathan Gray
694a63d1f4 Indicate merge class to use for mail, fixes infolog placeholders not known 2014-08-12 16:58:07 +00:00
Nathan Gray
cc04f0b89c Create & use a flag 'no_actions' to disable actions for sum rows 2014-08-11 23:13:02 +00:00
Nathan Gray
0fa3ad831b Fix no longer working 'None' category option 2014-08-11 22:50:38 +00:00
Nathan Gray
f7589316e0 Make sure options are there before looking inside, avoids a potential error in filter options 2014-08-11 20:27:56 +00:00
Ralf Becker
672297df94 fix for somehow empty etemplate request content, giving an error when (or after) sending mail 2014-08-11 15:12:34 +00:00
Hadi Nategh
ef6aed6579 Make sure we are getting the current appName 2014-07-30 15:12:05 +00:00
Nathan Gray
5b873215b0 - Fix expanding closed projects by passing parent ID
- Fix missing milestone icon
2014-07-29 21:51:37 +00:00
Nathan Gray
795e2cdb9c Refine cache check conditions, rows is always empty by this point. 2014-07-29 21:46:01 +00:00
Hadi Nategh
6689ca64f7 SelectAccount with type "none" should get sel_options but it should be readonly if user has no admin access. Fix infolog delegation for admin users with selectAccount type "none" selected 2014-07-29 17:39:35 +00:00
Klaus Leithoff
235888ad88 fix typo, that prevented the correct split of TreeNodeOpenItems 2014-07-29 12:50:39 +00:00
Nathan Gray
8a70df4df8 Handle num_rows set by application:
- Don't overwrite num_rows setting if the application sets it for some reason
- If num_rows is 0, don't get the initial rows server side
- If num_rows is 0 and the initial rows are missing, trigger an update right away to get them asyncronously.
2014-07-28 21:00:39 +00:00
Nathan Gray
9851a8a6ef Trigger a clear event on the etemplate DOMContainer when the etemplate is cleared, so app code can listen for it.
This allows a 'et2_unload' sort of processing.
2014-07-28 20:51:49 +00:00
Hadi Nategh
40aa20eaa2 As we replace spaces with + for those account ids which contain spaces, therefore we need to do the same for getting request-id too. 2014-07-28 15:29:49 +00:00
Ralf Becker
c6783d8b8e document hack, to work around birthdays changing one day for each time they are stored 2014-07-25 12:32:34 +00:00
Ralf Becker
970331b97c * Addressbook/all apps: dates change every time they get stored (temporary fix as conditions causing that are not clear) 2014-07-25 10:17:15 +00:00
Ralf Becker
1266aeb52a quiten permanennt error_log in etemplate_widget::run, if widget is disabled, and therefore not running 2014-07-24 09:38:55 +00:00
Nathan Gray
b6b660ee16 Fix detached date label 2014-07-22 22:22:09 +00:00
Nathan Gray
8f0513c99e Don't clear children if tabs attribute not provided 2014-07-22 21:33:41 +00:00
Nathan Gray
101eee1e1c Extend run() method for tabs:
- Apply additional tabs once in run() before applying the method, instead of in each method
- Apply tab readonlys to disable tabs, so they can be skipped
2014-07-22 21:26:03 +00:00
Nathan Gray
3176500c83 Refine select option searching when the id is like parent[selectbox].
- only search parents when the ID has multiple parts
- fix case when selectbox was in the sel_options arrayMgr, but had no options, parent was used as select options
2014-07-22 21:21:33 +00:00
Nathan Gray
bd41288788 - Add special handling for ids like something[{$row}] to only send select options once
- Don't need to process or send options for account, it is done client side now.
2014-07-21 16:31:10 +00:00
Ralf Becker
6a0c7e2c3d log not compiling PHP expressions as warning, as they are most likely caused by wired content, eg. filenames containing a $ 2014-07-21 15:27:15 +00:00
Ralf Becker
3c6130f7e6 setting an (unlikely) custom delimiter, to allow to use "," in value, eg. folder-name, IF values are specified as array 2014-07-21 12:57:32 +00:00
Ralf Becker
9712e625db * Admin/API: remove no longer fully supported method to not "store session-id in cookie", it is the safer default anyway 2014-07-18 10:02:51 +00:00
Ralf Becker
4fc6102162 removed not used setting of application via GET parameter 2014-07-18 08:48:37 +00:00
Ralf Becker
f49bbab26f fix an other CSP error, caused by json-responses send eg. from get_rows method on a GET request, filemanager opened in iframe from tracker 2014-07-17 17:26:00 +00:00
Hadi Nategh
ce6ac57f34 Correct "Save as Zip" icon in link widget contxt menu 2014-07-17 14:21:55 +00:00
Klaus Leithoff
0aa84dbaa1 use self::get_id on multiple selects and radio AND regard its output-format 2014-07-17 12:39:20 +00:00
Nathan Gray
2785aed59c Check if content is there before trying to look inside it.
Fixes "TypeError: Cannot read property 'id' of null" from mail dialog
2014-07-16 14:42:28 +00:00
Ralf Becker
9fa607c3bd fixed problems reported by LFRZ 2014-07-16 12:18:04 +00:00
Stefan Reinhardt
6cf9017c26 pixelegg / less
change @import....
2014-07-16 11:31:26 +00:00
Nathan Gray
762d8a9c09 If link has a target, use that.
Causes linked files to be opened in new browser tab.
2014-07-15 19:19:36 +00:00
Hadi Nategh
061b4b9954 Specify et2_file and et2_vfs_btn classes for et2_link_to widget 2014-07-15 16:21:38 +00:00
Nathan Gray
10aa07b2fc Fix extra options not used in read only select-account 2014-07-15 15:40:22 +00:00
Nathan Gray
67390bbcfa Add HTML5 drag support for Chrome for all files in link lists 2014-07-14 22:34:55 +00:00
Nathan Gray
3b915de4cb Grid row action enhancements:
- If row has a key 'id', set the egwActionObject id to match instead of just row_[i]
- Pass the row content in egwActionObject's data, so it's available during action processing
2014-07-14 20:47:52 +00:00
Nathan Gray
94b726f883 Don't remove request from POSTs, etemplate is still active client side.
Fixes etemplates stop working after downloading a file (merge print, zip, etc.)
2014-07-14 12:03:04 +00:00
Ralf Becker
c54e53d405 fixed PHP Strict Standards: Declaration of etemplate_widget_*::set_attrs() should be compatible with etemplate_widget::set_attrs() 2014-07-14 10:02:47 +00:00
Nathan Gray
8a36e40b10 Call applyFilters() function instead of setting directly, which skipped change detection.
Fixes selection not cleared when applying a favorite.
2014-07-14 09:59:02 +00:00
Ralf Becker
f011a6c3d1 fixed broken regular expression for multiple comma-separated values (dash in character class has to be last character!) 2014-07-13 09:14:58 +00:00
Hadi Nategh
ef9409294c Try to use xmlDoc.responseText as xmlDoc.response might not be available in IE 2014-07-11 16:49:45 +00:00
Hadi Nategh
8f0dba15fe No need to use Microsoft.XMLDOM for IE anymore, since IE 7+ supports XMLHttpRequest object 2014-07-11 16:07:02 +00:00
Hadi Nategh
3e56f38995 Try to get attribute with getAttribute method, IE does not support element dataset 2014-07-11 15:52:43 +00:00
Hadi Nategh
a0bf45da93 Use getAttribute to get the data-group value to use it for toolbar sorting.\n\r -Fix group is undefined error opening mail in IE10 2014-07-11 10:38:36 +00:00
Ralf Becker
dbc6dbd7e1 Brazilian translations from Guilherme Rocha guilherme-at-gf7.com.br 2014-07-09 19:40:43 +00:00
Ralf Becker
2a6168a1c2 * Addressbook: fixed sorting of category tree
fixes not displayed cat-tree and validation error introduced with r47575
2014-07-09 11:18:47 +00:00
Nathan Gray
48016d16c0 Fix category tree sorting 2014-07-08 23:15:49 +00:00
Nathan Gray
a5b9173fc9 Handle multiple buttons in a single custom field 2014-07-08 20:13:51 +00:00
Nathan Gray
210ebb5706 - Add $$user/primary_group$$ common placeholder
- Add calendar_owner/<contact> sub-placeholders, including primary_group
2014-07-08 19:05:09 +00:00
Nathan Gray
b7a6e53163 * Added context menu to download all linked files in one zip file
As long as there are 2 or more files linked to the entry, you can download them all as a zip using the link list context menu.
2014-07-08 16:51:01 +00:00
Ralf Becker
2de7931700 * Admin: custom-fields were not loaded, account was edited from admin not addressbook 2014-07-08 15:05:20 +00:00
Ralf Becker
55722f4520 change default value for unset checkbox to be in line with old eTemplate, using "" that evaluates in PHP and javascript to false and not string "false" 2014-07-08 11:31:57 +00:00
Hadi Nategh
a1285433bd Add alert method to et2_dialog in order to create alert dialog with optional arguments message, title and dialog type. Additionally, remove an not used argument from et2_dialog.confirm method 2014-07-08 10:29:59 +00:00
Ralf Becker
3d79bae09a Brazilian translations from Guilherme Rocha guilherme-at-gf7.com.br 2014-07-08 09:57:42 +00:00
Nathan Gray
ed6013605e If a custom field is added to the column list, invalidate known columns to get all new data back, in case app did not send custom fields in the first request. Fixes needing to reload after displaying custom fields in nextmatch 2014-07-08 04:21:02 +00:00
Nathan Gray
7a1d2dc0cd Customfield lists need to create all widgets, so they can be enabled if the column is changed without re-doing the whole thing 2014-07-08 03:37:47 +00:00
Nathan Gray
760dc4b1d3 When update(true), also invalidate record change detection, to re-fetch all known rows 2014-07-08 03:35:55 +00:00
Nathan Gray
7eb528ee1f Instead of replacing a dropped image with an error image, we'll remove it, and pass the image to the first et2_file widget with a drop target. That's not ideal, but it should work for us in most cases until CKEditor fully supports drag and drop.
(Firefox only)
2014-07-07 20:48:35 +00:00
Nathan Gray
08c10a70aa Update Resumable from github, fixes some problems with setting et2_file value to a list of files in firefox. 2014-07-07 20:26:48 +00:00
Nathan Gray
1273955f9d Allow possibility to include select all flag in url in addition to selected IDs 2014-07-07 16:46:16 +00:00
Nathan Gray
15ddeb2a24 - Avoid duplicate ID warning by only returning the value from the matching radio button
- Fix radiobuttons where the options/values were set in the template instead of sel_options
2014-07-07 16:19:37 +00:00
Hadi Nategh
296530b320 Fix etemplate2 submit() method for those buttons which they do not have nested ids 2014-07-07 13:25:20 +00:00
Nathan Gray
9ed54eb3fd Drag & drop images don't work because of DB field sizes, so replace dropped images with error image so user knows right away it won't work. 2014-07-02 20:50:39 +00:00
Nathan Gray
4c5e36500a Fix (?) the tough bug where app tab is closed, and nextmatch autorefresh generates an error after "this.getInstanceManager() is null" 2014-07-02 15:58:00 +00:00
Hadi Nategh
2c9ffb39b9 Override attchToDOM method in selectAccount, because chosen needs to be set after widget dettached from DOM (eg. validation error) 2014-07-02 14:36:47 +00:00
Hadi Nategh
6e4c7472fc Make sure rows are bigger than 0 otherwise customfield CKEditor will get height of 0 2014-07-02 09:34:51 +00:00
Hadi Nategh
64329c4c0e Add et2_label_empty class to textbox_ro widget if there is no content for the label 2014-07-01 16:18:01 +00:00
Ralf Becker
9c01142c22 margin between radio-button and its label 2014-07-01 16:04:01 +00:00
Ralf Becker
4ac94b2c01 remove label from readonly radiobutton, as we show label of checked option as value 2014-07-01 16:03:31 +00:00
Ralf Becker
96af6b8dba removed padding from empty hbox child, eg. no postcode gives empty space in front of city in addressbook list 2014-07-01 15:56:09 +00:00
Nathan Gray
9562483697 Improvements to handle not yet existing links
- Can't view file info for non-existing file, so context menu item is disabled
- Fix setting a comment
- Fix loading class on delete & fetch title showing incorrectly
2014-07-01 00:22:13 +00:00
Nathan Gray
26f1e351f3 Apply missing font & size preferences 2014-06-30 21:28:03 +00:00
Ralf Becker
15fbd6bde8 fixed not working custom fields of type radio 2014-06-30 19:34:53 +00:00
Ralf Becker
d8b35e0a77 only join in extra table, if we really need it, to improve performance 2014-06-30 09:05:16 +00:00
Hadi Nategh
4471a45147 Add id to Add button for link-add widget 2014-06-27 14:05:00 +00:00
Hadi Nategh
7a3d0e50da Fix error undefined to_app, and jquery UncaughtTypeError happens onclick handler 2014-06-27 13:27:18 +00:00
Klaus Leithoff
b633df95ec translations from our translation server 2014-06-27 08:41:37 +00:00
Hadi Nategh
6d2582c22e Remove added indentation by accident from commit 47388 2014-06-25 16:47:07 +00:00
Hadi Nategh
cab2ccdd29 Fix widget VFS button_caption translation 2014-06-25 16:26:59 +00:00
Nathan Gray
9a36c458e6 Try to fetch title if not passed 2014-06-24 21:45:13 +00:00
Hadi Nategh
c281f19568 Active translation for attribute button_caption of VFS widget 2014-06-24 15:18:55 +00:00
Hadi Nategh
545b35de5b Declare a non declared variable which was messing with app global object 2014-06-24 12:40:25 +00:00
Ralf Becker
fe44c6bb5e fixed not allways used category color, because regular expression missed every 2. category 2014-06-24 12:39:12 +00:00
Ralf Becker
d6ce36d735 bump versions to 14.1 2014-06-24 10:00:50 +00:00
Nathan Gray
866fbb65bc - Refresh filter even if it's not dirty, since it changed
- Bind delete prompt to right click on link while avoiding conflict with action system
2014-06-23 17:17:34 +00:00
Hadi Nategh
3ec98b4d6f Switch of the specified FF red border validation indicator 2014-06-23 14:43:12 +00:00
Ralf Becker
ffae12e240 * all apps: custom-fields are now stored in own egw_customfields table (no more limit on number), site configurations get now JSON serialized 2014-06-23 14:35:22 +00:00
Ralf Becker
ae19dff1d4 ignore stepMismatch html5 validation errors, the are generated for every float number 2014-06-23 14:31:47 +00:00
Ralf Becker
d4bb8a00a9 move et2_call method to egw.js to have it always available at window scope (it is NOT et2 specific), maybe we find a better/nicer place for it 2014-06-23 08:10:40 +00:00
Nathan Gray
ec476a96d7 Fix column selection not saved if columnselection pref setting had 'nextmatch-' prefix already.
Fixes infolog columns not being saved
2014-06-18 18:29:52 +00:00
Nathan Gray
0cffb46eab Handle not existing links passed from server 2014-06-17 17:14:05 +00:00
Nathan Gray
2b1215af8b If history tab is currently active, finish loading historylog widget immediately 2014-06-16 15:17:30 +00:00
Nathan Gray
aa249cb6a2 Add function to get currently active tab index 2014-06-16 15:16:59 +00:00
Ralf Becker
1cb00eb580 for unknown apps eg. "/apps/InfoLog" use "filemanager" 2014-06-16 13:19:07 +00:00
Hadi Nategh
2ff1107b78 Ignore favorite preferences which are not correctly serialized, and somehow are stroed in database. At the moment we just ignore them, but they stays in database, need to be watched closely to find the cause, though. 2014-06-13 16:03:16 +00:00
Ralf Becker
c0cfe3f320 readonlys was not namespaced in old eTemplate, therefore if we dont find data under current namespace, we look into parent (if there is anything namespaced, we will NOT look for parent!) 2014-06-12 14:22:39 +00:00
Stefan Reinhardt
dd689d5790 Search - in Header Navigation
etemplate =  result + more
2014-06-12 10:34:39 +00:00
Ralf Becker
0b6fa2785b allow to use numbers for attributes of type string, silently convert them to strings, fixes not working blur values for quantity in timesheet 2014-06-12 08:25:31 +00:00
Ralf Becker
febc2f8763 re-added validation for null as it is needed/used by widget-types other then duration 2014-06-12 07:51:41 +00:00
Nathan Gray
f3ba7f692f Use custom field name to toggle row visibility, not order, as order doesn't always work. 2014-06-11 18:03:19 +00:00
Stefan Reinhardt
da0cb798e5 Search - in Header Navigation
etemplate =  result + more
2014-06-11 14:50:21 +00:00
Hadi Nategh
6b91baf0cc Make sure fav. sorted list is always an array, and append new favorite added to fav. sorted list 2014-06-11 14:42:27 +00:00
Ralf Becker
5a32a7d622 widgets should NEVER return null (eg. for empty), as server-side $preserv will overwrite it 2014-06-11 09:14:43 +00:00
Ralf Becker
5d3d61e5b0 only care for regular expression starting with /, as everything else is to ambigious eg. "replys[$row][reply_comment]" has a $ followed by an r, which is also first char of that expression 2014-06-11 07:59:45 +00:00
Nathan Gray
22b6084224 Fix link entry clear button not actually clearing the value if the value was entered via code instead of user 2014-06-10 21:35:39 +00:00
Nathan Gray
a4335f01a0 Hide custom field lines from nextmatch if they have no value 2014-06-10 20:22:43 +00:00
Nathan Gray
f8cb222580 Style gantt links as invalid based on if the start/end dates are correct for the link type 2014-06-10 18:52:50 +00:00
Nathan Gray
d1d11c63df Styles for gantt progress &weekend hightlight 2014-06-10 17:41:09 +00:00
Nathan Gray
42547b8153 Gantt chart styling
- Include progress as text on left side of bar
- Highlight weekends
2014-06-10 17:38:02 +00:00
Nathan Gray
315a0d4ac0 Pass along width attribute, so it can be passed to chosen 2014-06-09 22:55:39 +00:00
Nathan Gray
a9e37042cb Use js type for query & select callbacks and implement setter functions 2014-06-09 19:28:31 +00:00
Nathan Gray
fa8963c8b4 Consider "0" (string zero) equal to false instead of true, as some PHP values come as strings. 2014-06-09 19:27:02 +00:00
Nathan Gray
0a1c0e5135 Do disabled check before grid name expansion, so disabled=!@grid_id will work 2014-06-09 19:24:48 +00:00
Ralf Becker
60a32879d4 first try to implement/activate client-side validation for numbers, thought not fully working yet 2014-06-05 15:48:29 +00:00
Ralf Becker
a45525949b implement clientside validation for textbox, stop complaining about $ in regular expressions of validator and fix attribute name from "preg" to "validator" on server-side 2014-06-05 15:47:23 +00:00
Nathan Gray
470cf39e94 Change validation to accept & validate numeric list IDs if include_lists is set. 2014-06-04 20:00:46 +00:00
Nathan Gray
2e09cf1ab1 - changing column selection preference now works if 'nextmatch-' prefix is included in the columnselection_pref setting
- change column selection popup to reload every time it opens, just in case something changes in the columns
2014-06-04 18:37:58 +00:00
Nathan Gray
001eab9159 If extra data is sent from a get_rows, try to update a matching child widget. 2014-06-04 16:45:19 +00:00
Nathan Gray
ee7349f4f6 Fix missing path, prevented single selected address merge into mail from opening properly in popup 2014-06-04 15:41:24 +00:00
Ralf Becker
2c5ba307b5 convert numbers to string for consistent matching, 0 was never set, because it was treated as already set, which gives wrong result if it is not first option 2014-06-04 09:52:02 +00:00
Nathan Gray
0d9e9553b3 Change date filters:
- End date is now inclusive
 - Task dates must now either start after start date _or_ end before end date to be included, instead of fall completely within the range
2014-06-03 23:29:46 +00:00
Ralf Becker
c6fe901b56 fixed infinit loop, if string to active starts with url right away, eg. "https://domain.com/" 2014-06-03 07:22:34 +00:00
Nathan Gray
3b8bee4d18 Update dhtmlxTree & dhtmlMenu to latest version 2014-06-02 23:32:15 +00:00
Ralf Becker
92fddc9c51 fixed validation of private custom-fields using a different name, eg. addressbook 2014-06-02 13:29:26 +00:00
Ralf Becker
b59585cf4b fixed IDE warnings 2014-06-02 13:25:20 +00:00
Hadi Nategh
87d3a0bf28 Set date-duration display_format default to day/hour/minute 2014-05-30 13:40:13 +00:00
Nathan Gray
10d7a3f579 If a filter changed, explicitly clear the selection to prevent confusion if selected rows are in the new results 2014-05-29 16:21:41 +00:00
Nathan Gray
79f7a8a6cf Use popup mail compose window if default document is an email, same as non-default documents 2014-05-29 15:33:27 +00:00
Nathan Gray
bb5b1163cb Progress on gantt chart
- Fixed error from projects with no constraints
- Got ajax expansion working
2014-05-27 23:27:30 +00:00
Nathan Gray
1224439431 Fix reversed path when namespaced widgets were nested 2014-05-27 20:22:23 +00:00
Nathan Gray
bff821e300 Move special path handling from nextmatch up to top level so it can work for all widgets with a namespace and their own value 2014-05-27 20:16:02 +00:00
Nathan Gray
7af73c91c4 Avoid infinite loop looking up accounts 2014-05-27 15:33:26 +00:00
Ralf Becker
9ed199261a fix dialog and translations to allow messages with newlines 2014-05-27 12:11:09 +00:00
Nathan Gray
34ed2d7290 - Fix missing change handler on some nm header templates
- Fix improper usage of jQuery.when() (it doesn't take an array)
- Fix missing filter detection to not break with multiple values
2014-05-26 22:27:57 +00:00
Nathan Gray
e5f1e3e473 Decode title before showing to user in list 2014-05-26 20:05:33 +00:00
Ralf Becker
9455efae32 added postSubmit=true to document actions in mime-type sub-menus, was there for all other cases already 2014-05-26 16:09:03 +00:00
Ralf Becker
086501bc30 fixed .5 hours entered in infolog (PM tab) is displayed after saving as 30 days, caused by automatic transformation to minutes and not recognising that display_format does NOT support minutes 2014-05-26 13:44:24 +00:00
Hadi Nategh
ba1141f0cc Set value for date-timeonly when it's string and NaN 2014-05-26 07:46:30 +00:00
Ralf Becker
30ffb38bd6 reverted r47030 as it breaks server-side nextmatch actions
nextmatch values were in root instead of namespaced "nm", causing all serverside actions (eg. move one contact into an other addressbook) to fail, because validation did not find values placed clientside outside valid namespace
2014-05-23 16:00:17 +00:00
Ralf Becker
24ee68bdf2 fixed infinit loop for apps running in iframe by refactoring frameworked templates work with client-side api:
- moved shared etemplate2 part into static etemplate2.app_refresh() method
- egw_message.refresh() calls framework.refresh() which can return a DOMwindow for egw.refresh() to work on, instead of calling egw.refresh recursive
2014-05-23 08:21:11 +00:00
Nathan Gray
1f4c8a0c03 Fix blank list on refresh, related to r47042 2014-05-22 16:32:58 +00:00
Ralf Becker
893091e286 - new app.js observer method which receives update notifications from all apps
- app.infolog.observer triggering refresh of InfoLog list, when a timesheet get stored
- moved code of already deprecated egw_refresh() to egw.refresh() and changed etemplate to use that
- framework from jdots/pixelegg template no longer overwrites window.egw_refresh, but egw.refresh calls framework.refresh for regular refreshs if framework is present
2014-05-22 15:29:14 +00:00
Nathan Gray
84e20433b6 Attempt to get rows in the direction of need, rather than centered on the missing rows 2014-05-22 14:48:22 +00:00
Ralf Becker
090c6eb19f only replace @ or $cont, no $row_cont as we dont know row, upload/selection of vfs attachments in mail fails otherwise 2014-05-22 12:15:11 +00:00
Ralf Becker
f203703e42 fixed changing of settings (eg. template set) did not work anymore reported by Christoph Kaulich
caused by always breaking reference from attribute values. Now reference is only broken, if attribute value needs expanding (because it contains @ or $)
2014-05-22 09:39:16 +00:00
Nathan Gray
ccdb54a366 Gantt chart progress 2014-05-21 22:11:36 +00:00
Ralf Becker
5825c8df18 new button attribute "novalidate" to skip validation 2014-05-21 17:24:56 +00:00
Ralf Becker
cbd328eb55 htmlarea-widget in mode="ascii" looses or modifies content (<, >, <tag>) by calling html::purify on it, also fixed set_attrs to expand attribute values 2014-05-21 09:55:02 +00:00
Ralf Becker
6ee8b47d7a fixed javascript error when setting a validation error on a widget not on a tab 2014-05-21 09:07:14 +00:00
Nathan Gray
02db5d0357 Don't send blank row option for read-only selectboxes. It's not needed, and can conflict with non-readonly (nm filter vs row) 2014-05-20 19:25:48 +00:00
Ralf Becker
bdba288048 fix ide warning 2014-05-16 09:31:18 +00:00
Ralf Becker
ec667b9c41 also implement r46958 server-side: get customfield_list to respect readonlys of single fields 2014-05-16 09:29:10 +00:00
Ralf Becker
281863ac29 get customfield_list to respect readonlys of single fields 2014-05-15 16:49:53 +00:00
Ralf Becker
bdbc22dd98 reverted r46410 calling header explicitly before navbar, causing navbar no longer being able to add stuff to header, eg. include javascript
and fixing idots_framework::navbar() to still call header, if $navbar_done is set
2014-05-15 09:41:31 +00:00
Ralf Becker
2b3a9cd1b5 * eTemplate2: fixed accounts got lost, if account-selection did not show all accounts
if accounts need to be fetched from server, callback is called async --> calling set_value again for last callback
2014-05-14 10:00:31 +00:00
Hadi Nategh
d849c6797a Switch sorted array and id params position, in sortable gird 2014-05-14 08:29:04 +00:00
Nathan Gray
e1134224fc Move gantt css to seperate link instead of including 2014-05-13 22:24:25 +00:00
Nathan Gray
33f264346a Fix error deleting a favorite 2014-05-13 21:39:23 +00:00
Nathan Gray
bca1696866 Tell request not to get cleaned up, something changed 2014-05-13 20:11:06 +00:00