[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:
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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:
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user