[WIP] website_event_track

bzr revid: chm@openerp.com-20131127092223-kiafrdc62is1dher
This commit is contained in:
Christophe Matthieu 2013-11-27 10:22:23 +01:00
parent 183c75a3c7
commit b397aee6dd
6 changed files with 215 additions and 456 deletions

View File

@ -221,7 +221,7 @@
</t>
</template>
<template id="event_description_full">
<template id="event_details">
<t t-call="website_event.layout">
<div class="container">
<h1 class="text-center" t-field="event.name"></h1>
@ -235,135 +235,140 @@
<span t-field="event.country_id"/>
</h4>
<div class="row mt32 mb32">
<div class="col-md-8">
<form t-action="/event/add_cart?event_id=#{ event.id }" method="post" t-if="event.event_ticket_ids">
<table class="table table-striped">
<thead>
<tr>
<th>Ticket Type</th>
<th style="min-width: 100px">Sales End</th>
<th style="min-width: 100px">Price</th>
<th></th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr t-foreach="event.event_ticket_ids" t-as="ticket">
<td>
<div t-field="ticket.name"/>
<div><small t-field="ticket.product_id.description_sale"/></div>
</td>
<td><span t-field="ticket.deadline"/></td>
<td><span t-field="ticket.price"/></td>
<td>
<span t-if="ticket.register_max and ((ticket.register_current or 0)*100 / ticket.register_max)&gt;75" class="text-muted">
<t t-esc="ticket.register_max - ticket.register_current"/> <span>left</span>
</span>
</td>
<td>
<select t-if="ticket.register_avail" t-attf-name="ticket-#{ ticket.id }" class="form-control">
<t t-foreach="range(0, ticket.register_avail > 9 and 10 or ticket.register_avail+1 )" t-as="nb"><option t-esc="nb"/></t>
</select>
<span t-if="not ticket.register_avail">Sold Out</span>
</td>
</tr>
</tbody>
</table>
<button type="submit" class="btn btn-primary btn-lg pull-right" t-if="event.register_avail">Order Now</button>
<div class="clearfix"/>
<hr/>
</form>
<div t-field="event.description"></div>
<div class="clearfix"/>
<ul class="media-list" id="comment">
<li t-foreach="event.website_message_ids" t-as="comment" class="media">
<div class="media-body">
<t t-call="website.publish_management">
<t t-set="object" t-value="comment"/>
<t t-set="publish_edit" t-value="True"/>
<t t-set="publish_controller">/event/publish</t>
</t>
<t t-raw="comment.body"/>
<small class="pull-right muted text-right">
<div t-field="comment.author_id"/>
<div t-field="comment.date"/>
</small>
</div>
</li>
</ul>
<t t-raw="0"/>
</div>
</div>
</t>
</template>
<template id="event_description_full">
<t t-call="website_event.event_details">
<div class="col-md-8">
<form t-action="/event/add_cart?event_id=#{ event.id }" method="post" t-if="event.event_ticket_ids">
<table class="table table-striped">
<thead>
<tr>
<th>Ticket Type</th>
<th style="min-width: 100px">Sales End</th>
<th style="min-width: 100px">Price</th>
<th></th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr t-foreach="event.event_ticket_ids" t-as="ticket">
<td>
<div t-field="ticket.name"/>
<div><small t-field="ticket.product_id.description_sale"/></div>
</td>
<td><span t-field="ticket.deadline"/></td>
<td><span t-field="ticket.price"/></td>
<td>
<span t-if="ticket.register_max and ((ticket.register_current or 0)*100 / ticket.register_max)&gt;75" class="text-muted">
<t t-esc="ticket.register_max - ticket.register_current"/> <span>left</span>
</span>
</td>
<td>
<select t-if="ticket.register_avail" t-attf-name="ticket-#{ ticket.id }" class="form-control">
<t t-foreach="range(0, ticket.register_avail > 9 and 10 or ticket.register_avail+1 )" t-as="nb"><option t-esc="nb"/></t>
</select>
<span t-if="not ticket.register_avail">Sold Out</span>
</td>
</tr>
</tbody>
</table>
<button type="submit" class="btn btn-primary btn-lg pull-right" t-if="event.register_avail">Order Now</button>
<div class="clearfix"/>
<hr/>
</form>
<div t-field="event.description"></div>
<div class="clearfix"/>
<ul class="media-list" id="comment">
<li t-foreach="event.website_message_ids" t-as="comment" class="media">
<div class="media-body">
<t t-call="website.publish_management">
<t t-set="object" t-value="comment"/>
<t t-set="publish_edit" t-value="True"/>
<t t-set="publish_controller">/event/publish</t>
</t>
<t t-raw="comment.body"/>
<small class="pull-right muted text-right">
<div t-field="comment.author_id"/>
<div t-field="comment.date"/>
</small>
</div>
</li>
</ul>
</div>
<div class="col-md-4 css_noprint">
<div class="clearfix"/>
<div class="panel panel-default" t-if="event.address_id">
<div class="panel-heading">
<h4>Where</h4>
</div>
<div class="col-md-4 css_noprint">
<div class="clearfix"/>
<div class="panel panel-default" t-if="event.address_id">
<div class="panel-heading">
<h4>Where</h4>
<div class="panel-body">
<a t-att-href="event.google_map_link()" target="_BLANK">
<img t-att-src="event.google_map_img()" width="100%%"/>
</a>
<address class="mt16 mb8" t-field="event.address_id"> <!-- TODO: use widget contact -->
<!-- <strong t-field="event.address_id"/>
<p t-field="event.address_id"/>
<div t-if="event.address_id.phone">
<span class="icon-phone"/> <span t-field="event.address_id.phone"/>
</div>
<div class="panel-body">
<a t-att-href="event.google_map_link()" target="_BLANK">
<img t-att-src="event.google_map_img()" width="100%%"/>
<div t-if="event.address_id.email">
<span class="icon-envelope"/>
<a t-att-href="'mailto:'+event.address_id.email">
<span t-field="event.address_id.email"/>
</a>
<address class="mt16 mb8" t-field="event.address_id"> <!-- TODO: use widget contact -->
<!-- <strong t-field="event.address_id"/>
<p t-field="event.address_id"/>
<div t-if="event.address_id.phone">
<span class="icon-phone"/> <span t-field="event.address_id.phone"/>
</div>
<div t-if="event.address_id.email">
<span class="icon-envelope"/>
<a t-att-href="'mailto:'+event.address_id.email">
<span t-field="event.address_id.email"/>
</a>
</div> -->
</address>
</div>
</div>
</div> -->
</address>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4>When</h4>
</div>
<div class="panel-body">
<i class="icon-time"></i> <span t-field="event.date_begin"> </span><br/>
<i class="icon-time"></i> <span t-field="event.date_end"> </span>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4>When</h4>
</div>
<div class="panel-body">
<i class="icon-time"></i> <span t-field="event.date_begin"> </span><br/>
<i class="icon-time"></i> <span t-field="event.date_end"> </span>
</div>
</div>
<div class="panel panel-default" t-if="event.organizer_id">
<div class="panel-heading">
<h4>Organizer</h4>
</div>
<div class="panel-body" t-field="event.organizer_id"> <!-- TODO: use widget contact -->
<!-- <p><strong t-field="event.organizer_id.display_name"/></p>
<div t-if="event.phone">
<span class="icon-phone"/> <span t-field="event.phone"/>
</div>
<div t-if="event.email">
<i class="icon-envelope"/> <span t-field="event.email"/>
</div> -->
</div>
<div class="panel panel-default" t-if="event.organizer_id">
<div class="panel-heading">
<h4>Organizer</h4>
</div>
<div class="panel-body" t-field="event.organizer_id"> <!-- TODO: use widget contact -->
<!-- <p><strong t-field="event.organizer_id.display_name"/></p>
<div t-if="event.phone">
<span class="icon-phone"/> <span t-field="event.phone"/>
</div>
<div t-if="event.email">
<i class="icon-envelope"/> <span t-field="event.email"/>
</div> -->
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4>Social Stream</h4>
</div>
<div class="panel-body">
<t t-call="website_mail.follow"><t t-set="object" t-value="event"/></t>
<div t-if="event.twitter_hashtag" class="mt16">
<p><strong>Participate on Twitter</strong></p>
<p class="text-muted">
Find out what others are seeing and
saying about this event, and join the
conversation.
</p>
<p><strong>Use this tag:
<a t-att-href="'http://twitter.com/search?q=#'+event.twitter_hashtag" class="label label-primary">#<span t-field="event.twitter_hashtag"/></a>
</strong></p>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4>Social Stream</h4>
</div>
<div class="panel-body">
<t t-call="website_mail.follow"><t t-set="object" t-value="event"/></t>
<div t-if="event.twitter_hashtag" class="mt16">
<p><strong>Participate on Twitter</strong></p>
<p class="text-muted">
Find out what others are seeing and
saying about this event, and join the
conversation.
</p>
<p><strong>Use this tag:
<a t-att-href="'http://twitter.com/search?q=#'+event.twitter_hashtag" class="label label-primary">#<span t-field="event.twitter_hashtag"/></a>
</strong></p>
</div>
</div>
</div>
</div>

