[FIX]: Fix some code error. add security rules for event module
bzr revid: atp@tinyerp.com-20120430094454-hcz6w2xvllg7g2b7
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user