diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py index ea0e4316ef5..6de6d2c62c1 100644 --- a/addons/event/__openerp__.py +++ b/addons/event/__openerp__.py @@ -53,7 +53,7 @@ Note that: ], 'demo_xml': ['event_demo.xml'], 'test': ['test/process/event_draft2done.yml'], - 'css': ['static/src/css/event.css'], + 'css': ['static/src/css/*.css'], 'installable': True, 'application': True, 'auto_install': False, diff --git a/addons/event/event.py b/addons/event/event.py index a633dc41961..7eacad489ff 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -220,6 +220,8 @@ class event_event(osv.osv): 'note': fields.text('Description', readonly=False, states={'done': [('readonly', True)]}), 'company_id': fields.many2one('res.company', 'Company', required=False, change_default=True, readonly=False, states={'done': [('readonly', True)]}), 'is_subscribed' : fields.function(_subscribe_fnc, type="boolean", string='Subscribed'), + 'location_id': fields.many2one('res.company','Location Address', readonly=False, states={'done': [('readonly', True)]}), + } _defaults = { @@ -408,6 +410,5 @@ class event_registration(osv.osv): return {'value': data} event_registration() - - + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index a9dbca304f4..efa5eb68384 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -45,6 +45,39 @@ + + + + Event Items Tree + event.items + tree + + + + + + + + + + + + + Event Items Form + event.items + form + + + + + + + + + + + + @@ -52,20 +85,75 @@ event.event form - - - - - - - - - + + + + + + + + + + + + + + + + + + + Venue : + + + + + + + + + + Where + + + + + + + + Start + + + End + + + + + + + + + + - + @@ -98,13 +186,7 @@ - - - - - - - + @@ -112,7 +194,7 @@ - + @@ -129,6 +211,7 @@ + diff --git a/addons/event/static/src/css/event.css b/addons/event/static/src/css/event.css index 0d0282826b7..f8fe5c04c86 100644 --- a/addons/event/static/src/css/event.css +++ b/addons/event/static/src/css/event.css @@ -64,6 +64,7 @@ div.oe_fold_column{ -webkit-font-smoothing: antialiased; outline: none; } + .oe_event_button_unsubscribe { display: inline-block; border: 1px solid #AAA; @@ -116,7 +117,36 @@ div.oe_fold_column{ background-color: #DC5F59; } .no_of_seats{ - width:25px; - + width:25px; } - +.oe_event_title{ + font-size: 25px; +} +.sub1 +{ + float:left; +} +.sub2 +{ + padding-left:50px; + text-align:left; +} +.mapbox +{ + width:380px; + height:200px; + border:1px; + margin-left:auto; + margin-right:auto; + border:solid #677933; +} +.oe_td_border +{ + width: 5em; + padding: 2px; + border-right: 1px solid black; +} +.oe_td_date_border +{ + border-right:1px solid black; +} \ No newline at end of file diff --git a/addons/event_sale/__openerp__.py b/addons/event_sale/__openerp__.py index d8f689986e2..be60ed3fdf6 100644 --- a/addons/event_sale/__openerp__.py +++ b/addons/event_sale/__openerp__.py @@ -34,12 +34,15 @@ This module allows you to automatize and connect your registration creation with It defines a new kind of service products that offers you the possibility to choose an event category associated with it. When you encode a sale order for that product, you will be able to choose an existing event of that category and when you confirm your sale order it will automatically create a registration for this event. """, 'author': 'OpenERP SA', - 'depends': ['event','sale','sale_crm'], + 'depends': ['event','sale','sale_crm','portal'], 'update_xml': [ 'event_sale_view.xml', ], 'demo_xml': ['event_demo.xml'], + 'js': ['static/src/js/*.js'], + 'html': ['static/*.html'], 'test':['test/confirm.yml'], + 'css': ['static/src/css/*.css'], 'installable': True, 'active': False, } diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py index 0208714b083..93be776d336 100644 --- a/addons/event_sale/event_sale.py +++ b/addons/event_sale/event_sale.py @@ -19,6 +19,7 @@ # ############################################################################## +import time from osv import fields, osv from tools.translate import _ @@ -92,13 +93,53 @@ class sale_order_line(osv.osv): message = _("The registration %s has been created from the Sale Order %s.") % (registration_id, order_line.order_id.name) registration_obj.log(cr, uid, registration_id, message) return super(sale_order_line, self).button_confirm(cr, uid, ids, context=context) - + class event_event(osv.osv): _inherit = 'event.event' _columns = { - 'event_item_ids': fields.one2many('event.items','event_id', 'Event Items'), - } - + 'event_item_ids': fields.one2many('event.items','event_id', 'Event Items'), + } + + def make_order(self, cr, uid, ids, partner_id, context=None): + 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, + }, context=context) + self.write(cr, uid, ids, {'state': 'confirm'}, context=context) + return True + + class event_items(osv.osv): _name = "event.items" _columns = { @@ -110,7 +151,7 @@ class event_items(osv.osv): '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 1eb15e944a9..ff0ead161d5 100644 --- a/addons/event_sale/event_sale_view.xml +++ b/addons/event_sale/event_sale_view.xml @@ -30,49 +30,57 @@ - - Events Inherit - event.event - form - - - - - - - - - + + Events Inherit + event.event + form + + + + + + + + + + + + + + + + Event Items Tree + event.items + tree + + + + + + + + + + + + + + + Event Items Form + event.items + form + + + + + + + + + + + - - Event Items Tree - event.items - tree - - - - - - - - - - - - - Event Items Form - event.items - form - - - - - - - - - -