View File

@ -13,9 +13,9 @@ Online Events
'author': 'OpenERP SA',
'depends': ['website_event', 'website_blog'],
'data': [
'data/event_view.xml',
'data/event_data.xml',
'views/website_event.xml',
'views/event_backend.xml',
'security/ir.model.access.csv',
'security/event.xml',
],

View File

@ -23,6 +23,7 @@ from openerp.addons.web import http
from openerp.addons.web.http import request
from openerp.addons.website.models import website
from openerp.addons.website.controllers.main import Website as controllers
import re
controllers = controllers()
@ -38,18 +39,26 @@ class website_event(http.Controller):
'/event/<model("event.event"):event>/track/tag/<model("event.track.tag"):tag>'
], type='http', auth="public", multilang=True)
def event_tracks(self, event, tag=None, **post):
searches = {}
if tag:
searches.update(tag=tag.id)
track_obj = request.registry.get('event.track')
track_ids = track_obj.search(request.cr, request.uid,
[("id", "in", [track.id for track in event.track_ids]), ("tag_ids", "=", tag.id)], context=request.context)
tracks = track_obj.browse(request.cr, request.uid, track_ids, context=request.context)
else:
tracks = event.track_ids
def html2text(html):
return re.sub(r'<[^>]+>', "", html)
values = {
'event': event,
'tracks': tracks,
'tags': event.track_tag_ids,
'searches': {}
'tags': event.tracks_tag_ids,
'searches': searches,
'html2text': html2text
}
return request.website.render("website_event_track.tracks", values)

