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