blob: 6d3e5bd3fe947c555993397b97d7c04500de3e69 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
<?xml version="1.0" ?>
<odoo><data>
<!-- LESSON -->
<template id="lesson_content_quiz" inherit_id="website_slides.lesson_content_quiz">
<xpath expr="//div[hasclass('o_wslides_js_lesson_quiz')]" position="attributes">
<attribute name="t-att-data-price">product_info['price'] if product_info else None</attribute>
<attribute name="t-att-data-currency-name">product_info['currency_id'].name if product_info else None</attribute>
<attribute name="t-att-data-currency-symbol">product_info['currency_id'].symbol if product_info else None</attribute>
<attribute name="t-att-data-has-discounted-price">product_info['has_discounted_price'] if product_info else None</attribute>
<attribute name="t-att-data-product-id">slide.channel_id.product_id.id if slide.channel_id.product_id else None</attribute>
<attribute name="t-att-data-list-price">product_info['list_price'] if product_info else None</attribute>
</xpath>
</template>
<template name="Buy Course To Download Resource" id="slide_aside_training_category_buy_course" inherit_id="website_slides.slide_aside_training_category">
<xpath expr="//div[hasclass('o_wslides_js_course_join')]" position="inside">
<li t-elif="aside_slide.channel_id.enroll == 'payment'" class="text-decoration-none small">
<i class="fa fa-download mr-1"/>
<t t-call="website_sale_slides.course_buy_course_link">
<t t-set="slide" t-value="aside_slide"/>
</t>
</li>
</xpath>
</template>
<template name="Buy Course To Download Resource Slide Detail" id="slide_content_detailed_buy_course" inherit_id="website_slides.slide_content_detailed">
<xpath expr="//div[hasclass('o_wslides_js_course_join')]" position="inside">
<span t-elif="slide.channel_id.enroll == 'payment'" class="text-muted mr-auto border-left pl-3">
<t t-call="website_sale_slides.course_buy_course_link"/>
</span>
</xpath>
</template>
<!-- Tweak "preview" badge: display Free Preview if payment-based course -->
<template id="course_slides_list_slide"
name="Slide template for a training channel (Sale)"
inherit_id="website_slides.course_slides_list_slide">
<xpath expr="//a[@t-if='channel.can_upload']/span/span" position="replace">
<span t-if="channel.enroll == 'payment'">Free Preview</span>
<span t-else="">Preview</span>
</xpath>
<xpath expr="//t[@t-elif='slide.is_preview and not channel.is_member']/span/span" position="replace">
<span t-if="channel.enroll == 'payment'">Free Preview</span>
<span t-else="">Preview</span>
</xpath>
</template>
<!-- FULLSCREEN -->
<template id="slide_fullscreen" inherit_id="website_slides.slide_fullscreen">
<xpath expr="//div[hasclass('o_wslides_fs_main')]" position="attributes">
<attribute name="t-att-data-price">product_info['price'] if product_info else None</attribute>
<attribute name="t-att-data-currency-name">product_info['currency_id'].name if product_info else None</attribute>
<attribute name="t-att-data-currency-symbol">product_info['currency_id'].symbol if product_info else None</attribute>
<attribute name="t-att-data-has-discounted-price">product_info['has_discounted_price'] if product_info else None</attribute>
<attribute name="t-att-data-product-id">slide.channel_id.product_id.id if product_info else None</attribute>
<attribute name="t-att-data-list-price">product_info['list_price'] if product_info else None</attribute>
</xpath>
</template>
<template name="Buy Course To Download Resource Fullscreen" id="slide_fullscreen_sidebar_category_buy_course" inherit_id="website_slides.slide_fullscreen_sidebar_category">
<xpath expr="//div[hasclass('o_wslides_js_course_join')]" position="inside">
<li t-elif="slide.channel_id.enroll == 'payment'" class="o_wslides_fs_slide_link mb-1">
<i class="fa fa-download mr-1"/>
<t t-call="website_sale_slides.course_buy_course_link"/>
</li>
</xpath>
</template>
<!-- COURSE -->
<template name="Documentation Course Content: add Buy Button in nav" id="course_slides_cards_buy_course" inherit_id="website_slides.course_slides_cards">
<xpath expr="//nav[hasclass('navbar')]" position="before">
<div class="col-12 col-md-4 col-lg-3"
t-if="(not channel.is_member or channel.can_upload) and channel.enroll == 'payment'">
<div class="bg-white px-3 py-2 border-left border-right">
<div class="o_wslides_sidebar_top d-flex justify-content-between">
<div class="o_wslides_js_course_join flex-grow-1">
<t t-call="website_sale_slides.course_buy_course_button" />
</div>
<button t-attf-class="btn d-md-none bg-white ml-1 border #{'align-self-end' if channel.is_member else 'align-self-start alert'}" type="button" data-toggle="collapse" data-target="#o_wslides_sidebar_collapse" aria-expanded="false" aria-controls="o_wslides_sidebar_collapse">More info</button>
</div>
<div id="o_wslides_sidebar_collapse" class="collapse d-md-block">
<table class="table table-sm mt-3">
<tbody>
<tr>
<th class="border-top-0">Last Update</th>
<td class="border-top-0"><t t-esc="channel.slide_last_update" t-options="{'widget': 'date'}"/></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</xpath>
</template>
<template name="Course Sidebar (infos, CTA)" id='course_sidebar' inherit_id="website_slides.course_sidebar">
<!-- Channel main template: override button to join channel -->
<xpath expr="//div[hasclass('o_wslides_js_course_join')]" position="inside">
<t t-if="(not channel.is_member or channel.can_publish) and channel.enroll == 'payment'">
<t t-call="website_sale_slides.course_buy_course_button" />
</t>
</xpath>
</template>
<!-- TOOLS -->
<template name="Buy Course Link" id="course_buy_course_link">
<a t-att-href="'/shop/cart/update?product_id=%s' % slide.channel_id.product_id.id">
Buy Course
</a>
to download resources
</template>
<template name="Buy Course Button" id="course_buy_course_button">
<t t-if="channel.product_id.website_published">
<div t-attf-class="text-center d-flex align-items-center text-center pb-1 #{'justify-content-between' if product_info['has_discounted_price'] else 'justify-content-around'}">
<div class="css_editable_mode_hidden">
<!-- real price -->
<div class="oe_price font-weight-bold text-nowrap h2 my-2"
t-esc="product_info['price']"
t-options="{'widget': 'monetary', 'display_currency': product_info['currency_id']}"/>
<span itemprop="price" style="display:none;" t-esc="product_info['price']"/>
<span itemprop="priceCurrency" style="display:none;" t-esc="product_info['currency_id'].name"/>
<!-- original discounted price, if any -->
<del t-att-class="'text-600 text-nowrap oe_default_price %s' % ('' if product_info['has_discounted_price'] else 'd-none')"
t-esc="product_info['list_price']"
t-options="{'widget': 'monetary', 'display_currency': product_info['currency_id']}"/>
</div>
<div class="css_non_editable_mode_hidden decimal_precision oe_price font-weight-bold text-nowrap h2 my-2"
t-att-data-precision="str(product_info['currency_id'].decimal_places)">
<span t-field="channel.product_id.list_price" t-options="{'widget': 'monetary', 'display_currency': product_info['currency_id']}"/>
</div>
</div>
<div class="oe_website_sale">
<div class="add_to_cart_button">
<form action="/shop/cart/update" method="POST">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()" />
<input type="hidden" class="product_id" name="product_id" t-att-value="channel.product_id.id"/>
<input type="hidden" class="product_template_id" name="product_template_id" t-att-value="channel.product_id.id"/>
<a id="add_to_cart" role="button" class="btn btn-primary btn-block js_check_product o_js_add_to_cart a-submit" href="#">
<i class="fa fa-shopping-cart"></i> Add to Cart
</a>
<div id="product_option_block"/>
</form>
</div>
<div class="buy_now_button"/>
</div>
</t>
<t t-else="">
<div class="alert my-0 bg-200 text-center">
Course Not Buyable
</div>
</t>
</template>
<template name="Allow Buy Now" id="course_option_buy_course_now" inherit_id="website_sale_slides.course_buy_course_button" active="False" customize_show="True">
<xpath expr="//div[hasclass('buy_now_button')]" position="inside">
<div style="margin-top:5px;">
<a role="button" class="btn btn-outline-primary btn-block post_link" t-att-href="'/shop/cart/update?product_id=%s&express=1' % channel.product_id.id">
<i class="fa fa-bolt"></i> Buy Now
</a>
</div>
</xpath>
</template>
</data></odoo>
|