[IMP] website_event: use website_mail follow template and controller instead of redef...
[odoo/odoo.git] / addons / website_event / views / website_event.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3 <data>
4
5     <!-- Layout add nav and footer -->
6
7     <template id="header_footer" inherit_id="website_sale.header_footer">
8         <xpath expr="//header//ul[@id='top_menu']/li" position="before">
9             <li><a href="/event">Events</a></li>
10         </xpath>
11         <xpath expr="//footer//ul[@name='products']/li" position="after">
12             <li><a href="/event">Events</a></li>
13         </xpath>
14     </template>
15
16     <template id="event_website_sale_mycart" inherit_id="website_sale.mycart">
17         <xpath expr="//small[@class='text-error']" position="replace">
18             <t t-if="(not line.event_id or line.event_ticket_id and line.event_ticket_id.price == line.product_id.lst_price)">
19                 <small class="text-error" style="text-decoration: line-through;"><t t-esc="line.product_id.lst_price" /> €</small>
20             </t>
21         </xpath>
22     </template>
23
24     <!-- Page --> 
25     <template id="index" name="Events" page="True">
26         <t t-call="website.layout">
27           <t t-set="head">
28               <t t-raw="head or ''"/>
29           </t>
30           <t t-set="title">Events</t>
31           <div id="wrap">
32             <div class="oe_structure">
33                 <h1 class="text-center">Our Events</h1>
34             </div>
35             <div class="container">
36                 <div class="row">
37                     <div class="col-md-4 css_noprint" id="left_column">
38                         <ul class="nav nav-pills nav-stacked">
39                             <li class="nav-header">Date</li>
40                             <t t-foreach="dates" t-as="date">
41                                 <li t-att-class="searches.get('date') == date[0] and 'active' or ''">
42                                     <a t-attf-href="/event/#{ search_path }&amp;date=#{ date[0] }"><t t-esc="date[1]"/> <small t-if="date[3]">(<t t-esc="date[3]"/>)</small></a>
43                                 </li>
44                             </t>
45                         </ul>
46                     </div>
47                     <div class="col-md-8">
48                         <t t-call="website.pager" >
49                             <t t-set="classname">pull-left</t>
50                         </t>
51                     </div>
52                     <div class="col-md-8">
53                         <ul class="media-list">
54                             <li t-foreach="event_ids" t-as="event" class="media" data-publish="">
55                                 <t t-call="website.publish"><t t-set="object" t-value="event"/></t>
56                                 <div class="media-body">
57                                     <span t-if="not event.event_ticket_ids" class="label label-default pull-right">No tickets needed.</span>
58                                     <t t-if="event.event_ticket_ids">
59                                         <span t-if="event.register_avail == 9999" class="label label-default pull-right label-info">Tickets availables.</span>
60                                         <span t-if="not event.register_avail" class="label label-default pull-right">No ticket available.</span>
61                                         <span t-if="event.register_avail and event.register_avail != 9999" t-attf-class="label label-default pull-right label-#{ event.register_avail &lt;= 10 and 'warning' or 'info' }">
62                                             <t t-if="event.register_avail &lt;= 10">Only</t>
63                                             <t t-esc="event.register_avail"/>
64                                             <t t-if="event.register_avail &gt; 1">tickets</t>
65                                             <t t-if="event.register_avail == 1">ticket</t>
66                                             available.
67                                         </span>
68                                     </t>
69                                     <h4 class="media-heading"><a t-attf-href="/event/#{ event.id }/"><span t-field="event.name"> </span></a></h4>
70                                     <div>
71                                         <span t-field="event.type">: </span>
72                                         <t t-if="event.organizer_id">
73                                             Organized by: <span t-field="event.organizer_id"> </span>
74                                         </t>
75                                     </div>
76                                     <div>
77                                         <i class="icon-time"></i> <span t-field="event.date_begin"> </span> <i>to</i> <span t-field="event.date_end"> </span>
78                                     </div>
79                                     <div t-if="event.country_id">
80                                         <i class="icon-map-marker"></i> <span t-field="event.city"> </span>  <span t-field="event.zip"> </span>, <span t-field="event.country_id"> </span>
81                                     </div>
82                                 </div>
83                             </li>
84                         </ul>
85                     </div>
86                     <div class="col-md-8 col-lg-offset-4 text-center">
87                         <t t-call="website.pager" />
88                     </div>
89                 </div>
90             </div>
91             <div class="oe_structure"/>
92           </div>
93         </t>
94     </template>
95
96     <template id="event_category" inherit_id="website_event.index" inherit_option_id="website_event.index" name="Category">
97         <xpath expr="//div[@id='left_column']" position="inside">
98             <ul class="nav nav-pills nav-stacked mt32">
99                 <li class="nav-header">Category</li>
100                 <t t-foreach="types">
101                     <li t-if="type" t-att-class="searches.get('type') == str(type and type[0]) and 'active' or ''">
102                         <a t-attf-href="/event/#{ search_path }&amp;type=#{ type[0] }"><t t-esc="type[1]"/> <small>(<t t-esc="type_count"/>)</small></a>
103                     </li>
104                 </t>
105             </ul>
106         </xpath>
107     </template>
108     <template id="event_location" inherit_id="website_event.index" inherit_option_id="website_event.index" name="Location">
109         <xpath expr="//div[@id='left_column']" position="inside">
110             <ul class="nav nav-pills nav-stacked mt32">
111                 <li class="nav-header">Location</li>
112                 <t t-foreach="countries">
113                     <li t-if="country_id" t-att-class="searches.get('country') == str(country_id and country_id[0]) and 'active' or ''">
114                         <a t-attf-href="/event/#{ search_path }&amp;country=#{ country_id[0] }"><t t-esc="country_id[1]"/><small>(<t t-esc="country_id_count"/>)</small></a>
115                     </li>
116                 </t>
117             </ul>
118         </xpath>
119     </template>
120
121     <template id="event_description_full">
122         <t t-call="website.layout">
123           <t t-set="head">
124               <script type="text/javascript" src="/website_event/static/src/js/website_event.js"></script>
125               <t t-raw="head or ''"/>
126           </t>
127           <t t-set="title">Events</t>
128           <div id="wrap">
129             <div class="container">
130                 <div class="row">
131                     <div class="col-md-8">
132                         <t t-call="website.publish"><t t-set="object" t-value="event_id"/></t>
133                         <t t-call="website_mail.follow"><t t-set="object" t-value="event_id"/></t>
134                         <h1 class="text-center" t-field="event_id.name"></h1>
135                         <h4 class="text-center">
136                             <i class="icon-time"></i> <span t-field="event_id.date_begin"/> to 
137                             <span t-field="event_id.date_end"/>
138                         </h4>
139                         <h5 class="text-center" t-field="event_id.address_id"/>
140                     </div>
141
142                     <div class="col-md-4 css_noprint pull-right">
143                         <h4>When &amp; Where</h4>
144                         <a t-att-href="event_id.google_map_link()" target="_BLANK">
145                             <img class="thumbnail" t-att-src="event_id.google_map_img()"/>
146                         </a>
147                         
148                         <address><pre t-field="event_id.address_id"/></address>
149                         <i class="icon-time"></i> <span t-field="event_id.date_begin"> </span><br/>
150                         <i class="icon-time"></i> <span t-field="event_id.date_end"> </span>
151                         <t t-if="event_id.organizer_id">
152                             <h6>Organized by:</h6>
153                             <address><strong t-field="event_id.organizer_id.display_name"/><t t-if="event_id.phone"><br/><span>&amp;#x2706;</span> <span t-field="event_id.phone"></span></t><t t-if="event_id.email"><br/><i class="icon-envelope"></i> <span t-field="event_id.email"></span></t></address>
154                         </t>
155                     </div>
156                     <div class="col-md-8">
157                         <t t-if="event_id.event_ticket_ids">
158                         <hr/>
159                         <form t-attf-action="/event/#{ event_id.id }/add_cart" method="post">
160                             <table class="table">
161                                 <thead>
162                                     <tr>
163                                         <th>Ticket</th>
164                                         <th>Sales End</th>
165                                         <th>Price</th>
166                                         <th>Seats</th>
167                                         <th>Quantity</th>
168                                     </tr>
169                                 </thead>
170                                 <tbody>
171                                     <tr t-foreach="event_id.event_ticket_ids" t-as="ticket">
172                                         <td><span t-field="ticket.name"/></td>
173                                         <td><span t-field="ticket.deadline"/></td>
174                                         <td><span t-field="ticket.price"/></td>
175                                         <td><span t-if="ticket.register_max"><t t-esc="ticket.register_current"/>/<t t-field="ticket.register_max"/></span></td>
176                                         <td>
177                                             <select t-if="ticket.register_avail" t-attf-name="ticket-#{ ticket.id }" class="form-control">
178                                                 <t t-foreach="range(0, ticket.register_avail > 9 and 10 or ticket.register_avail+1 )" t-as="nb"><option t-esc="nb"/></t>
179                                             </select>
180                                             <span t-if="not ticket.register_avail">No tickets available</span>
181                                         </td>
182                                     </tr>
183                                 </tbody>
184                             </table>
185                             <button type="submit" class="btn btn-primary pull-right" t-if="event_id.register_avail">Order Now</button><br/>
186                         </form>
187                         </t>
188                         <hr/>
189                         <div t-field="event_id.description"></div>
190                         <hr/>
191                         <ul class="media-list" id="comment">
192                             <li t-foreach="event_id.website_message_ids" t-as="comment" class="media">
193                                 <div class="media-body">
194                                     <t t-call="website.publish"><t t-set="object" t-value="comment"/></t>
195                                     <t t-raw="comment.body"/>
196                                     <small class="pull-right muted text-right">
197                                         <div t-field="comment.author_id"/>
198                                         <div t-field="comment.date"/>
199                                     </small>
200                                 </div>
201                             </li>
202                         </ul>
203                     </div>
204                 </div>
205             </div>
206           </div>
207         </t>
208     </template>
209  </data>
210 </openerp>