diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_sale_slides/static/src | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_sale_slides/static/src')
6 files changed, 129 insertions, 0 deletions
diff --git a/addons/website_sale_slides/static/src/js/slides_course_join.js b/addons/website_sale_slides/static/src/js/slides_course_join.js new file mode 100644 index 00000000..4fe1c28a --- /dev/null +++ b/addons/website_sale_slides/static/src/js/slides_course_join.js @@ -0,0 +1,46 @@ +odoo.define('website_sale_slides.course.join.widget', function (require) { +"use strict"; + +var CourseJoinWidget = require('website_slides.course.join.widget').courseJoinWidget; +const wUtils = require('website.utils'); + +CourseJoinWidget.include({ + xmlDependencies: (CourseJoinWidget.prototype.xmlDependencies || []).concat( + ["/website_sale_slides/static/src/xml/slide_course_join.xml"] + ), + init: function (parent, options) { + this._super.apply(this, arguments); + this.productId = options.channel.productId || false; + }, + + //-------------------------------------------------------------------------- + // Handlers + //-------------------------------------------------------------------------- + + /** + * When the user joins the course, if it's set as "on payment" and the user is logged in, + * we redirect to the shop page for this course. + * + * @param {MouseEvent} ev + * @override + * @private + */ + _onClickJoin: function (ev) { + ev.preventDefault(); + + if (this.channel.channelEnroll === 'payment' && !this.publicUser) { + this.beforeJoin().then(function () { + wUtils.sendRequest('/shop/cart/update', { + product_id: this.productId, + express: 1, + }); + }); + } else { + this._super.apply(this, arguments); + } + }, +}); + +return CourseJoinWidget; + +}); diff --git a/addons/website_sale_slides/static/src/js/slides_course_quiz.js b/addons/website_sale_slides/static/src/js/slides_course_quiz.js new file mode 100644 index 00000000..3922a631 --- /dev/null +++ b/addons/website_sale_slides/static/src/js/slides_course_quiz.js @@ -0,0 +1,25 @@ +odoo.define('website_sale_slides.quiz', function (require) { +"use strict"; + +var sAnimations = require('website.content.snippets.animation'); +var Quiz = require('website_slides.quiz').Quiz; + +sAnimations.registry.websiteSlidesQuizNoFullscreen.include({ + _extractChannelData: function (slideData) { + return _.extend({}, this._super.apply(this, arguments), { + productId: slideData.productId, + enroll: slideData.enroll, + currencyName: slideData.currencyName, + currencySymbol: slideData.currencySymbol, + price: slideData.price, + hasDiscountedPrice: slideData.hasDiscountedPrice + }); + } +}); + +Quiz.include({ + xmlDependencies: (Quiz.prototype.xmlDependencies || []).concat( + ["/website_sale_slides/static/src/xml/website_sale_slides_quiz.xml"] + ) +}); +}); diff --git a/addons/website_sale_slides/static/src/js/slides_course_unsubscribe.js b/addons/website_sale_slides/static/src/js/slides_course_unsubscribe.js new file mode 100644 index 00000000..34449ce7 --- /dev/null +++ b/addons/website_sale_slides/static/src/js/slides_course_unsubscribe.js @@ -0,0 +1,12 @@ +odoo.define('website_sale_slides.unsubscribe_modal', function (require) { +"use strict"; + +var SlidesUnsubscribe = require('website_slides.unsubscribe_modal'); + +SlidesUnsubscribe.websiteSlidesUnsubscribe.include({ + xmlDependencies: (SlidesUnsubscribe.websiteSlidesUnsubscribe.prototype.xmlDependencies || []).concat( + ["/website_sale_slides/static/src/xml/website_slides_unsubscribe.xml"] + ), +}); + +}); diff --git a/addons/website_sale_slides/static/src/xml/slide_course_join.xml b/addons/website_sale_slides/static/src/xml/slide_course_join.xml new file mode 100644 index 00000000..404386d7 --- /dev/null +++ b/addons/website_sale_slides/static/src/xml/slide_course_join.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates xml:space="preserve"> + <t t-extend="slide.course.join"> + <t t-jquery=".o_wslides_js_course_join_link" t-operation="append"> + <t t-if="widget.channel.channelEnroll == 'payment'"> + <t t-if="widget.publicUser"> + Sign in + </t> + <t t-else=""> + Buy course + </t> + </t> + </t> + </t> +</templates> diff --git a/addons/website_sale_slides/static/src/xml/website_sale_slides_quiz.xml b/addons/website_sale_slides/static/src/xml/website_sale_slides_quiz.xml new file mode 100644 index 00000000..a03182dd --- /dev/null +++ b/addons/website_sale_slides/static/src/xml/website_sale_slides_quiz.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates xml:space="preserve"> + <t t-extend="slide.slide.quiz.validation"> + <t t-jquery=".o_wslides_quiz_join_course_message" t-operation="append"> + <span t-if="widget.channel.channelEnroll == 'payment'"> + <t t-if="widget.publicUser"> + Sign in and buy the course to take the quiz + </t> + <t t-else=""> + Buy the course to validate your answers! + </t> + </span> + </t> + </t> +</templates> diff --git a/addons/website_sale_slides/static/src/xml/website_slides_unsubscribe.xml b/addons/website_sale_slides/static/src/xml/website_slides_unsubscribe.xml new file mode 100644 index 00000000..1cadfbbf --- /dev/null +++ b/addons/website_sale_slides/static/src/xml/website_slides_unsubscribe.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates xml:space="preserve"> + + <t t-extend="slides.course.unsubscribe.modal.leave"> + <t t-jquery="p:last" t-operation="after"> + <t t-if="widget.enroll === 'payment'"> + <p class="alert alert-warning"> + <i class="fa fa-exclamation-triangle fa-3x float-left mr-3"></i> + This course is paid.<br/> + Leaving the course and re-enrolling afterwards means that you'll be charged again. + </p> + </t> + </t> + </t> + +</templates> |
