[FIX]: Fix some code error. add security rules for event module

bzr revid: atp@tinyerp.com-20120430094454-hcz6w2xvllg7g2b7
This commit is contained in:
Atul Patel (OpenERP)
2012-04-30 15:14:54 +05:30
parent 8d91d9a580
commit 4443f39f38
4 changed files with 61 additions and 70 deletions
+46 -35
View File
@@ -105,48 +105,59 @@ class event_event(osv.osv):
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
prod_pricelist_obj = self.pool.get('product.pricelist')
user = self.pool.get("res.users").browse(cr, uid, uid, context=context)
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']
partner_invoice_id = partner_pool.address_get(cr, uid, [new_partner_id], ['invoice'])['invoice']
partner_shipping_id = partner_pool.address_get(cr, uid, [new_partner_id], ['delivery'])['delivery']
else:
new_partner_id = partner_ids[0]
partner_invoice_id = partner_pool.address_get(cr, uid, [new_partner_id], ['invoice'])['invoice']
partner_shipping_id = partner_pool.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 = []
price_list = prod_pricelist_obj.search(cr,uid,[],context=context)[0]
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:
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)
res = {
'name': _('Quotation'),
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale.order',
'res_id': new_sale_id,
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'new',
}
# self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
sale_ids = sale_order.search(cr, uid, [('date_order', '=', event_id.date_begin), ('partner_id', '=', new_partner_id)])
if not sale_ids:
# raise osv.except_osv(_('Error !'),
# _('sale order is already Exists for this event:'))
# else:
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:
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)
view_id = data_obj._get_id(cr, uid, 'sale', 'view_order_form')
if view_id:
res_id = data_obj.browse(cr, uid, view_id, context=context).res_id
res = {
'name': _('Quotation'),
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale.order',
'res_id': new_sale_id,
'views':[(res_id,'form'), (False, 'tree')],
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'current',
}
return res
class event_items(osv.osv):
+10 -32
View File
@@ -26,44 +26,22 @@ from tools.translate import _
class event_event(osv.osv):
_inherit = 'event.event'
def make_quotation(self, cr, uid, ids, partner_id, context=None):
def make_quotation(self, cr, uid, ids, 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')
partner_pool = 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:
user = res_users_obj.browse(cr, uid, uid, context=context)
partner_ids = partner_pool.search(cr, uid, [('name', '=', user.name), ('email', '=', user.user_email)])
if partner_ids:
res_users_obj.write(cr, uid, user.id, {'partner_id': partner_ids[0]})
if not partner_ids:
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
res = super(event_event,self).make_quotation(cr, uid, ids, context)
return res
@@ -1,4 +1,6 @@
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
access_event_items,event.items,event.model_event_event,portal_event.group_event_portal,1,1,1,0
access_product_product,product.product,product.model_product_product,portal_event.group_event_portal,1,0,0,0
access_product_uom,product.uom,product.model_product_uom,portal_event.group_event_portal,1,0,0,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
5 access_product_product product.product product.model_product_product portal_event.group_event_portal 1 0 0 0
6 access_product_uom product.uom product.model_product_uom portal_event.group_event_portal 1 0 0 0
@@ -5,12 +5,12 @@
<!-- Creating Portal Group -->
<record id="group_event_portal" model="res.groups">
<field name="name">Portal User</field>
<field name="name">Event Portal Groups</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="name">Portal User</field>
<field name="group_id" ref="group_event_portal"/>
</record>