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 = {
def button_confirm(self, cr, uid, ids, context=None):
'''
create registration with sale order
-
'''
registration_obj = self.pool.get('event.registration')
sale_obj = self.pool.get('sale.order')
'event_item_ids': fields.one2many('event.items','event_id', 'Event Items'),
}
- def make_order(self, cr, uid, ids, partner_id, context=None):
+ def open_qoutation(self, cr, uid, ids, partner_id, 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')
- sale_order_line_obj = self.pool.get('sale.order.line')
- 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:
- user_name = res_users_obj.browse(cr, uid, uid, context=context).name
- partner_id = res_partner_obj.create(cr, uid, {'name': user_name})
-
- price_list = prod_pricelist_obj.search(cr,uid,[],context=context)[0]
-
- for order_lines in self.browse(cr, uid, ids, context=context):
- if order_lines.event_item_ids:
- product = order_lines.id
- 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': order_lines.date_begin
- })
-
- for line in order_lines.event_item_ids:
-
- sale_order_line_obj.create(cr, uid, {
- 'order_id': sale_id,
- 'name': order_lines.name,
- 'product_uom_qty': line.qty,
- 'product_id': product,
- 'product_uom': line.uom_id.id,
- 'price_unit': line.price,
- 'date_planned': line.sales_end_date,
+ user = self.pool.get("res.users").browse(cr, uid, uid, context=context)
+ 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,
+ })
+ 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)
- self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
- return True
-
+ 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)
+ return res
class event_items(osv.osv):
_name = "event.items"