[IMP] default values on new events

bzr revid: fp@tinyerp.com-20131126161424-savrp6u63zmpoq5w
This commit is contained in:
Fabien Pinckaers 2013-11-26 17:14:24 +01:00
parent 44af6d1e09
commit 183c75a3c7
6 changed files with 66 additions and 3 deletions

View File

@ -225,7 +225,9 @@ class event_event(osv.osv):
'state': 'draft',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'event.event', context=c),
'user_id': lambda obj, cr, uid, context: uid,
'visibility': 'employees',
'visibility': 'public',
'organizer_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id,
'address_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, context=c).company_id.partner_id.id
}
def subscribe_to_event(self, cr, uid, ids, context=None):

View File

@ -39,7 +39,10 @@ this event.
""",
'author': 'OpenERP SA',
'depends': ['event', 'sale_crm'],
'data': ['event_sale_view.xml'],
'data': [
'event_sale_view.xml',
'event_sale_data.xml',
],
'demo': ['event_demo.xml'],
'test': ['test/confirm.yml'],
'installable': True,

View File

@ -116,6 +116,18 @@ class event_event(osv.osv):
result[rec.id] = sum([ep.register_max for ep in rec.event_ticket_ids])
return result
def _get_tickets(self, cr, uid, context={}):
md = self.pool.get('ir.model.data')
try:
dummy, res_id = md.get_object_reference(cr, uid, 'event_sale', 'product_product_event')
except ValueError:
return []
return [{
'name': _('Subscription'),
'product_id': res_id,
'price': 100,
}]
_columns = {
'event_ticket_ids': fields.one2many('event.event.ticket', "event_id", "Event Ticket"),
'register_max': fields.function(_get_register_max,
@ -124,6 +136,9 @@ class event_event(osv.osv):
"If you have too much registrations you are not able to confirm your event. (0 to ignore this rule )",
type='integer')
}
_defaults = {
'event_ticket_ids': _get_tickets
}
def check_registration_limits(self, cr, uid, ids, context=None):
for event in self.browse(cr, uid, ids, context=context):
@ -181,6 +196,18 @@ class event_ticket(osv.osv):
'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', type='integer', multi='register_numbers'),
'register_attended': fields.function(_get_register, string='# of Participations', type='integer', multi='register_numbers'),
}
def _default_product_id(self, cr, uid, context={}):
md = self.pool.get('ir.model.data')
try:
dummy, res_id = md.get_object_reference(cr, uid, 'event_sale', 'product_product_event')
except ValueError:
return False
return res_id
_defaults = {
'product_id': _default_product_id
}
def check_registration_limits_before(self, cr, uid, ids, number, context=None):
for ticket in self.browse(cr, uid, ids, context=context):

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="event_type" model="event.type">
<field name="name">Generic Events</field>
</record>
<record id="product_product_event" model="product.product">
<field name="list_price">10.0</field>
<field name="event_ok" eval="True"/>
<field name="standard_price">30.0</field>
<field name="uom_id" ref="product.product_uom_unit"/>
<field name="uom_po_id" ref="product.product_uom_unit"/>
<field name="name">Event Subscription</field>
<field name="categ_id" ref="product.product_category_all"/>
<field name="type">service</field>
<field name="event_type_id" ref="event_sale.event_type"/>
</record>
</data>
</openerp>

View File

@ -184,7 +184,7 @@ parameter) will see those record just disappear.
<record forcecreate="True" id="decimal_product_uos" model="decimal.precision">
<field name="name">Product UoS</field>
<field name="digits" eval="3"/>
</record>
</record>
<!--
Product

View File

@ -23,6 +23,7 @@ from openerp.osv import osv, fields
from openerp import SUPERUSER_ID
from openerp.tools.translate import _
import re
# defined for access rules
@ -89,6 +90,10 @@ class event(osv.osv):
res[event.id] = "%s/event/%s/" % (base_url, event.id)
return res
def _default_hashtag(self, cr, uid, context={}):
name = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.name
return re.sub("[- \\.\\(\\)]+", "", name).lower()
_columns = {
'twitter_hashtag': fields.char('Twitter Hashtag'),
'website_published': fields.boolean('Visible in Website'),
@ -107,6 +112,7 @@ class event(osv.osv):
}
_defaults = {
'show_menu': False,
'twitter_hashtag': _default_hashtag
}
def google_map_img(self, cr, uid, ids, zoom=8, width=298, height=298, context=None):