[IMP]: Improve code . remove unused code.
bzr revid: atp@tinyerp.com-20120430073903-52rcd0khdkcyx292
This commit is contained in:
parent
49ca301bd6
commit
8d91d9a580
|
@ -102,7 +102,7 @@
|
|||
<field name="name" nolabel="1"/>
|
||||
</div>
|
||||
<newline/>
|
||||
<group colspan="4" string="vanue">
|
||||
<group colspan="4" name="venue">
|
||||
<div class="oe_sub1"> Venue : </div> <separator orientation="vertical"/>
|
||||
<field name="location_id" nolabel="1"/>
|
||||
</group>
|
||||
|
|
|
@ -35,15 +35,6 @@ class product(osv.osv):
|
|||
|
||||
product()
|
||||
|
||||
class sale_order(osv.osv):
|
||||
_inherit = 'sale.order'
|
||||
_columns = {
|
||||
'partner_id': fields.many2one('res.partner', 'Customer', readonly=False, states={'draft': [('readonly', False)]}, required=False, change_default=True, select=True),
|
||||
'partner_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=False, required=False, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."),
|
||||
'partner_shipping_id': fields.many2one('res.partner', 'Shipping Address', readonly=False, required=False, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."),
|
||||
}
|
||||
|
||||
|
||||
class sale_order_line(osv.osv):
|
||||
_inherit = 'sale.order.line'
|
||||
_columns = {
|
||||
|
@ -108,13 +99,20 @@ class event_event(osv.osv):
|
|||
'event_item_ids': fields.one2many('event.items','event_id', 'Event Items'),
|
||||
}
|
||||
|
||||
def open_qoutation(self, cr, uid, ids, partner_id, context=None):
|
||||
def make_quotation(self, cr, uid, ids, context=None):
|
||||
res = {}
|
||||
event_pool = self.pool.get('event.event')
|
||||
register_pool = self.pool.get('event.registration')
|
||||
sale_order_line_pool = self.pool.get('sale.order.line')
|
||||
sale_order = self.pool.get('sale.order')
|
||||
user = self.pool.get("res.users").browse(cr, uid, uid, context=context)
|
||||
partner_pool = self.pool.get("res.partner")
|
||||
new_partner_id = False
|
||||
partner_ids = partner_pool.search(cr, uid, [('name', '=', user.name), ('email', '=', user.user_email)])
|
||||
if not partner_ids:
|
||||
new_partner_id = partner_pool.create(cr, uid, {'name': user.name, 'email': user.user_email})
|
||||
partner_invoice_id = self.pool.get('res.partner').address_get(cr, uid, [new_partner_id], ['invoice'])['invoice']
|
||||
partner_shipping_id = self.pool.get('res.partner').address_get(cr, uid, [new_partner_id], ['delivery'])['delivery']
|
||||
for event_id in self.browse(cr, uid, ids, context=context):
|
||||
prod_pricelist_obj = self.pool.get('product.pricelist')
|
||||
sale_order_lines = []
|
||||
|
@ -122,6 +120,9 @@ class event_event(osv.osv):
|
|||
new_sale_id = sale_order.create(cr, uid, {
|
||||
'date_order': event_id.date_begin,
|
||||
'pricelist_id': price_list,
|
||||
'partner_id': new_partner_id,
|
||||
'partner_invoice_id': partner_invoice_id,
|
||||
'partner_shipping_id': partner_shipping_id
|
||||
})
|
||||
if event_id.event_item_ids:
|
||||
for items in event_id.event_item_ids:
|
||||
|
@ -145,7 +146,7 @@ class event_event(osv.osv):
|
|||
'nodestroy': True,
|
||||
'target': 'new',
|
||||
}
|
||||
self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
|
||||
# self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
|
||||
return res
|
||||
|
||||
class event_items(osv.osv):
|
||||
|
|
|
@ -36,15 +36,12 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="event.view_event_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group[@string='vanue']" position="after">
|
||||
<xpath expr="//group[@name='venue']" position="after">
|
||||
<field name="event_item_ids" nolabel="1"/><newline/>
|
||||
<div class="oe_right">
|
||||
<button string="Order Now" name="open_qoutation" help="Order Event" type="object" icon="gtk-ok" attrs="{'invisible':[('state','=','confirm')]}"/>
|
||||
<button string="Order Now" name="make_quotation" help="Order Event" type="object" icon="gtk-ok" attrs="{'invisible':[('state','=','confirm')]}"/>
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr="//group[@string='vanue']" position="attributes">
|
||||
<attribute name="string"></attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -53,7 +50,7 @@
|
|||
<field name="model">event.items</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Event Items">
|
||||
<tree editable="top" string="Event Items">
|
||||
<field name="product_id"/>
|
||||
<field name="price"/>
|
||||
<field name="qty"/>
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
import portal_event
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,40 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name' : "Portal Event",
|
||||
'version' : "1.0",
|
||||
'depends' : ["portal", "event_sale"],
|
||||
'author' : "OpenERP SA",
|
||||
'category': 'Portal',
|
||||
'description': """
|
||||
This module defines 'portals' to customize the access to your OpenERP database
|
||||
for external users.
|
||||
""",
|
||||
'update_xml': [
|
||||
'security/portal_event_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
'website': 'http://www.openerp.com',
|
||||
'installable': True,
|
||||
}
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,69 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
||||
class event_event(osv.osv):
|
||||
_inherit = 'event.event'
|
||||
|
||||
def make_quotation(self, cr, uid, ids, partner_id, context=None):
|
||||
event_pool = self.pool.get('event.event')
|
||||
register_pool = self.pool.get('event.registration')
|
||||
sale_order_line_pool = self.pool.get('sale.order.line')
|
||||
sale_order = self.pool.get('sale.order')
|
||||
res_partner_obj = self.pool.get('res.partner')
|
||||
prod_pricelist_obj = self.pool.get('product.pricelist')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
customer = res_partner_obj.browse(cr, uid, partner_id, context=context)
|
||||
|
||||
partner_id = res_users_obj.browse(cr, uid, uid, context=context).partner_id.id
|
||||
if not partner_id:
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('There is no Partner defined ' \
|
||||
'for this event:'))
|
||||
|
||||
user_name = res_users_obj.browse(cr, uid, uid, context=context).name
|
||||
price_list = prod_pricelist_obj.search(cr,uid,[],context=context)[0]
|
||||
for event_id in self.browse(cr, uid, ids, context=context):
|
||||
sale_order_lines = []
|
||||
price_list = prod_pricelist_obj.search(cr,uid,[],context=context)[0]
|
||||
new_sale_id = sale_order.create(cr, uid, {
|
||||
'partner_id': partner_id,
|
||||
'pricelist_id': price_list,
|
||||
'partner_invoice_id': partner_id,
|
||||
'partner_shipping_id': partner_id,
|
||||
'date_order': event_id.date_begin
|
||||
})
|
||||
if event_id.event_item_ids:
|
||||
for items in event_id.event_item_ids:
|
||||
product = items.product_id.id
|
||||
sale_order_line = sale_order_line_pool.create(cr, uid, {
|
||||
'order_id': new_sale_id,
|
||||
'name': items.product_id.name,
|
||||
'product_uom_qty': items.qty,
|
||||
'product_id': items.product_id.id,
|
||||
'product_uom': items.uom_id.id,
|
||||
'price_unit': items.price,
|
||||
'date_planned': items.sales_end_date,
|
||||
}, context=context)
|
||||
return True
|
|
@ -0,0 +1,4 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_event,event,event.model_event_event,portal_event.group_event_portal,1,0,0,0
|
||||
access_registration,registration,event.model_event_registration,portal_event.group_event_portal,1,0,0,0
|
||||
access_event_items,event.items,event.model_event_event,portal_event.group_event_portal,1,1,1,0
|
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Creating Portal Group -->
|
||||
|
||||
<record id="group_event_portal" model="res.groups">
|
||||
<field name="name">Portal User</field>
|
||||
<field ref="event.module_category_event_management" name="category_id"/>
|
||||
</record>
|
||||
|
||||
<record id="portal_event" model="res.portal">
|
||||
<field name="name">Events Portal</field>
|
||||
<field name="group_id" ref="group_event_portal"/>
|
||||
</record>
|
||||
|
||||
<!-- Sale Portal Access Rules -->
|
||||
<record id="portal_event_rule" model="ir.rule">
|
||||
<field name="name">Personal Events</field>
|
||||
<field ref="event.model_event_event" name="model_id"/>
|
||||
<field name="domain_force">[]</field>
|
||||
<field name="groups" eval="[(4, ref('group_event_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="portal_registration_rule" model="ir.rule">
|
||||
<field name="name">Personal Registrations</field>
|
||||
<field ref="event.model_event_registration" name="model_id"/>
|
||||
<field name="domain_force">[('partner_id.email','=',user.login)]</field>
|
||||
<field name="groups" eval="[(4, ref('group_event_portal'))]"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
Loading…
Reference in New Issue