View File

@ -1,290 +0,0 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="act_event_list_tracks" model="ir.actions.act_window">
<field name="res_model">event.track</field>
<field name="name">Event Tracks</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form,calendar,graph</field>
<field name="context">{'search_default_event_id': active_id, 'default_event_id': active_id, 'group_by': 'stage_id'}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a track.
</p><p>
Tracks define the agenda of your event. These can be
a talk, a round table, a meeting, etc.
</p>
</field>
</record>
<!-- EVENTS/CONFIGURATION/EVENT locations -->
<record model="ir.ui.view" id="view_event_location_form">
<field name="name">Event Locations</field>
<field name="model">event.track.location</field>
<field name="arch" type="xml">
<form string="Event Location" version="7.0">
<field name="name"/>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_event_location_tree">
<field name="name">Event Location</field>
<field name="model">event.track.location</field>
<field name="arch" type="xml">
<tree string="Event Location">
<field name="name"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_event_track_location">
<field name="name">Event Locations</field>
<field name="res_model">event.track.location</field>
</record>
<menuitem name="Event Locations" id="menu_event_track_location"
action="action_event_track_location" parent="event.event_configuration"
groups="base.group_no_one"/>
<!-- EVENTS/CONFIGURATION/EVENT Stages -->
<record model="ir.ui.view" id="view_event_track_stage_form">
<field name="name">Event Stages</field>
<field name="model">event.track.stage</field>
<field name="arch" type="xml">
<form string="Event Stage" version="7.0">
<field name="name"/>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_event_track_stage_tree">
<field name="name">Event Stage</field>
<field name="model">event.track.stage</field>
<field name="arch" type="xml">
<tree string="Event Stage">
<field name="sequence" widget="handle"/>
<field name="name"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_event_track_stage">
<field name="name">Event Stages</field>
<field name="res_model">event.track.stage</field>
</record>
<menuitem name="Event Stages" id="menu_event_track_stage"
action="action_event_track_stage" parent="event.event_configuration"
groups="base.group_no_one"/>
<!-- EVENTS/CONFIGURATION/EVENT Tags -->
<record model="ir.ui.view" id="view_event_track_tag_form">
<field name="name">Track Tags</field>
<field name="model">event.track.tag</field>
<field name="arch" type="xml">
<form string="Event Track Tag" version="7.0">
<field name="name"/>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_event_track_tag_tree">
<field name="name">Tracks Tag</field>
<field name="model">event.track.tag</field>
<field name="arch" type="xml">
<tree string="Event Track Tag">
<field name="name"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_event_track_tag">
<field name="name">Track Tags</field>
<field name="res_model">event.track.tag</field>
</record>
<menuitem name="Tracks Tags" id="menu_event_track_tag" action="action_event_track_tag" parent="event.event_configuration" groups="base.group_no_one"/>
<!-- EVENTS/CONFIGURATION/EVENT Tags -->
<record model="ir.ui.view" id="view_event_tag_form">
<field name="name">Event Tags</field>
<field name="model">event.tag</field>
<field name="arch" type="xml">
<form string="Event Tag" version="7.0">
<field name="name"/>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_event_tag_tree">
<field name="name">Event Tag</field>
<field name="model">event.tag</field>
<field name="arch" type="xml">
<tree string="Event Tag">
<field name="name"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_event_tag">
<field name="name">Event Tags</field>
<field name="res_model">event.tag</field>
</record>
<menuitem name="Event Tags" id="menu_event_tag" action="action_event_tag" parent="event.event_configuration" groups="base.group_no_one"/>
<!-- Events Organisation/CONFIGURATION/EVENTS -->
<record model="ir.ui.view" id="view_event_form">
<field name="name">Event Tracks</field>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="model">event.event</field>
<field name="arch" type="xml">
<xpath expr="//div[@class='oe_title']" position="inside">
<label for="tag_ids" class="oe_edit_only"/>
<field name="tag_ids" widget="many2many_tags"/>
<div name="event_checkboxes">
<field name="show_menu"/>
<label for="show_menu"/>
<field name="show_tracks"/>
<label for="show_tracks"/>
<field name="show_track_proposal"/>
<label for="show_track_proposal"/>
</div>
</xpath>
<xpath expr="//div[@class='oe_right oe_button_box']" position="inside">
<button name="%(website_event_track.act_event_list_tracks)d" type="action" string="Tracks"/>
</xpath>
<xpath expr="//field[@name='organizer_id']" position="after">
<field name="track_tag_ids" widget="many2many_tags"/>
</xpath>
</field>
</record>
<!-- Event Tracks -->
<record model="ir.ui.view" id="view_event_track_kanban">
<field name="name">event.track.kanban</field>
<field name="model">event.track</field>
<field name="arch" type="xml">
<kanban>
<templates>
<field name="color"/>
<field name="priority"/>
<field name="speaker_ids"/>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
<div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
<span class="oe_e">í</span>
<ul class="oe_dropdown_menu">
<li><a href="/event/1/track/2">View Track</a></li>
<t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit Track</a></li></t>
<t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</ul>
</div>
<div class="oe_kanban_content">
<h4><field name="name"/></h4>
<field name="tag_ids"/>
<div t-if="duration"><field name="duration"/> hours</div>
<span class="oe_right">
<t t-set="priority" t-value="record.priority.raw_value || 0"/>
<a type="object" name="set_priority" args="['2']" t-if="priority == 3" title="Normal Priority">
<img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
</a>
<a type="object" name="set_priority" args="['3']" t-if="priority lte 2" title="Normal Priority">
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/>
</a>
<a type="object" name="set_priority" args="['1']" title="High Priority">
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 1 ? 'on' : 'off'}.png" width="16" height="16"/>
</a>
<a type="object" name="set_priority" args="['0']" title="Highest Priority">
<img t-attf-src="/web/static/src/img/icons/star-#{priority == 0 ? 'on' : 'off'}.png" width="16" height="16"/>
</a>
</span>
<div t-foreach="record.speaker_ids.raw_value.slice(0,11)" t-as="speaker">
<img t-att-src="kanban_image('res.partner', 'image_small', speaker)" t-att-data-speaker_id="speaker" class="oe_kanban_avatar oe_left" width="24px" height="24px"/>
</div>
<div class="oe_clear"/>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="view_event_track_calendar" model="ir.ui.view">
<field name="name">event.track.calendar</field>
<field name="model">event.track</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<calendar color="type" date_start="date" date_delay="duration" string="Event Tracks">
<field name="name"/>
<field name="event_id"/>
</calendar>
</field>
</record>
<record model="ir.ui.view" id="view_event_track_search">
<field name="name">Event Tracks</field>
<field name="model">event.track</field>
<field name="arch" type="xml">
<search string="Event Tracks">
<field name="name"/>
<field name="event_id"/>
<field name="stage_id"/>
<field name="speaker_ids"/>
<group expand="0" string="Group By...">
<filter string="Responsible" context="{'group_by': 'user_id'}"/>
<filter string="Stage" context="{'group_by':'stage_id'}"/>
<filter string="Date" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_event_track_form">
<field name="name">event.track.form</field>
<field name="model">event.track</field>
<field name="arch" type="xml">
<form string="Event Track" version="7.0">
<header>
<field name="stage_id" widget="statusbar"/>
</header>
<sheet string="Track">
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name"/>
</h1>
<label for="event_id" class="oe_edit_only"/>
<h3>
<field name="event_id"/>
</h3>
</div>
<group>
<group>
<field name="user_id"/>
<field name="speaker_ids" widget="many2many_tags"/>
<field name="location_id"/>
</group>
<group>
<field name="date"/>
<field name="duration" widget="float_time"/>
<field name="tag_ids" widget="many2many_tags"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_event_track_graph">
<field name="name">Tracks Graph</field>
<field name="model">event.track</field>
<field name="arch" type="xml">
<graph string="Tracks" type="bar" orientation="horizontal">
<field name="location_id"/>
<field name="duration" operator="+"/>
</graph>
</field>
</record>
</data>
</openerp>

