Nimesh Contractor(Open ERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp-event_page_with_google_map-nco
into lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp.
Requested reviews:
Atul Patel(OpenERP) (atp-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-event_improvements-atp-event_page_with_google_map-nco/+merge/104726
Hello sir,
I have added the event page view.
Thanks,
NCO.
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-event_improvements-atp-event_page_with_google_map-nco/+merge/104726
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp.
=== modified file 'event/__openerp__.py'
--- event/__openerp__.py 2012-05-02 07:15:35 +0000
+++ event/__openerp__.py 2012-05-04 12:36:18 +0000
@@ -55,6 +55,7 @@
'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,
=== modified file 'event/event_view.xml'
--- event/event_view.xml 2012-05-02 07:15:35 +0000
+++ event/event_view.xml 2012-05-04 12:36:18 +0000
@@ -78,65 +78,27 @@
</field>
</record>
- <!-- Events Organisation/CONFIGURATION/EVENTS -->
+<!-- Events Organisation/CONFIGURATION/EVENTS -->
<record model="ir.ui.view" id="view_event_form">
<field name="name">Events</field>
<field name="model">event.event</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Events" layout="manual">
- <div class="oe_form_topbar">
- <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
- <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
- <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
- <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
- <div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
- </div>
- </div>
- <sheet string="Event Form" layout="auto">
- <group col="2">
- <group col="2">
- <div class="oe_event_title">
- <field name="name" nolabel="1"/>
- </div>
- <newline/>
- <group colspan="4" name="venue">
- <div class="oe_sub1"> Venue : </div> <separator orientation="vertical"/>
- <field name="location_id" nolabel="1"/>
- </group>
- </group>
- <group>
- <div id = "oe_mapbox" class="oe_mapbox"> </div><newline/>
- <table>
- <tr>
- <td width="70px" class="oe_td_border">
- Where
- </td>
- <td width="150px">
- <field name="address_id" widget = "geo_address" nolabel="1"/>
- </td>
- <td width="auto">
- <table>
- <tr>
- <td class="oe_td_date_border">Start: </td><td><field name="date_begin" nolabel="1"/></td>
- </tr>
- <tr>
- <td class="oe_td_date_border">End</td><td><field name="date_end" nolabel="1"/></td>
- </tr>
- </table>
-
- </td>
- </tr>
- </table>
- </group>
- </group>
+ <form string="Events">
+ <group col="6" colspan="4">
+ <field name="name"/>
+ <field name="date_begin"/>
+ <field name="date_end"/>
+ <field name="type" on_change="onchange_event_type(type,context)"/>
+ <field name="user_id"/>
+ <field name="address_id" />
+ </group>
<notebook colspan="4">
<page string="Event">
<separator string="Description" colspan="4"/>
<field name="note" colspan="4" nolabel="1"/>
- <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager">
+ <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
<tree string="Registration" editable="top">
<field name="name" />
<field name="email" />
@@ -169,7 +131,13 @@
</group>
</form>
</field>
-
+ <field name="state" select="1" widget="statusbar" statusbar_visible="draft,confirm,done"/>
+ <group col="4" colspan="2">
+ <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
+ <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
+ <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
+ <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
+ </group>
</page>
<page string="Speakers">
<field name="main_speaker_id" domain="[('speaker','=',True)]"/>
@@ -177,7 +145,7 @@
<separator string="Other Speakers" colspan="4"/>
<field name="speaker_ids" domain="[('speaker','=',True)]" colspan="4" nolabel="1"/>
</page>
- <page string="Extra Info" groups="event.group_event_manager">
+ <page string="Extra Info">
<group col="2" colspan="2">
<separator string="Registrations" colspan="2"/>
<field name="register_min"/>
@@ -194,6 +162,67 @@
</group>
</page>
</notebook>
+ </form>
+ </field>
+ </record>
+
+
+ <!-- Events Organisation/CONFIGURATION/EVENTS PAGE VIEW -->
+
+ <record model="ir.ui.view" id="view_event_page">
+ <field name="name">Events</field>
+ <field name="model">event.event</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Events" layout="manual">
+ <div class="oe_form_topbar" readonly="1">
+ <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
+ <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
+ <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
+ <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
+ <div class="oe_right">
+ <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+ </div>
+ </div>
+ <sheet string="Event Form" layout="auto">
+ <group col="2">
+ <group col="2">
+ <div class="oe_event_title">
+ <field name="name" nolabel="1" readonly="1"/>
+ </div>
+ <newline/>
+ <group colspan="4" name="venue">
+ <div class="oe_sub1"> Venue : </div> <separator orientation="vertical"/>
+ <field name="location_id" nolabel="1" readonly="1"/>
+ </group>
+ </group>
+ <group>
+ <div id = "oe_mapbox" class="oe_mapbox"> </div><newline/>
+ <table>
+ <tr>
+ <td width="70px" class="oe_td_border">
+ Where
+ </td>
+ <td width="auto">
+ <field name="address_id" widget ="geo_address" nolabel="1"/>
+ </td>
+ <td width="210px">
+ <table>
+ <tr>
+ <td class="oe_td_date_border">Start: </td><td><field name="date_begin" nolabel="1" readonly="1"/></td>
+ </tr>
+ <tr>
+ <td class="oe_td_date_border">End</td><td><field name="date_end" nolabel="1" readonly="1"/></td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ </table>
+ </group>
+ </group>
+ <separator string="Event Details" colspan="4"/>
+ <field name="note" colspan="4" nolabel="1" readonly="1"/>
</sheet>
</form>
</field>
=== modified file 'event/static/src/css/event.css'
--- event/static/src/css/event.css 2012-05-02 07:15:35 +0000
+++ event/static/src/css/event.css 2012-05-04 12:36:18 +0000
@@ -144,4 +144,15 @@
.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
=== modified file 'event/static/src/js/event.js'
--- event/static/src/js/event.js 2012-05-02 07:15:35 +0000
+++ event/static/src/js/event.js 2012-05-04 12:36:18 +0000
@@ -14,8 +14,10 @@
set_value:function(value){
var self = this;
this.get_address(value).done(function(value){
+ 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 +51,7 @@
}
}));
+
+
+
};
\ No newline at end of file
=== added directory 'event/static/src/xml'
=== added file 'event/static/src/xml/event_address.xml'
--- event/static/src/xml/event_address.xml 1970-01-01 00:00:00 +0000
+++ event/static/src/xml/event_address.xml 2012-05-04 12:36:18 +0000
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <template>
+ <td t-name="address">
+ <t t-esc="record.street"/> <br/>
+ <t t-esc="record.city"/> <br/>
+ <t t-esc="record.country_id[1]"/>
+ </td>
+ </template>
\ No newline at end of file
=== modified file 'event_sale/event_sale.py'
--- event_sale/event_sale.py 2012-05-02 07:07:22 +0000
+++ event_sale/event_sale.py 2012-05-04 12:36:18 +0000
@@ -99,75 +99,93 @@
_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 = {}
=== modified file 'event_sale/event_sale_view.xml'
--- event_sale/event_sale_view.xml 2012-05-02 07:10:56 +0000
+++ event_sale/event_sale_view.xml 2012-05-04 12:36:18 +0000
@@ -30,49 +30,68 @@
</field>
</record>
+ <record model="ir.ui.view" id="view_event_page_inherit">
+ <field name="name">Events Inherit</field>
+ <field name="model">event.event</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="event.view_event_page"/>
+ <field name="arch" type="xml">
+ <xpath expr="//group[@name='venue']" position="after">
+ <field name="event_item_ids" nolabel="1">
+ <tree editable="top" string="Event Items">
+ <field name="product_id" readonly="1" string="Ticket Type" domain="[('event_ok','=',True)]" on_change="onchange_product_id(product_id)"/>
+ <field name="sales_end_date" readonly="1"/>
+ <field name="price" readonly="1"/>
+ <field name="max_qty" readonly="1" groups="event.group_event_manager"/>
+ <field name="qty"/>
+ </tree>
+ </field>
+ <newline/>
+ <div class="oe_right">
+ <button name="order_now" string="Order Now" type="object" icon="gtk-apply"/>
+ </div>
+ </xpath>
+ </field>
+ </record>
+
+
<record model="ir.ui.view" id="view_event_form_inherit">
<field name="name">Events Inherit</field>
<field name="model">event.event</field>
<field name="type">form</field>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="arch" type="xml">
- <xpath expr="//notebook/page[@string='Extra Info']" position="after">
- <page string="Event Items">
- <field name="event_item_ids" nolabel="1"/>
- </page>
+ <xpath expr="//page[@string='Extra Info']" position="after">
+ <page string="Event Item">
+ <field name="event_item_ids" nolabel="1">
+ <tree editable="top" string="Event Items">
+ <field name="product_id" string="Ticket Type" domain="[('event_ok','=',True)]" on_change="onchange_product_id(product_id)"/>
+ <field name="sales_end_date" />
+ <field name="price"/>
+ <field name="max_qty" groups="event.group_event_manager"/>
+ <field name="qty"/>
+ </tree>
+ </field>
+ <newline/>
+ <div class="oe_right">
+ <button name="order_now" string="Order Now" type="object" icon="gtk-apply"/>
+ </div>
+ </page>
</xpath>
</field>
</record>
- <record model="ir.ui.view" id="view_event_items_tree">
- <field name="name">Event Items Tree</field>
- <field name="model">event.items</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree editable="top" string="Event Items">
- <field name="product_id" domain="[('event_ok','=',True)]" on_change="onchange_product_id(product_id)"/>
- <field name="price"/>
- <field name="uom_id" invisible="1"/>
- <field name="qty"/>
- <field name="discount"/>
- <field name="sales_end_date"/>
- </tree>
- </field>
- </record>
+ <record id="view_event_kanban_inherit" model="ir.ui.view">
+ <field name="name">event.inherit.kanban</field>
+ <field name="model">event.event</field>
+ <field name="type">kanban</field>
+ <field name="inherit_id" ref="event.view_event_kanban"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div/t/t/input[@name='subscribe']" position="replace">
+ <input type="hidden"/>
+ </xpath>
+ </field>
+ </record>
- <record model="ir.ui.view" id="view_event_items_form">
- <field name="name">Event Items Form</field>
- <field name="model">event.items</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Event Items">
- <field name="product_id" domain="[('event_ok','=',True)]" on_change="onchange_product_id(product_id)"/>
- <field name="price"/>
- <field name="qty"/>
- <field name="discount"/>
- <field name="sales_end_date"/>
- </form>
- </field>
- </record>
</data>
</openerp>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp