[ADD] event: Conver wizard to osv memory wizard (Registrations,List partner registrations)

bzr revid: psi@tinyerp.co.in-20100318060001-4im0kbuif1d1oif0
This commit is contained in:
psi (Open ERP)
2010-03-18 11:30:01 +05:30
parent 3225c70a44
commit cef1f09dd3
7 changed files with 130 additions and 81 deletions
+5 -3
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,7 +15,7 @@
# 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/>.
#
##############################################################################
@@ -45,7 +45,9 @@
'event_view.xml',
'event_sequence.xml',
'security/event_security.xml',
'security/ir.model.access.csv'
'security/ir.model.access.csv',
'wizard/event_registration_view.xml',
'wizard/event_registrations_partner.xml',
],
'demo_xml': ['event_demo.xml'],
'installable': True,
+5 -5
View File
@@ -2,17 +2,17 @@
<openerp>
<data>
<wizard
<!-- <wizard
string="Registrations"
model="event.event"
name="wizard_event_registration"
id="wizard_event_registration"/>
id="wizard_event_registration"/> -->
<wizard
<!-- <wizard
string="List Register Partners"
model="event.event"
name="event.event_reg_partners"
id="wizard_event_reg_partners"/>
id="wizard_event_reg_partners"/> -->
<wizard string="Make Invoice"
model="event.registration"
@@ -21,7 +21,7 @@
menu="True"
/>
<wizard string="Confirm Registration"
<wizard string="Confirm Registration"
model="event.registration"
name="event.confirm_registration"
id="event_confirm_registration"
+4 -5
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,13 +15,12 @@
# 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 event_registration
import make_invoice
import event_registrations_partner
import confirm_registration
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+20 -31
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,40 +15,29 @@
# 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
from osv import fields, osv
def _event_registration(self, cr, uid, data, context):
event_id = data['id']
cr.execute('SELECT section_id FROM event_event WHERE id = %s', (event_id, ))
res = cr.fetchone()
value = {
'domain': [('section_id', '=', res[0])],
'name': 'Event registration',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'event.registration',
'context': { },
'type': 'ir.actions.act_window'
}
return value
class event_registration_list(osv.osv_memory):
""" List Event Registration """
_name = "event.registration.list"
_description = "List Event Registrations"
class wizard_event_registration(wizard.interface):
states = {
'init': {
'actions': [],
'result': {
'type': 'action',
'action': _event_registration,
'state': 'end'
}
},
}
wizard_event_registration("wizard_event_registration")
def open_registration(self, cr, uid, ids, context={}):
cr.execute('SELECT section_id FROM event_event WHERE id = %s', (context['active_id'],))
res = cr.fetchone()
return {
'domain': [('section_id', '=', res[0])],
'name': 'Event Registrations',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'event.registration',
'type': 'ir.actions.act_window'
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
event_registration_list()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_event_registration" model="ir.ui.view">
<field name="name">List Event Registrations</field>
<field name="model">event.registration.list</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="">
<button name="open_registration" string="Open Registrations" type="object"/>
</form>
</field>
</record>
<record id="action_event_registration" model="ir.actions.act_window">
<field name="name">Registrations</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">event.registration.list</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_event_registration"/>
<field name="context">{'record_id' : active_id}</field>
<field name="target">new</field>
</record>
<record model="ir.values" id="event_registration_values">
<field name="model_id" ref="event.model_event_event" />
<field name="object" eval="1" />
<field name="name">Event Registrations</field>
<field name="key2">client_action_multi</field>
<field name="value" eval="'ir.actions.act_window,' + str(ref('action_event_registration'))" />
<field name="key">action</field>
<field name="model">event.event</field>
</record>
</data>
</openerp>
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,57 +15,40 @@
# 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
from osv import fields, osv
def _list_partners(self, cr, uid, data, context):
class event_partners_list(osv.osv_memory):
""" Event Partners """
_name = "event.partners.list"
_description = "List Event Partners"
def list_partners(self, cr, uid, ids, context={}):
obj_reg = self.pool.get('event.registration')
mod_obj = self.pool.get('ir.model.data')
list_partner = []
pool_obj=pooler.get_pool(cr.dbname)
obj_reg=pool_obj.get('event.registration')
reg_ids = obj_reg.search(cr, uid, [('event_id','in',data['ids'])])
data_reg = obj_reg.browse(cr, uid, reg_ids)
reg_ids = obj_reg.search(cr, uid, [('event_id','in',context['active_ids'])], context=context)
data_reg = obj_reg.browse(cr, uid, reg_ids, context=context)
for reg in data_reg:
if not reg.partner_id.id in list_partner:
list_partner.append(reg.partner_id.id)
data['partner_ids'] = list_partner
return {}
class event_partners(wizard.interface):
def _reg_partners(self, cr, uid, data, context):
pool_obj = pooler.get_pool(cr.dbname)
mod_obj = pool_obj.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
id = mod_obj.read(cr, uid, result, ['res_id'])
model_data_ids = pool_obj.get('ir.model.data').search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_partner_form')])
resource_id = pool_obj.get('ir.model.data').read(cr,uid,model_data_ids,fields=['res_id'])[0]['res_id']
id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
model_data_ids = mod_obj.search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_partner_form')], context=context)
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
return {
'domain': "[('id','in', ["+','.join(map(str,data['partner_ids']))+"])]",
'name': 'Partners',
'domain': "[('id','in', ["+','.join(map(str, list_partner))+"])]",
'name': 'Event Partners',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'res.partner',
'views': [(False,'tree'),(resource_id,'form')],
'type': 'ir.actions.act_window',
'search_view_id': id['res_id']
'search_view_id': id['res_id']
}
return {}
states = {
'init' : {
'actions' : [_list_partners],
'result': {'type': 'action' , 'action':_reg_partners, 'state':'end'}
},
}
event_partners("event.event_reg_partners")
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
event_partners_list()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_event_partners" model="ir.ui.view">
<field name="name">Event Partners</field>
<field name="model">event.partners.list</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Event Partners">
<button name="list_partners" string="Open Partners" type="object"/>
</form>
</field>
</record>
<record id="action_event_partners" model="ir.actions.act_window">
<field name="name">List Register Partners</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">event.partners.list</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_event_partners"/>
<field name="context">{'record_id' : active_id}</field>
<field name="target">new</field>
</record>
<record model="ir.values" id="event_partner_values">
<field name="model_id" ref="event.model_event_event" />
<field name="object" eval="1" />
<field name="name">Event Partners</field>
<field name="key2">client_action_multi</field>
<field name="value" eval="'ir.actions.act_window,' + str(ref('action_event_partners'))"/>
<field name="key">action</field>
<field name="model">event.event</field>
</record>
</data>
</openerp>