View File

@ -105,6 +105,14 @@ class event_track(osv.osv):
class event_event(osv.osv):
_inherit = "event.event"
def _get_tracks_tag_ids(self, cr, uid, ids, field_names, arg=None, context=None):
res = dict.fromkeys(ids, [])
for event in self.browse(cr, uid, ids, context=context):
for track in event.track_ids:
res[event.id] += [tag.id for tag in track.tag_ids]
res[event.id] = list(set(res[event.id]))
return res
_columns = {
'tag_ids': fields.many2many('event.tag', string='Tags'),
'track_ids': fields.one2many('event.track', 'event_id', 'Tracks'),
@ -112,7 +120,8 @@ class event_event(osv.osv):
'show_track_proposal': fields.boolean('Talks Proposals'),
'show_tracks': fields.boolean('Multiple Tracks'),
'show_blog': fields.boolean('News'),
'track_tag_ids': fields.many2many('event.track.tag', string='Accepted Tracks'),
'tracks_tag_ids': fields.function(_get_tracks_tag_ids, type='one2many', relation='event.track.tag', string='Tags of Tracks'),
'allowed_track_tag_ids': fields.many2many('event.track.tag', string='Accepted Tracks'),
}
_defaults = {
'show_track_proposal': False,
@ -128,4 +137,4 @@ class event_event(osv.osv):
result.append( (_('News'), '/blog/cat/'+str(event.blog_ig.id)))
if event.show_track_proposal:
result.append( (_('Talk Proposals'), '/event/%s/track_proposal/' % event.id))
return result
return result

View File

@ -36,50 +36,75 @@
</template>
<template id="tracks">
<t t-call="website_event.layout">
<div class="oe_structure"/>
<div class="container">
<div class="row mt16">
<div class="col-md-3 css_noprint">
<t t-call="website_event.event_details">
<div class="col-md-3 css_noprint">
<ul class="nav nav-pills nav-stacked">
<li t-att-class="'' if searches.get('tag') else 'active'"><a t-href="/event/#{ event.id }/track/">All</a></li>
<t t-foreach="tags" t-as="tag">
<li t-att-class="searches.get('tag') == tag.id and 'active' or ''">
<a t-href="/event/#{ event.id }/track/tag/#{ tag.id }">
<t t-esc="tag.name"/>
</a>
</li>
</t>
</ul>
</div><div class="col-md-9">
<ul class="nav nav-pills nav-stacked">
<li t-att-class="'' if searches.get('tag') else 'active'"><a t-href="/event/#{ event.id }/track/">All</a></li>
<t t-foreach="tags" t-as="tag">
<li t-att-class="searches.get('tag') == tag.id and 'active' or ''">
<a t-href="/event/#{ event.id }/track/tag/#{ tag.id }">
<t t-esc="tag.name"/>
</a>
</li>
</t>
</ul>
</div>
<div class="col-md-9">
<ul class="media-list">
<li t-foreach="event.track_ids" t-as="track" class="media">
<div class="media-body">
<h4 class="media-heading">
<a t-href="/event/#{ event.id }/track/#{track.id}"><span t-field="track.name"> </span></a>
<!-- <small t-if="not track.website_published" class="label label-danger">not published</small> -->
</h4>
<p>TODO: NOT Implemented</p>
</div>
</li>
</ul>
</div>
</div>
<ul class="media-list">
<li t-foreach="tracks" t-as="track" class="media">
<div class="media-body">
<h4 class="media-heading">
<a t-href="/event/#{ event.id }/track/#{track.id}"><span t-field="track.name"> </span></a>
<span t-field="track.date"/>
<!-- <small t-if="not track.website_published" class="label label-danger">not published</small> -->
</h4>
<div><span t-esc="html2text(track.description)[0:400]"/>...</div>
<div>
<t t-foreach="track.tag_ids" t-as="tag_id">
<span class="label label-default" t-field="tag_id.name"/>
</t>
</div>
</div>
</li>
</ul>
</div>
</t>
</template>
<template id="track_view">
<t t-call="website_event.layout">
<div class="oe_structure"/>
<div class="container">
<h1>Not Implmented</h1>
<h2 t-esc="track.name"/>
<t t-call="website_event.event_details">
<div class="col-md-8">
<h2 t-field="track.name"/>
<div t-field="track.description"/>
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h4>Informations</h4>
</div>
<div class="panel-body">
<t t-foreach="track.tag_ids" t-as="tag_id">
<span class="label label-default" t-field="tag_id.name"/>
</t>
</div>
<div class="panel-body">
<b>Responsible</b><br/>
<span t-field="track.user_id"/><br/>
<b>Speakers</b><br/>
<span t-field="track.speaker_ids"/><br/>
<b>Date</b><br/>
<span t-field="track.date"/><br/>
<b>Duration</b><br/>
<span t-field="track.duration"/><br/>
<b>Location</b><br/>
<span t-field="track.location_id"/><br/>
<b>Stage</b><br/>
<span t-field="track.stage_id"/><br/>
</div>
</div>
</div>
</t>
</template>
@ -148,7 +173,7 @@
<label class="col-md-3 col-sm-4 control-label" for="phone">Tags</label>
<div class="col-md-7 col-sm-8">
<div class="row">
<div class="col-sm-4" t-foreach="event.track_tag_ids" t-as="tag">
<div class="col-sm-4" t-foreach="event.allowed_track_tag_ids" t-as="tag">
<input type="checkbox" t-att-value="tag.id" name="tags"/>
<t t-esc="tag.name"/>
</div>
@ -223,10 +248,11 @@
<template id="event_track_proposal_success">
<t t-call="website_event.layout">
<div class="container">
<t t-call="website_event.event_details">
<div class="col-md-8">
Thanks
</div>
<div class="col-md-4"></div>
</t>
</template>
</data>