Merge lp:~jfb-tempo-consulting/unifield-web/US-9026 into lp:unifield-web

Proposed by jftempo
Status: Merged
Merged at revision: 5026
Proposed branch: lp:~jfb-tempo-consulting/unifield-web/US-9026
Merge into: lp:unifield-web
Diff against target: 108 lines (+28/-12)
3 files modified
addons/openerp/controllers/form.py (+20/-9)
addons/openerp/controllers/templates/form.mako (+2/-2)
addons/openerp/static/javascript/form.js (+6/-1)
To merge this branch: bzr merge lp:~jfb-tempo-consulting/unifield-web/US-9026
Reviewer Review Type Date Requested Status
UniField Dev Team Pending
Review via email: mp+407702@code.launchpad.net
To post a comment you must log in.

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 2021-07-15 16:22:13 +0000
3+++ addons/openerp/controllers/form.py 2021-08-25 19:28:46 +0000
4@@ -139,6 +139,16 @@
5
6 params.nodefault = True
7 params.validation_form = True
8+
9+ # validation from wizard popup: hide save/edit buttons and attachements sidebar if fields (date) validation fails
10+ target = params._terp_view_target
11+ if target in ('new', 'same'):
12+ # tw.form_view.ViewForm uses params.target to display or not the sidebar
13+ params.target = target
14+
15+ # create_from uses cherrypy.request._terp_view_target to hide save/save&edit button on wizard
16+ cherrypy.request._terp_view_target = target
17+
18 form = self.create_form(params)
19 cherrypy.request.terp_form = form
20
21@@ -185,6 +195,13 @@
22 params.count = params.count or 0
23 params.approximation = params.approximation or False
24 params.view_type = params.view_type or params.view_mode[0]
25+ target = getattr(cherrypy.request, '_terp_view_target', None)
26+ if target in ('new', 'same'):
27+ # for target='new' keep orignal value as '_terp_view_target' hidden field,
28+ # that's necessary to keep wizard without toolbar button (new, save, pager, etc...)
29+ hidden_fields = params.hidden_fields or []
30+ hidden_fields.append(tw.form.Hidden(name='_terp_view_target', default=ustr(target)))
31+ params.hidden_fields = hidden_fields
32
33 return tw.form_view.ViewForm(params, name="view_form", action="/openerp/form/save")
34
35@@ -210,16 +227,9 @@
36 if params.view_type == 'tree':
37 params.editable = True
38
39- target = getattr(cherrypy.request, '_terp_view_target', None)
40- if target in ('new', 'same'):
41- # for target='new' keep orignal value as '_terp_view_target' hidden field,
42- # that's necessary to keep wizard without toolbar button (new, save, pager, etc...)
43- hidden_fields = params.hidden_fields or []
44- hidden_fields.append(tw.form.Hidden(name='_terp_view_target', default=ustr(target)))
45- params.hidden_fields = hidden_fields
46-
47 form = self.create_form(params, tg_errors)
48
49+
50 if not tg_errors:
51 try:
52 cherrypy.session.pop('remember_notebooks')
53@@ -248,6 +258,7 @@
54 for kind, view in get_registered_views():
55 buttons.views.append(dict(kind=kind, name=view.name, desc=view.desc))
56
57+ target = getattr(cherrypy.request, '_terp_view_target', None)
58 buttons.toolbar = (target not in ('new', 'same') and not form.is_dashboard) or mode == 'diagram'
59
60 pager = None
61@@ -1396,7 +1407,7 @@
62
63 field = field.split('/')[-1]
64
65- res = rpc.RPCProxy(model).default_get([field])
66+ res = rpc.RPCProxy(model).default_get([field], {}, True)
67 value = res.get(field)
68
69 return dict(value=value)
70
71=== modified file 'addons/openerp/controllers/templates/form.mako'
72--- addons/openerp/controllers/templates/form.mako 2020-01-29 15:22:30 +0000
73+++ addons/openerp/controllers/templates/form.mako 2021-08-25 19:28:46 +0000
74@@ -75,7 +75,7 @@
75 <br style="clear: both"/>
76 </div>
77 % endif
78- % if form.screen.view_type == 'form' and form.logs.logs:
79+ % if form.screen.view_type == 'form' and form.logs and form.logs.logs:
80 ${form.logs.display()}
81 % endif
82 <div id="body_form">
83@@ -107,7 +107,7 @@
84 <small>Help</small>
85 </a>
86 % endif
87- % if form.screen.view_type == 'form' and form.logs.logs:
88+ % if form.screen.view_type == 'form' and form.logs and form.logs.logs:
89 <a id="show_server_logs" class="logs" href="javascript: void(0)"
90 title="${_('Show Logs...')}">
91 <small>Logs</small>
92
93=== modified file 'addons/openerp/static/javascript/form.js'
94--- addons/openerp/static/javascript/form.js 2021-07-08 09:43:54 +0000
95+++ addons/openerp/static/javascript/form.js 2021-08-25 19:28:46 +0000
96@@ -1353,7 +1353,12 @@
97 jQuery('[id="' + field_id + '"]')
98 .val(obj.value);
99 // jQuery().change doesn't trigger Mochikit's handler?
100- signal(field_id, "onchange");
101+ f = $('#'+field_id)
102+ if (f && f.attr('kind') == 'many2one') {
103+ ManyToOne(field_id).on_change();
104+ } else {
105+ signal(field_id, "onchange");
106+ }
107 });
108 }
109

Subscribers

People subscribed via source and target branches