Merge lp:~unifield-team/unifield-web/UTP-252 into lp:unifield-web
- UTP-252
- Merge into trunk
Proposed by
jftempo
Status: | Merged |
---|---|
Merged at revision: | 4722 |
Proposed branch: | lp:~unifield-team/unifield-web/UTP-252 |
Merge into: | lp:unifield-web |
Diff against target: |
423 lines (+123/-29) 11 files modified
addons/openerp/controllers/form.py (+16/-13) addons/openerp/controllers/templates/base.mako (+3/-3) addons/openerp/controllers/templates/form.mako (+4/-2) addons/openerp/controllers/templates/header.mako (+4/-0) addons/openerp/controllers/templates/index.mako (+6/-5) addons/openerp/static/css/menu.css (+1/-0) addons/openerp/static/css/screen.css (+50/-1) addons/openerp/static/javascript/form.js (+27/-2) addons/openerp/widgets/form/templates/binary.mako (+3/-1) openobject/controllers/templates/base.mako (+1/-1) openobject/static/javascript/openobject/openobject.http.js (+8/-1) |
To merge this branch: | bzr merge lp:~unifield-team/unifield-web/UTP-252 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
UniField Dev Team | Pending | ||
Review via email: mp+194103@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
- 4722. By jftempo
-
[MERGE] lp:unifield-web + lp:~unifield-team/unifield-web/UTP-252
- 4723. By jftempo
-
UTP-252 [FIX] 2 buttons to toggle fullscreen removed
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'addons/openerp/controllers/form.py' |
2 | --- addons/openerp/controllers/form.py 2013-06-20 06:52:02 +0000 |
3 | +++ addons/openerp/controllers/form.py 2013-11-07 08:48:38 +0000 |
4 | @@ -192,7 +192,6 @@ |
5 | |
6 | @expose(template="/openerp/controllers/templates/form.mako") |
7 | def create(self, params, tg_errors=None): |
8 | - |
9 | params.view_type = params.view_type or params.view_mode[0] |
10 | |
11 | if params.view_type == 'tree': |
12 | @@ -271,7 +270,7 @@ |
13 | tips = tips |
14 | |
15 | is_dashboard = form.screen.is_dashboard or False |
16 | - return dict(form=form, pager=pager, buttons=buttons, path=self.path, can_shortcut=can_shortcut, shortcut_ids=shortcut_ids, display_name=display_name, title=title, tips=tips, obj_process=obj_process, is_dashboard=is_dashboard) |
17 | + return dict(form=form, pager=pager, buttons=buttons, path=self.path, can_shortcut=can_shortcut, shortcut_ids=shortcut_ids, display_name=display_name, title=title, tips=tips, obj_process=obj_process, is_dashboard=is_dashboard, sidebar_closed=params._terp_sidebar_closed) |
18 | |
19 | @expose('json', methods=('POST',)) |
20 | def close_or_disable_tips(self): |
21 | @@ -280,7 +279,7 @@ |
22 | def _read_form(self, context, count, domain, filter_domain, id, ids, kw, |
23 | limit, model, offset, search_data, search_domain, source, |
24 | view_ids, view_mode, view_type, notebook_tab, o2m_edit=False, |
25 | - editable=False): |
26 | + editable=False, sidebar_closed=False): |
27 | """ Extract parameters for form reading/creation common to both |
28 | self.edit and self.view |
29 | """ |
30 | @@ -299,7 +298,8 @@ |
31 | '_terp_search_domain': search_domain, |
32 | '_terp_search_data': search_data, |
33 | '_terp_filter_domain': filter_domain, |
34 | - '_terp_notebook_tab': notebook_tab}) |
35 | + '_terp_notebook_tab': notebook_tab, |
36 | + '_terp_sidebar_closed': sidebar_closed}) |
37 | params.o2m_edit = o2m_edit |
38 | params.editable = editable |
39 | params.action_id = kw.get('action_id') |
40 | @@ -324,13 +324,13 @@ |
41 | def edit(self, model, id=False, ids=None, view_ids=None, |
42 | view_mode=['form', 'tree'], view_type='form', source=None, domain=[], context={}, |
43 | offset=0, limit=50, count=0, search_domain=None, |
44 | - search_data=None, filter_domain=None, o2m_edit=False, **kw): |
45 | + search_data=None, filter_domain=None, o2m_edit=False, sidebar_closed=False, **kw): |
46 | |
47 | notebook_tab = kw.get('notebook_tab') or 0 |
48 | params = self._read_form(context, count, domain, filter_domain, id, |
49 | ids, kw, limit, model, offset, search_data, |
50 | search_domain, source, view_ids, view_mode, |
51 | - view_type, notebook_tab, o2m_edit=o2m_edit, editable=True) |
52 | + view_type, notebook_tab, o2m_edit=o2m_edit, editable=True, sidebar_closed=sidebar_closed) |
53 | |
54 | if not params.ids: |
55 | params.count = 0 |
56 | @@ -347,13 +347,13 @@ |
57 | def view(self, model, id, ids=None, view_ids=None, |
58 | view_mode=['form', 'tree'], view_type='form', source=None, domain=[], context={}, |
59 | offset=0, limit=50, count=0, search_domain=None, |
60 | - search_data=None, filter_domain=None, **kw): |
61 | + search_data=None, filter_domain=None, sidebar_closed=False, **kw): |
62 | |
63 | notebook_tab = kw.get('notebook_tab') or 0 |
64 | params = self._read_form(context, count, domain, filter_domain, id, |
65 | ids, kw, limit, model, offset, search_data, |
66 | search_domain, source, view_ids, view_mode, |
67 | - view_type, notebook_tab) |
68 | + view_type, notebook_tab, sidebar_closed=sidebar_closed) |
69 | |
70 | if not params.ids: |
71 | params.count = 1 |
72 | @@ -372,7 +372,6 @@ |
73 | |
74 | if not params.id and params.ids: |
75 | params.id = params.ids[0] |
76 | - |
77 | if params.id and params.editable: |
78 | raise redirect(self.path + "/view", model=params.model, |
79 | id=params.id, |
80 | @@ -386,7 +385,8 @@ |
81 | count=params.count, |
82 | search_domain=ustr(params.search_domain), |
83 | search_data = ustr(params.search_data), |
84 | - filter_domain= ustr(params.filter_domain)) |
85 | + filter_domain= ustr(params.filter_domain), |
86 | + sidebar_closed=params._terp_sidebar_closed) |
87 | |
88 | params.view_type = 'tree' |
89 | return self.create(params) |
90 | @@ -499,7 +499,8 @@ |
91 | 'search_domain': ustr(params.search_domain), |
92 | 'search_data': ustr(params.search_data), |
93 | 'filter_domain': ustr(params.filter_domain), |
94 | - 'notebook_tab': params.notebook_tab} |
95 | + 'notebook_tab': params.notebook_tab, |
96 | + 'sidebar_closed': params.sidebar_closed} |
97 | if params.view_target and params.view_target in ('new', 'same'): |
98 | # within a wizard popup dialog - keep the orignal target mode |
99 | # (here target='new' will hide toolbar buttons (new, save, pager, etc..) |
100 | @@ -628,7 +629,8 @@ |
101 | 'limit': params.limit, |
102 | 'count': params.count, |
103 | 'search_domain': ustr(params.search_domain), |
104 | - 'filter_domain': ustr(params.filter_domain)} |
105 | + 'filter_domain': ustr(params.filter_domain), |
106 | + 'sidebar_closes': params.sidebar_closed} |
107 | |
108 | if new_id: |
109 | raise redirect(self.path + '/edit', **args) |
110 | @@ -671,7 +673,8 @@ |
111 | 'limit': params.limit, |
112 | 'count': params.count, |
113 | 'search_domain': ustr(params.search_domain), |
114 | - 'filter_domain': ustr(params.filter_domain)} |
115 | + 'filter_domain': ustr(params.filter_domain), |
116 | + 'sidebar_closed': params.sidebar_closed} |
117 | |
118 | if not params.id: |
119 | raise redirect(self.path + '/edit', **args) |
120 | |
121 | === modified file 'addons/openerp/controllers/templates/base.mako' |
122 | --- addons/openerp/controllers/templates/base.mako 2013-10-03 10:05:30 +0000 |
123 | +++ addons/openerp/controllers/templates/base.mako 2013-11-07 08:48:38 +0000 |
124 | @@ -8,7 +8,7 @@ |
125 | <script type="text/javascript" src="/openerp/static/javascript/openerp/openerp.ui.textarea.js"></script> |
126 | |
127 | <script type="text/javascript" src="/openerp/static/javascript/scripts.js"></script> |
128 | - <script type="text/javascript" src="/openerp/static/javascript/form.js?v=2.3b2"></script> |
129 | + <script type="text/javascript" src="/openerp/static/javascript/form.js?v=2.7b1"></script> |
130 | <script type="text/javascript" src="/openerp/static/javascript/form_state.js?v=2.3b2"></script> |
131 | <script type="text/javascript" src="/openerp/static/javascript/listgrid.js"></script> |
132 | |
133 | @@ -20,10 +20,10 @@ |
134 | <script type="text/javascript" src="/openerp/static/jscal/calendar-setup.js"></script> |
135 | |
136 | <link rel="stylesheet" type="text/css" href="/openerp/static/css/style.css"/> |
137 | - <link rel="stylesheet" type="text/css" href="/openerp/static/css/menu.css"/> |
138 | + <link rel="stylesheet" type="text/css" href="/openerp/static/css/menu.css?v=2.7b1"/> |
139 | <link rel="stylesheet" type="text/css" href="/openerp/static/css/tips.css"/> |
140 | <link rel="stylesheet" type="text/css" href="/openerp/static/css/waitbox.css"/> |
141 | - <link rel="stylesheet" type="text/css" href="/openerp/static/css/screen.css"/> |
142 | + <link rel="stylesheet" type="text/css" href="/openerp/static/css/screen.css?v=2.7b1"/> |
143 | |
144 | <link rel="stylesheet" type="text/css" href="/openerp/static/jscal/calendar-blue.css"/> |
145 | <link rel="stylesheet" type="text/css" href="/openerp/static/css/dashboard.css"/> |
146 | |
147 | === modified file 'addons/openerp/controllers/templates/form.mako' |
148 | --- addons/openerp/controllers/templates/form.mako 2013-08-29 12:34:05 +0000 |
149 | +++ addons/openerp/controllers/templates/form.mako 2013-11-07 08:48:38 +0000 |
150 | @@ -172,13 +172,15 @@ |
151 | </td> |
152 | % if form.sidebar: |
153 | <% |
154 | - if form.screen.view_type in ['form', 'calendar', 'gantt']: |
155 | + if sidebar_closed: |
156 | + sidebar_class="closed" |
157 | + elif form.screen.view_type in ['form', 'calendar', 'gantt']: |
158 | sidebar_class="open" |
159 | else: |
160 | sidebar_class="closed" |
161 | %> |
162 | <td id="main_sidebar" valign="top"> |
163 | - <a class="toggle-sidebar ${sidebar_class}" href="javascript:void(0)">Toggle</a> |
164 | + <a class="toggle-sidebar ${sidebar_class}" href="javascript:void(0)" id="a_main_sidebar">Toggle</a> |
165 | <div id="tertiary" class="${sidebar_class}"> |
166 | <div id="tertiary_wrap"> |
167 | ${form.sidebar.display()} |
168 | |
169 | === modified file 'addons/openerp/controllers/templates/header.mako' |
170 | --- addons/openerp/controllers/templates/header.mako 2012-08-17 08:47:11 +0000 |
171 | +++ addons/openerp/controllers/templates/header.mako 2013-11-07 08:48:38 +0000 |
172 | @@ -83,6 +83,10 @@ |
173 | </li> |
174 | % endfor |
175 | </ul> |
176 | + <div style="position: absolute; right: 5px; top: 6px;"> |
177 | + <a id="fullscreen-mode" onclick="fullscreen(true);" accesskey="0">${_("Full Screen")}</a> |
178 | + <a id="leave-fullscreen-mode" onclick="fullscreen(false);" accesskey="9">${_("Leave Full Screen")}</a> |
179 | + </div> |
180 | % endif |
181 | </div> |
182 | </td> |
183 | |
184 | === modified file 'addons/openerp/controllers/templates/index.mako' |
185 | --- addons/openerp/controllers/templates/index.mako 2011-12-29 13:01:08 +0000 |
186 | +++ addons/openerp/controllers/templates/index.mako 2013-11-07 08:48:38 +0000 |
187 | @@ -76,7 +76,7 @@ |
188 | <%include file="header.mako"/> |
189 | </tr> |
190 | <tr> |
191 | - <td id="main_nav" colspan="3"> |
192 | + <td id="main_nav" colspan="4"> |
193 | <div id="applications_menu"> |
194 | <ul> |
195 | %for parent in parents: |
196 | @@ -94,7 +94,8 @@ |
197 | % if tools is not None: |
198 | <tr> |
199 | <td id="secondary" class="sidenav-open"> |
200 | - <div class="wrap"> |
201 | + <a onclick="$('#nav2').toggle();$('#main-sidebar-toggler').toggleClass('closed');" id="main-sidebar-toggler">Toggle Menu</a> |
202 | + <div class="wrap" id="nav2"> |
203 | <ul id="sidenav-a" class="accordion"> |
204 | % for tool in tools: |
205 | % if tool.get('action'): |
206 | @@ -114,7 +115,7 @@ |
207 | </script> |
208 | </div> |
209 | </td> |
210 | - <td id="primary"> |
211 | + <td></td><td id="primary"> |
212 | <div class="wrap"> |
213 | <div id="appContent"></div> |
214 | </div> |
215 | @@ -122,7 +123,7 @@ |
216 | </tr> |
217 | % else: |
218 | <tr> |
219 | - <td colspan="3" height="100%" valign="top"> |
220 | + <td colspan="4" height="100%" valign="top"> |
221 | <table width="100%" height="100%"> |
222 | <tr> |
223 | <td id="primary" class="first-page-primary"> |
224 | @@ -164,7 +165,7 @@ |
225 | </tr> |
226 | % endif |
227 | <tr> |
228 | - <td id="footer_section" colspan="3"> |
229 | + <td id="footer_section" colspan="4"> |
230 | % if cp.config('server.environment') == 'development': |
231 | <div class="footer-a"> |
232 | <p class="one"> |
233 | |
234 | === modified file 'addons/openerp/static/css/menu.css' |
235 | --- addons/openerp/static/css/menu.css 2012-08-17 08:47:11 +0000 |
236 | +++ addons/openerp/static/css/menu.css 2013-11-07 08:48:38 +0000 |
237 | @@ -64,6 +64,7 @@ |
238 | list-style: none; |
239 | white-space: nowrap; |
240 | padding: 0; |
241 | + /*margin: 0 0 -20px 0;*/ |
242 | margin: 0; |
243 | } |
244 | |
245 | |
246 | === modified file 'addons/openerp/static/css/screen.css' |
247 | --- addons/openerp/static/css/screen.css 2012-08-17 08:47:11 +0000 |
248 | +++ addons/openerp/static/css/screen.css 2013-11-07 08:48:38 +0000 |
249 | @@ -1643,7 +1643,7 @@ |
250 | #sidenav-a li > span { |
251 | display: block; |
252 | height: 20px; |
253 | - padding: 0 5px; |
254 | + padding: 0 5px 0 10px; |
255 | font-size: 1.1em; |
256 | background: url(../images/sidenav-link-a.png) 0 100% repeat-x; |
257 | line-height: 20px; |
258 | @@ -1950,6 +1950,26 @@ |
259 | position: absolute; |
260 | z-index: 10; |
261 | } |
262 | +#main-sidebar-toggler { |
263 | + background: url("../images/toggle-a-bg.png") no-repeat scroll -8px -2px transparent; |
264 | + border-color: #D2CFCF; |
265 | + border-style: solid; |
266 | + border-width: 1px; |
267 | + display: block; |
268 | + height: 19px; |
269 | + left: 0; |
270 | + overflow: hidden; |
271 | + padding-left: 0; |
272 | + position: absolute; |
273 | + text-indent: -10001px; |
274 | + width: 6px; |
275 | + z-index: 10; |
276 | + cursor: pointer; |
277 | +} |
278 | +#main-sidebar-toggler.closed{ |
279 | + background-position: -29px -2px; |
280 | +} |
281 | + |
282 | .toggle-sidebar.open { |
283 | margin-left: 158px; |
284 | width: 21px; |
285 | @@ -2340,3 +2360,32 @@ |
286 | width: 300px; |
287 | text-align: center; |
288 | } |
289 | + |
290 | +#fullscreen-mode { |
291 | + background: url("../images/stock/gtk-fullscreen.png") no-repeat scroll 0 0 transparent; |
292 | + height: 17px; |
293 | + text-indent: -100001px; |
294 | + width: 0; |
295 | + padding-left: 17px !important; |
296 | + visibility: hidden; |
297 | +} |
298 | + |
299 | +#leave-fullscreen-mode { |
300 | + background: url("../images/stock/gtk-leave-fullscreen.png") no-repeat scroll 0 0 transparent; |
301 | + height: 17px; |
302 | + text-indent: -100001px; |
303 | + width: 0; |
304 | + padding-left: 17px !important; |
305 | + visibility: hidden; |
306 | +} |
307 | +#toggle-fullscreen-mode { |
308 | + background: url("../images/stock/gtk-fullscreen.png") no-repeat scroll 0 0 transparent; |
309 | + height: 17px; |
310 | + text-indent: -100001px; |
311 | + width: 0; |
312 | + padding-left: 17px !important; |
313 | + visibility: hidden; |
314 | +} |
315 | +#toggle-fullscreen-mode.closed { |
316 | + background: url("../images/stock/gtk-leave-fullscreen.png") no-repeat scroll 0 0 transparent; |
317 | +} |
318 | |
319 | === modified file 'addons/openerp/static/javascript/form.js' |
320 | --- addons/openerp/static/javascript/form.js 2013-09-10 08:03:59 +0000 |
321 | +++ addons/openerp/static/javascript/form.js 2013-11-07 08:48:38 +0000 |
322 | @@ -59,7 +59,7 @@ |
323 | 'notebook_tab': jQuery('#_terp_notebook_tab').val() || 0, |
324 | 'action_id': jQuery('#_terp_action_id').val() || null |
325 | }; |
326 | - |
327 | + get_sidebar_status(args, true); |
328 | var action = readonly ? 'view' : 'edit'; |
329 | |
330 | if (target == '_blank') { |
331 | @@ -195,6 +195,20 @@ |
332 | window.top.jQuery.fancybox(error, {scrolling: 'no'}); |
333 | } |
334 | |
335 | +function get_sidebar_status(args, noterp) { |
336 | + var sidebar = $('#a_main_sidebar') |
337 | + var view_type=$('#_terp_view_type') |
338 | + if (sidebar && view_type && view_type.val() == 'form') { |
339 | + if (sidebar.hasClass('closed')) { |
340 | + console.log('is_closed'); |
341 | + if (noterp) { |
342 | + args['sidebar_closed'] = 1; |
343 | + } else { |
344 | + args['_terp_sidebar_closed'] = 1; |
345 | + } |
346 | + } |
347 | + } |
348 | +} |
349 | |
350 | function submit_form(action, src, target){ |
351 | |
352 | @@ -219,7 +233,7 @@ |
353 | action = 'save'; |
354 | args['_terp_close'] = 1; |
355 | } |
356 | - |
357 | + get_sidebar_status(args); |
358 | action = get_form_action(action, args); |
359 | |
360 | var $form = jQuery('#view_form'); |
361 | @@ -1352,3 +1366,14 @@ |
362 | } |
363 | return true; |
364 | } |
365 | + |
366 | +function fullscreen(mode) { |
367 | + // switch left panel |
368 | + $('#nav2').toggle(!mode); |
369 | + $('#main-sidebar-toggler').toggleClass('closed', mode); |
370 | + |
371 | + // switch right panel |
372 | + var to_remove = mode && 'open' || 'closed'; |
373 | + var to_add = mode && 'closed' || 'open'; |
374 | + $('#tertiary,#a_main_sidebar').addClass(to_add).removeClass(to_remove); |
375 | +} |
376 | |
377 | === modified file 'addons/openerp/widgets/form/templates/binary.mako' |
378 | --- addons/openerp/widgets/form/templates/binary.mako 2011-06-29 05:19:57 +0000 |
379 | +++ addons/openerp/widgets/form/templates/binary.mako 2013-11-07 08:48:38 +0000 |
380 | @@ -24,7 +24,9 @@ |
381 | %if value: |
382 | <input type="hidden" name="${name}" value="${value}"></input> |
383 | % endif |
384 | - % if text: |
385 | + % if text and model == 'ir.attachment': |
386 | + <a class="button-a" href="javascript: void(0)" onclick="save_binary_data('${name}', '${filename}')">${_("Open donation certificate")}</a> |
387 | + % elif text: |
388 | <a class="button-a" href="javascript: void(0)" onclick="save_binary_data('${name}', '${filename}')">${_("Save As")}</a> |
389 | % endif |
390 | % if editable and not readonly: |
391 | |
392 | === modified file 'openobject/controllers/templates/base.mako' |
393 | --- openobject/controllers/templates/base.mako 2012-03-23 06:58:31 +0000 |
394 | +++ openobject/controllers/templates/base.mako 2013-11-07 08:48:38 +0000 |
395 | @@ -29,7 +29,7 @@ |
396 | <script type="text/javascript" src="/openobject/static/javascript/openobject/openobject.base.js"></script> |
397 | <script type="text/javascript" src="/openobject/static/javascript/openobject/openobject.gettext.js"></script> |
398 | <script type="text/javascript" src="/openobject/static/javascript/openobject/openobject.dom.js"></script> |
399 | - <script type="text/javascript" src="/openobject/static/javascript/openobject/openobject.http.js"></script> |
400 | + <script type="text/javascript" src="/openobject/static/javascript/openobject/openobject.http.js?v=2.7b1"></script> |
401 | <script type="text/javascript" src="/openobject/static/javascript/openobject/openobject.tools.js"></script> |
402 | |
403 | <script type="text/javascript"> |
404 | |
405 | === modified file 'openobject/static/javascript/openobject/openobject.http.js' |
406 | --- openobject/static/javascript/openobject/openobject.http.js 2011-07-08 10:54:52 +0000 |
407 | +++ openobject/static/javascript/openobject/openobject.http.js 2013-11-07 08:48:38 +0000 |
408 | @@ -95,7 +95,14 @@ |
409 | uri = sp + uri; |
410 | } |
411 | |
412 | - return qs ? uri + "?" + qs : uri; |
413 | + |
414 | + if (qs) { |
415 | + if (uri.indexOf('?') != -1) { |
416 | + return uri + '&' +qs; |
417 | + } |
418 | + return uri + "?" + qs; |
419 | + } |
420 | + return uri |
421 | }, |
422 | |
423 | redirect: function(uri, params) { |