openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #00300
[Merge] lp:~openerp-dev/openobject-client-web/Improvement_search_m2o into lp:openobject-client-web
Jra (Open ERP) has proposed merging lp:~openerp-dev/openobject-client-web/Improvement_search_m2o into lp:openobject-client-web.
Requested reviews:
OpenERP SA's Web Client R&D (openerp-dev-web)
--
https://code.launchpad.net/~openerp-dev/openobject-client-web/Improvement_search_m2o/+merge/40094
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-client-web/Improvement_search_m2o.
=== modified file 'addons/openerp/controllers/openm2o.py'
--- addons/openerp/controllers/openm2o.py 2010-09-20 11:27:34 +0000
+++ addons/openerp/controllers/openm2o.py 2010-11-04 13:54:55 +0000
@@ -103,7 +103,13 @@
params.view_type = 'form'
params.editable = params.get('_terp_editable', True)
-
+
+ if not params.id:
+ proxy = rpc.RPCProxy(params.model)
+ id = proxy.create(data, params.context)
+ params.ids = (params.ids or []) + [int(id)]
+ params.id = int(id)
+
return self.create(params)
# vim: ts=4 sts=4 sw=4 si et
=== modified file 'addons/openerp/controllers/search.py'
--- addons/openerp/controllers/search.py 2010-10-29 07:21:29 +0000
+++ addons/openerp/controllers/search.py 2010-11-04 13:54:55 +0000
@@ -81,6 +81,7 @@
params.source = source
params.selectable = kind
params.limit = params.limit or 20
+ params.text = text
ctx = rpc.session.context.copy()
ctx.update(params.context or {})
params.ids = []
@@ -95,9 +96,13 @@
count = proxy.search_count(params.domain, ctx)
params.count = count
if text:
- params.search_text = True
+ params.search_text = True
+ # When id does not exists for m2o
+ if not ids:
+ params.context.update({'default_name' : text})
if kw and kw.get('return_to'):
params['return_to'] = ast.literal_eval(kw['return_to'])
+
return self.create(params)
@expose('json')
=== modified file 'addons/openerp/controllers/templates/search.mako'
--- addons/openerp/controllers/templates/search.mako 2010-10-19 09:02:53 +0000
+++ addons/openerp/controllers/templates/search.mako 2010-11-04 13:54:55 +0000
@@ -162,6 +162,14 @@
<a class="button-a" href="javascript: void(0)" onclick="search_filter()">${_("Search")}</a>
<a class="button-a" href="javascript: void(0)" onclick="do_create()">${_("New")}</a>
<a class="button-a" style="margin-left:10px;" href="javascript: void(0)" onclick="window.close()">${_("Close")}</a>
+ % if params.text and not params.ids:
+ <div class="no-record-warning">
+ ${_("The record")} "${params.text}" ${_("does not exists, Do you want to create it ?")}
+ <a style="color:#9A0404;" href="javascript: void(0)" onclick="do_create()">${_("Yes")}</a> /
+ <a style="color:#9A0404;" href="javascript: void(0)" onclick="window.close()">${_("No")}</a>
+
+ </div>
+ % endif
</td>
</tr>
</table>
=== modified file 'addons/openerp/static/css/style.css'
--- addons/openerp/static/css/style.css 2010-11-03 15:47:12 +0000
+++ addons/openerp/static/css/style.css 2010-11-04 13:54:55 +0000
@@ -26,6 +26,12 @@
margin-top: 6px;
}
+div.no-record-warning {
+ display: inline;
+ color: #9A0404;
+ font-size: 1.3em;
+ font-weight: bold;
+}
div.wizard_toolbar {
float: right;
}
Follow ups