[IMP]: Improve code . remove unused code.

bzr revid: atp@tinyerp.com-20120430073903-52rcd0khdkcyx292
This commit is contained in:
Atul Patel (OpenERP) 2012-04-30 13:09:03 +05:30
parent 49ca301bd6
commit 8d91d9a580
8 changed files with 184 additions and 18 deletions

View File

@ -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>

View File

@ -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):

View File

@ -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"/>

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_event event event.model_event_event portal_event.group_event_portal 1 0 0 0
3 access_registration registration event.model_event_registration portal_event.group_event_portal 1 0 0 0
4 access_event_items event.items event.model_event_event portal_event.group_event_portal 1 1 1 0

View File

@ -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>