[ADD]: Event page
bzr revid: atp@tinyerp.com-20120517103941-6ngwqfkiow8f4ugq
This commit is contained in:
parent
08cd412d78
commit
96fde61acf
|
@ -218,7 +218,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.partner','Organization Address', readonly=False, states={'done': [('readonly', True)]}),
|
||||
'available_qty': fields.integer('Availabel Quantity'),
|
||||
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
|
@ -226,7 +227,41 @@ class event_event(osv.osv):
|
|||
'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,
|
||||
}
|
||||
|
||||
|
||||
def order_now(self, cr, uid, ids, context=None):
|
||||
register_pool = self.pool.get('event.registration')
|
||||
user_pool = self.pool.get('res.users')
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
user = user_pool.browse(cr, uid, uid, context=context)
|
||||
for event in self.browse(cr, uid, ids, context):
|
||||
self.check_registration_limits_before(cr, uid, ids, event.available_qty, context=context)
|
||||
curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , event.id)])
|
||||
#the subscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to subscribe
|
||||
print "event.curre_reg_ids",event.available_qty
|
||||
if not curr_reg_ids and event.available_qty > 0:
|
||||
print "cccccccccccc",event.available_qty
|
||||
curr_reg_ids = [register_pool.create(cr, 1, {'event_id': event.id ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': event.available_qty})]
|
||||
elif event.available_qty > 0:
|
||||
print "mmmmmmm",event.available_qty
|
||||
register_pool.write(cr, uid, curr_reg_ids, {'nb_register': event.available_qty}, context=context)
|
||||
if event.available_qty > 0:
|
||||
register_pool.confirm_registration(cr, 1, curr_reg_ids, context=context)
|
||||
view_id = data_obj._get_id(cr, uid, 'event', 'view_event_registration_form')
|
||||
if view_id:
|
||||
res_id = data_obj.browse(cr, uid, view_id, context=context).res_id
|
||||
res = {
|
||||
'name': _('Registration'),
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'event.registration',
|
||||
'res_id': curr_reg_ids[0],
|
||||
'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):
|
||||
register_pool = self.pool.get('event.registration')
|
||||
user_pool = self.pool.get('res.users')
|
||||
|
|
|
@ -152,25 +152,33 @@
|
|||
</div>
|
||||
<sheet layout="auto">
|
||||
<group colspan="4" col="2">
|
||||
<field name="name" class="oe_form_title" width="60%%" nolabel="1"/>
|
||||
<field name="name" class="oe_form_title" width="80%%" nolabel="1"/>
|
||||
</group>
|
||||
<group colspan="4" col="5" class="oe_form_group_label_border" style="margin-top: 20px;">
|
||||
<group colspan="2" col="2" class="oe_form_group_label_border">
|
||||
<field name="address_id" widget ="geo_address" string="Venue"/>
|
||||
</group>
|
||||
<group colspan="2" col="2" class="oe-listview-content">
|
||||
<label string="Ticket Description"/>
|
||||
<label string="Quantity"/>
|
||||
<field nolabel="1" name="full_name" />
|
||||
<field nolabel="1" name="register_max" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="2">
|
||||
<button name="order_now" string="Order Now" type="object" icon="gtk-apply" align="Right"/>
|
||||
</group>
|
||||
<!-- <notebook colspan="4">
|
||||
<newline/>
|
||||
<group colspan="2" col="2" class="oe-listview-content">
|
||||
<label string="Ticket Description"/>
|
||||
<label string="Quantity"/>
|
||||
<field nolabel="1" name="full_name" />
|
||||
<field nolabel="1" name="available_qty" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="2" col="2">
|
||||
<button name="order_now" string="Order Now" type="object" icon="gtk-apply" />
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Event">
|
||||
<separator string="Description" colspan="4"/>
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
<group colspan="2" col="2" class="oe_form_group_label_border">
|
||||
<field name="register_min"/>
|
||||
<field name="register_max"/>
|
||||
</group>
|
||||
<group colspan="2" col="2" class="oe_form_group_label_border">
|
||||
<field name="register_current"/>
|
||||
<field name="register_prospect"/>
|
||||
<field name="register_attended"/>
|
||||
</group>
|
||||
<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" />
|
||||
|
@ -204,39 +212,15 @@
|
|||
</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)]" context="{'default_speaker':1}"/>
|
||||
<field name="speaker_confirmed"/>
|
||||
<separator string="Other Speakers" colspan="4"/>
|
||||
<field name="speaker_ids" domain="[('speaker','=',True)]" context="{'default_speaker':1}" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Extra Info">
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Registrations" colspan="2"/>
|
||||
<field name="register_min"/>
|
||||
<field name="register_max"/>
|
||||
<field name="register_prospect"/>
|
||||
<field name="register_current"/>
|
||||
<field name="register_attended"/>
|
||||
<field name="location_id"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Emails" colspan="2"/>
|
||||
<field name="reply_to"/>
|
||||
<field name="email_registration_id" domain="[('model_id.model','=','event.registration')]"/>
|
||||
<field name="email_confirmation_id" domain="[('model_id.model','=','event.registration')]"/>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
</notebook> -->
|
||||
</notebook>
|
||||
<separator colspan="4" string="Details"/>
|
||||
<field name="note" nolabel="1" colspan="4"/>
|
||||
</sheet>
|
||||
|
|
Loading…
Reference in New Issue