diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py index 85eb78f32f1..88943b06654 100644 --- a/addons/event/__openerp__.py +++ b/addons/event/__openerp__.py @@ -55,6 +55,7 @@ Note that: 'test': ['test/process/event_draft2done.yml'], 'css': ['static/src/css/*.css'], 'js': ['static/src/js/event.js'], + 'qweb': ['static/src/xml/event_address.xml'], 'installable': True, 'application': True, 'auto_install': False, diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index 87e29a641f2..b4df8cb48ed 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -78,65 +78,27 @@ - + Events event.event form - - - - - - - - - - - - - - - - - - - Venue : - - - - - - - - - Where - - - - - - - - Start: - - - End - - - - - - - - + + + + + + + + + - + @@ -169,7 +131,13 @@ - + + + + + + + @@ -177,7 +145,7 @@ - + @@ -194,6 +162,67 @@ + + + + + + + + + Events + event.event + form + + + + + + + + + + + + + + + + + + + + Venue : + + + + + + + + + Where + + + + + + + + Start: + + + End + + + + + + + + + + diff --git a/addons/event/static/src/css/event.css b/addons/event/static/src/css/event.css index c9f9084a583..f3f40834072 100644 --- a/addons/event/static/src/css/event.css +++ b/addons/event/static/src/css/event.css @@ -144,4 +144,15 @@ div.oe_fold_column{ .oe_td_date_border { border-right:1px solid black; +} +.oe_pager_group11 { + float: left; + height: 24px; + line-height: 24px; + display: inline-block; + border: 1px solid #ababab; + cursor: pointer; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; } \ No newline at end of file diff --git a/addons/event/static/src/js/event.js b/addons/event/static/src/js/event.js index 6081533397a..bd59bc78818 100644 --- a/addons/event/static/src/js/event.js +++ b/addons/event/static/src/js/event.js @@ -14,8 +14,11 @@ openerp.event = function(instance){ set_value:function(value){ var self = this; this.get_address(value).done(function(value){ + console.log("value",value,self); + self.__parentedParent.$element.find(".oe_td_border").after(instance.web.qweb.render("address",{'record': value})); var address = _.str.sprintf(' %(street)s, %(city)s, %(country_id[1])s', value); return self.list_addresses(address); + }); }, @@ -49,4 +52,7 @@ openerp.event = function(instance){ } })); + + + }; \ No newline at end of file diff --git a/addons/event/static/src/xml/event_address.xml b/addons/event/static/src/xml/event_address.xml new file mode 100644 index 00000000000..370da230e6b --- /dev/null +++ b/addons/event/static/src/xml/event_address.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py index 81b69babebf..fa3a9c14f46 100644 --- a/addons/event_sale/event_sale.py +++ b/addons/event_sale/event_sale.py @@ -99,75 +99,93 @@ class event_event(osv.osv): _columns = { 'event_item_ids': fields.one2many('event.items','event_id', 'Event Items'), } -# def subscribe_to_event(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') -# partner_pool = self.pool.get("res.partner") -# data_obj = self.pool.get("ir.model.data") -# 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 = 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): -# 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, -# '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 + def order_now(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') + partner_pool = self.pool.get("res.partner") + data_obj = self.pool.get("ir.model.data") + 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 = 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): + 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, + '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 + def subscribe_to_event(self, cr, uid, ids, context=None): + res = {} + data_obj = self.pool.get("ir.model.data") + view_id = data_obj._get_id(cr, uid, 'event', 'view_event_page') + if view_id: + res_id = data_obj.browse(cr, uid, view_id, context=context).res_id + res = { + 'name': _('Event Page'), + 'view_type': 'form', + 'view_mode': 'form', + 'views':[(res_id,'form'), (False, 'tree')], + 'res_model': 'event.event', + 'res_id': ids[0], + 'type': 'ir.actions.act_window', + 'nodestroy': True, + 'target': 'current', + } + return res class event_items(osv.osv): _name = "event.items" _columns = { 'product_id': fields.many2one('product.product', 'Product', required=True), 'price': fields.integer('Price'), - 'qty': fields.integer('QTY'), - # 'qty': fields.selection(_max_register, 'QTY'), + 'max_qty': fields.integer('Max Qty'), + 'qty': fields.integer('QTY', type = 'integer'), 'uom_id': fields.many2one('product.uom', 'UoM'), 'discount': fields.integer('Discount'), 'event_id': fields.many2one('event.event', 'Event'), 'sales_end_date': fields.date('Sales End') } - + def onchange_product_id(self, cr, uid, ids, product, context=None): product_obj = self.pool.get('product.product') data = {} diff --git a/addons/event_sale/event_sale_view.xml b/addons/event_sale/event_sale_view.xml index 72782d5c421..0110bc1df2c 100644 --- a/addons/event_sale/event_sale_view.xml +++ b/addons/event_sale/event_sale_view.xml @@ -30,49 +30,68 @@ + + Events Inherit + event.event + form + + + + + + + + + + + + + + + + + + + + + Events Inherit event.event form - - - - + + + + + + + + + + + + + + + + - - Event Items Tree - event.items - tree - - - - - - - - - - - + + event.inherit.kanban + event.event + kanban + + + + + + + - - Event Items Form - event.items - form - - - - - - - - - -