diff --git a/website_subscription_package/__manifest__.py b/website_subscription_package/__manifest__.py
index 5bf2e8b23..e09aa15a3 100644
--- a/website_subscription_package/__manifest__.py
+++ b/website_subscription_package/__manifest__.py
@@ -43,6 +43,7 @@
'assets': {
'web.assets_frontend': [
'website_subscription_package/static/src/js/website_sale.js',
+ 'website_subscription_package/static/src/js/subscription.js'
],
},
'images': ['static/description/banner.jpg'],
diff --git a/website_subscription_package/controllers/portal.py b/website_subscription_package/controllers/portal.py
index 74ceeecd1..2a14c390b 100644
--- a/website_subscription_package/controllers/portal.py
+++ b/website_subscription_package/controllers/portal.py
@@ -86,6 +86,9 @@ class SubscriptionCustomerPortal(portal.CustomerPortal):
"""Render subscription page."""
subscription = request.env['subscription.package'].sudo().browse(
subscription)
+ cancel_reason = request.env['subscription.package.stop'].sudo().search(
+ [])
+ users = request.env['res.users'].sudo().search([])
if state == 'Draft':
subscription.button_start_date()
try:
@@ -95,4 +98,29 @@ class SubscriptionCustomerPortal(portal.CustomerPortal):
return request.website.render("website.403")
return request.render(
"website_subscription_package.subscription_page", {
- 'subscription': subscription.sudo()})
+ 'subscription': subscription.sudo(),
+ 'users': users,
+ 'close_reasons': cancel_reason})
+
+ @http.route(
+ ['/my/subscription_order/cancel'],
+ type='http', auth="user", website=True)
+ def subscription_cancel(self, **post):
+ """Render subscription page."""
+ subscription = request.env['subscription.package'].sudo().browse(
+ int(post.get('subscription_id')))
+ subscription.is_closed = True
+ subscription.close_reason_id = int(post.get('reason'))
+ subscription.closed_by = int(post.get('user'))
+ subscription.close_date = post.get('date_closed')
+ stage = (request.env['subscription.package.stage'].search([
+ ('category', '=', 'closed')]).id)
+ values = {'stage_id': stage, 'is_to_renew': False}
+ subscription.write(values)
+ for lines in subscription.sale_order_id.order_line.filtered(
+ lambda x: x.product_template_id.is_subscription == True):
+ lines.qty_invoiced = lines.product_uom_qty
+ lines.qty_to_invoice = 0
+ return request.render(
+ "website_subscription_package.subscription_page",
+ {'subscription': subscription.sudo()})
diff --git a/website_subscription_package/static/img/image01.png b/website_subscription_package/static/img/image01.png
new file mode 100644
index 000000000..51addf3ea
Binary files /dev/null and b/website_subscription_package/static/img/image01.png differ
diff --git a/website_subscription_package/static/src/js/subscription.js b/website_subscription_package/static/src/js/subscription.js
new file mode 100644
index 000000000..898d6e8de
--- /dev/null
+++ b/website_subscription_package/static/src/js/subscription.js
@@ -0,0 +1,27 @@
+/* @odoo-module */
+import publicWidget from "@web/legacy/js/public/public_widget";
+import { jsonrpc } from "@web/core/network/rpc_service";
+import { sprintf } from "@web/core/utils/strings";
+import { _t } from "@web/core/l10n/translation";
+import { loadWysiwygFromTextarea } from "@web_editor/js/frontend/loadWysiwygFromTextarea";
+console.log('LLLLLLLLLLLLLLLLL')
+publicWidget.registry.subscriptionDetail = publicWidget.Widget.extend({
+ selector: '.subscription_detail_temp',
+ events: {
+ 'click .btnShowCloseSubscriptionModal': '_onClickShowModal',
+ 'click .close_modal': '_onClickCloseModal',
+ },
+ /**
+ *open modal to apply close reason
+ */
+ _onClickShowModal: function () {
+ this.el.querySelector('#subscription_close_modal').style.display = 'block';
+ },
+ /**
+ *close the document modal
+ */
+ _onClickCloseModal: function () {
+ this.el.querySelector('#subscription_close_modal').style.display = 'none';
+ },
+
+ });
\ No newline at end of file
diff --git a/website_subscription_package/static/src/xml/subscription_close_modal.xml b/website_subscription_package/static/src/xml/subscription_close_modal.xml
new file mode 100644
index 000000000..bf8a7bbc4
--- /dev/null
+++ b/website_subscription_package/static/src/xml/subscription_close_modal.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/website_subscription_package/views/portal_templates.xml b/website_subscription_package/views/portal_templates.xml
index bf5f3414b..b427443b4 100644
--- a/website_subscription_package/views/portal_templates.xml
+++ b/website_subscription_package/views/portal_templates.xml
@@ -27,7 +27,10 @@
priority="30">
+
Subscription
+ Subscription to review
@@ -80,7 +83,7 @@
-