← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev-web/openobject-client-web/o2m_improved into lp:~openerp-dev/openobject-client-web/trunk-dev-web

 

vda(Open ERP) has proposed merging lp:~openerp-dev-web/openobject-client-web/o2m_improved into lp:~openerp-dev/openobject-client-web/trunk-dev-web.

Requested reviews:
  OpenERP SA's Web Client R&D (openerp-dev-web)


Improve o2m for unsaved parent when creating new child.
-- 
https://code.launchpad.net/~openerp-dev-web/openobject-client-web/o2m_improved/+merge/24213
Your team OpenERP SA's Web Client R&D is subscribed to branch lp:~openerp-dev/openobject-client-web/trunk-dev-web.
=== modified file 'addons/openerp/widgets/form/_o2m.py'
--- addons/openerp/widgets/form/_o2m.py	2010-04-14 10:11:55 +0000
+++ addons/openerp/widgets/form/_o2m.py	2010-04-27 10:50:32 +0000
@@ -48,7 +48,7 @@
     """One2Many widget
     """
     template = "templates/one2many.mako"
-    params = ['id', 'parent_id', 'new_attrs', 'pager_info', 'switch_to', 'default_get_ctx']
+    params = ['id', 'parent_id', 'new_attrs', 'pager_info', 'switch_to', 'default_get_ctx', 'source']
     member_widgets = ['screen']
 
     form = None
@@ -66,7 +66,7 @@
 
         # get top params dictionary
         params = cherrypy.request.terp_params
-
+        self.source = params.source
         pprefix = ''
         if '/' in self.name:
             pprefix = self.name[:self.name.rindex('/')]

=== modified file 'addons/openerp/widgets/form/templates/one2many.mako'
--- addons/openerp/widgets/form/templates/one2many.mako	2010-03-26 10:20:08 +0000
+++ addons/openerp/widgets/form/templates/one2many.mako	2010-04-27 10:50:32 +0000
@@ -1,3 +1,6 @@
+<%!
+	import cherrypy
+%>
 <table border="0" id="_o2m_${name}" width="100%" class="one2many">
     <tr>
         <td class="toolbar">
@@ -7,12 +10,14 @@
                     <td>
                         % if screen.editable and not readonly:
                         <button type="button" id="${name}_btn_" title="${new_attrs['help']}" onclick="new One2Many('${name}', ${(screen.view_type == 'tree' or 0) and len(screen.widget.editors)}).create()" style="padding: 2px">
-                            % if parent_id:
                             <img src="/openerp/static/images/stock/gtk-new.png" width="16" height="16"/>
-                            % endif
-                            % if not parent_id:
-                            <img src="/openerp/static/images/stock/gtk-save.png" width="16" height="16"/>
-                            % endif
+                            % if name == source:
+                            	<script type="text/javascript">
+                            		jQuery('#${name}_btn_').find('img').load(function() {
+                            			jQuery(this).click();
+                            		});
+                            	</script>
+                           	% endif
                         </button>
                         % endif
                         % if pager_info:


Follow ups