Ujjvala Collins (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-server/trunk-wizard_osv_memory_convert-uco into 
lp:openobject-server.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-wizard_osv_memory_convert-uco/+merge/73206

[REF] base:
------------------
* Converted simple wizard to osv_memory wizard.
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-wizard_osv_memory_convert-uco/+merge/73206
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/trunk-wizard_osv_memory_convert-uco.
=== modified file 'openerp/addons/base/__openerp__.py'
--- openerp/addons/base/__openerp__.py	2011-08-28 00:13:14 +0000
+++ openerp/addons/base/__openerp__.py	2011-08-29 06:50:39 +0000
@@ -42,6 +42,7 @@
     'update_xml': [
         'base_update.xml',
         'ir/wizard/wizard_menu_view.xml',
+        'ir/wizard/wizard_create_action_view.xml',
         'ir/ir.xml',
         'ir/workflow/workflow_view.xml',
         'ir/report/ir_report.xml',

=== modified file 'openerp/addons/base/ir/wizard/__init__.py'
--- openerp/addons/base/ir/wizard/__init__.py	2010-10-04 14:38:26 +0000
+++ openerp/addons/base/ir/wizard/__init__.py	2011-08-29 06:50:39 +0000
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 ##############################################################################
-#    
+#
 #    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
 #
@@ -15,11 +15,11 @@
 #    GNU Affero General Public License for more details.
 #
 #    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.     
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 import wizard_menu
 import wizard_screen
-import create_action
+import wizard_create_action
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 

=== renamed file 'openerp/addons/base/ir/wizard/create_action.py' => 'openerp/addons/base/ir/wizard/wizard_create_action.py'
--- openerp/addons/base/ir/wizard/create_action.py	2009-10-20 10:52:23 +0000
+++ openerp/addons/base/ir/wizard/wizard_create_action.py	2011-08-29 06:50:39 +0000
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
  ##############################################################################
-#    
+#
 #    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
 #
@@ -15,63 +15,49 @@
 #    GNU Affero General Public License for more details.
 #
 #    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.     
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 
-import wizard
-import pooler
-import time
-
-action_type =  '''<?xml version="1.0"?>
-<form string="Select Action Type">
-    <field name="type"/>
-</form>'''
-
-action_type_fields = {
-    'type': {'string':"Select Action Type",'type':'selection','required':True ,'selection':[('ir.actions.report.xml','Open Report')]},
-}
-
-report_action =  '''<?xml version="1.0"?>
-<form string="Select Report">
-    <field name="report" colspan="4"/>
-</form>'''
-
-report_action_fields = {
-    'report': {'string':"Select Report",'type':'many2one','relation':'ir.actions.report.xml', 'required':True},
-}
-
-class create_action(wizard.interface):
-    
-    def _create_report_action(self, cr, uid, data, context={}):
-        pool = pooler.get_pool(cr.dbname)
-         
-        reports = pool.get('ir.actions.report.xml')
-        form = data['form']
-        
-        rpt = reports.browse(cr, uid, form['report'])
-        
-        action = """action = {"type": "ir.actions.report.xml","model":"%s","report_name": "%s","ids": context["active_ids"]}""" % (rpt.model, rpt.report_name)
-        
-        obj = pool.get('ir.actions.server')
-        obj.write(cr, uid, data['ids'], {'code':action})
-        
-        return {}
-    
-    states = {
-        'init': {
-            'actions': [],
-            'result': {'type':'form', 'arch':action_type,'fields':action_type_fields, 'state':[('step_1','Next'),('end','Close')]}
-        },
-        'step_1': {
-            'actions': [],
-            'result': {'type':'form', 'arch':report_action,'fields':report_action_fields, 'state':[('create','Create'),('end','Close')]}
-        },
-        'create': {
-            'actions': [_create_report_action],
-            'result': {'type':'state', 'state':'end'}
-        },
+from osv import osv, fields
+
+class create_action(osv.osv_memory):
+    _name = 'server.action.create'
+    _description = 'Create Server Action'
+
+    _columns = {
+        'type': fields.selection([('ir.actions.report.xml','Open Report')], 'Select Action Type'),
+        'report_id': fields.many2one('ir.actions.report.xml', 'Select Report')
     }
-create_action('server.action.create')
-
-
+
+    def open_next(self, cr, uid, ids, context=None):
+        obj_model = self.pool.get('ir.model.data')
+        model_data_ids = obj_model.search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_create_server_action')])
+        resource_id = obj_model.read(cr, uid, model_data_ids, fields=['res_id'])[0]['res_id']
+        return {
+            'view_type': 'form',
+            'view_mode': 'form',
+            'res_model': 'server.action.create',
+            'views': [(resource_id, 'form')],
+            'type': 'ir.actions.act_window',
+            'target': 'new',
+            'context': context,
+        }
+
+    def create_report_action(self, cr, uid, ids, context=None):
+        report_obj = self.pool.get('ir.actions.report.xml')
+        server_obj = self.pool.get('ir.actions.server')
+        server_id = context and context.get('active_id') or False
+        form = self.browse(cr, uid, ids[0], context=context)
+
+        report = report_obj.browse(cr, uid, [form.report_id.id], context=context)
+
+        for rpt in report:
+            action = """action = {"type": "ir.actions.report.xml","model":"%s","report_name": "%s","ids": context["active_ids"]}""" % (rpt.model, rpt.report_name)
+            server_obj.write(cr, uid, [server_id], {'code': action})
+
+        return {'type': 'ir.actions.act_window_close'}
+
+create_action()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== added file 'openerp/addons/base/ir/wizard/wizard_create_action_view.xml'
--- openerp/addons/base/ir/wizard/wizard_create_action_view.xml	1970-01-01 00:00:00 +0000
+++ openerp/addons/base/ir/wizard/wizard_create_action_view.xml	2011-08-29 06:50:39 +0000
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <record id="view_create_server_action_select_type" model="ir.ui.view">
+            <field name="name">Create Action (Select Type)</field>
+            <field name="model">server.action.create</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Select Type">
+                    <separator colspan="4" string="Select Action Type"/>
+                    <field name="type" required="1"/>
+                    <separator colspan="4" string=""/>
+                    <label colspan="2" string=""/>
+                    <group col="2" colspan="2">
+                        <button special="cancel" string="Close" icon="gtk-cancel"/>
+                        <button name="open_next" string="Next" type="object" icon="gtk-ok"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- act_window
+            context="{}"
+            id="act_create_server_action"
+            name="Create Action"
+            res_model="server.action.create"
+            src_model="ir.actions.server"
+            view_id="view_create_server_action_select_type"
+            target="new"
+            view_mode="form"/-->
+
+        <record id="view_create_server_action" model="ir.ui.view">
+            <field name="name">Create Action</field>
+            <field name="model">server.action.create</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Create Action">
+                    <separator colspan="4" string="Create Action"/>
+                    <field name="report_id" required="1"/>
+                    <separator colspan="4" string=""/>
+                    <label colspan="2" string=""/>
+                    <group col="2" colspan="2">
+                        <button special="cancel" string="Close" icon="gtk-cancel"/>
+                        <button name="create_report_action" string="Create" type="object" icon="gtk-ok"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+    </data>
+</openerp>

=== modified file 'openerp/addons/base/ir/wizard/wizard_menu_view.xml'
--- openerp/addons/base/ir/wizard/wizard_menu_view.xml	2010-08-23 13:21:28 +0000
+++ openerp/addons/base/ir/wizard/wizard_menu_view.xml	2011-08-29 06:50:39 +0000
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <openerp>
     <data>
-        
+
         <record id="view_model_menu_create" model="ir.ui.view">
             <field name="name">Create Menu</field>
             <field name="model">wizard.ir.model.menu.create</field>
@@ -21,12 +21,6 @@
             </field>
         </record>
         <act_window context="{'model_id': active_id}" id="act_menu_create" name="Create Menu" res_model="wizard.ir.model.menu.create" target="new" view_mode="form"/>
-        <wizard 
-            id="wizard_server_action_create" 
-            model="ir.actions.server" 
-            name="server.action.create" 
-            string="Create Action"
-            menu="False"
-        />
+
     </data>
 </openerp>

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to