@@ -450,19 +150,4 @@
My Account
-
-
-
- Access the complete Sale application
-
-
-
-
-
-
- If you wish to access the complete application to manage your orders, you can follow
- this link.
-
-
-
diff --git a/addons/website_portal_sale/__init__.py b/addons/website_portal_sale/__init__.py
new file mode 100644
index 00000000000..ee5959455ad
--- /dev/null
+++ b/addons/website_portal_sale/__init__.py
@@ -0,0 +1 @@
+import controllers
diff --git a/addons/website_portal_sale/__openerp__.py b/addons/website_portal_sale/__openerp__.py
new file mode 100644
index 00000000000..4a7ed6c92e8
--- /dev/null
+++ b/addons/website_portal_sale/__openerp__.py
@@ -0,0 +1,22 @@
+{
+ 'name': 'Website Portal for Sales',
+ 'category': 'Website',
+ 'summary': 'Add your sales document in the frontend portal (sales order, quotations, invoices)',
+ 'version': '1.0',
+ 'description': """
+Add your sales document in the frontend portal. Your customers will be able to connect to their portal to see the list (and the state) of their invoices (pdf report), sales orders and quotations (web pages).
+ """,
+ 'author': 'Odoo SA',
+ 'website': 'https://www.odoo.com/',
+ 'depends': [
+ 'sale',
+ 'website_portal',
+ ],
+ 'data': [
+ 'views/templates.xml',
+ ],
+ 'demo': [
+ 'data/demo.xml'
+ ],
+ 'installable': True,
+}
diff --git a/addons/website_portal_sale/controllers/__init__.py b/addons/website_portal_sale/controllers/__init__.py
new file mode 100644
index 00000000000..8ee9bae18d9
--- /dev/null
+++ b/addons/website_portal_sale/controllers/__init__.py
@@ -0,0 +1 @@
+import main
diff --git a/addons/website_portal_sale/controllers/main.py b/addons/website_portal_sale/controllers/main.py
new file mode 100644
index 00000000000..c4374ad7fb6
--- /dev/null
+++ b/addons/website_portal_sale/controllers/main.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+import datetime
+
+from openerp import http
+from openerp.http import request
+
+from openerp.addons.website_portal.controllers.main import website_account
+
+
+class website_account(website_account):
+ @http.route(['/my/home'], type='http', auth="user", website=True)
+ def account(self, **kw):
+ """ Add sales documents to main account page """
+ response = super(website_account, self).account()
+ partner = request.env.user.partner_id
+
+ res_sale_order = request.env['sale.order']
+ res_invoices = request.env['account.invoice']
+ quotations = res_sale_order.search([
+ ('partner_id.id', '=', partner.id),
+ ('state', 'in', ['sent', 'cancel'])
+ ])
+ orders = res_sale_order.search([
+ ('partner_id.id', '=', partner.id),
+ ('state', 'in', ['progress', 'manual', 'shipping_except', 'invoice_except', 'done'])
+ ])
+ invoices = res_invoices.search([
+ ('partner_id.id', '=', partner.id),
+ ('state', 'in', ['open', 'paid', 'cancelled'])
+ ])
+
+ response.qcontext.update({
+ 'date': datetime.date.today().strftime('%Y-%m-%d'),
+ 'quotations': quotations,
+ 'orders': orders,
+ 'invoices': invoices,
+ })
+ return response
+
+ @http.route(['/my/orders/
'], type='http', auth="user", website=True)
+ def orders_followup(self, order=None):
+ partner = request.env['res.users'].browse(request.uid).partner_id
+ domain = [
+ ('partner_id.id', '=', partner.id),
+ ('state', 'not in', ['draft', 'cancel']),
+ ('id', '=', order)
+ ]
+ order = request.env['sale.order'].search(domain)
+ invoiced_lines = request.env['account.invoice.line'].search([('invoice_id', 'in', order.invoice_ids.ids)])
+ order_invoice_lines = {il.product_id.id: il.invoice_id for il in invoiced_lines}
+
+ return request.website.render("website_portal_sale.orders_followup", {
+ 'order': order.sudo(),
+ 'order_invoice_lines': order_invoice_lines,
+ })
diff --git a/addons/website_portal/data/demo.xml b/addons/website_portal_sale/data/demo.xml
similarity index 100%
rename from addons/website_portal/data/demo.xml
rename to addons/website_portal_sale/data/demo.xml
diff --git a/addons/website_portal_sale/static/src/less/website_portal_sale.less b/addons/website_portal_sale/static/src/less/website_portal_sale.less
new file mode 100644
index 00000000000..5e8b9302f10
--- /dev/null
+++ b/addons/website_portal_sale/static/src/less/website_portal_sale.less
@@ -0,0 +1,11 @@
+/* ---- My Orders page ---- */
+
+.orders_vertical_align {
+ display: flex;
+ align-items: center;
+}
+
+
+.orders_label_text_align {
+ vertical-align: 15%;
+}
\ No newline at end of file
diff --git a/addons/website_portal_sale/views/templates.xml b/addons/website_portal_sale/views/templates.xml
new file mode 100644
index 00000000000..b5123597507
--- /dev/null
+++ b/addons/website_portal_sale/views/templates.xml
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ There are currently no quotes for your account.
+
+
+
+
+
+ | Quotation # |
+ Valid Until |
+ |
+ Total |
+
+
+
+
+ |
+
+ |
+ |
+
+
+ Cancelled
+
+
+ Expired
+
+ |
+
+ |
+
+
+
+ | Show moreShow less |
+
+
+
+
+
+
+
+
+ There are currently no orders for your account.
+
+
+
+
+
+ | Sale Order # |
+ Confirmation Date |
+ |
+ Total |
+
+
+
+
+ |
+
+ |
+ |
+
+
+ Invoiced
+
+
+ Problem
+
+
+ Done
+
+ |
+ |
+
+
+
+ | Show moreShow less |
+
+
+
+
+
+
+
+
+ There are currently no invoices for your account.
+
+
+
+
+
+ | Invoice # |
+ Invoice Date |
+ Due Date |
+ |
+ Total |
+
+
+
+
+ |
+
+ |
+ |
+ |
+
+
+ Waiting for Payment
+
+
+ Paid
+
+
+ Cancelled
+
+ |
+ |
+
+
+
+ | Show moreShow less |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - My Account
+ -
+
+ Quotation
+
+
+ Order
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Quotation
+
+
+ Order
+
+
+
+
+
+
+
+
+
+ Date:
+
+
+
+
+ Invoicing Address
+
+
+
+
+
+ Invoices
+
+
+
+
+
+
+
+
+
+ Paid
+
+
+ Waiting
+
+
+
+
+
+
+
+
+ Shipping Address
+
+
+
+
+
+
+
+
+
+ Product
+
+
+ Unit Price
+
+
+ Quantity
+
+
+ Subtotal
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Untaxed Amount:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Access the complete Sale application
+
+
+
+
+
+
+ If you wish to access the complete application to manage your orders, you can follow
+ this link.
+
+
+
+
+
\ No newline at end of file
diff --git a/addons/website_sale/__openerp__.py b/addons/website_sale/__openerp__.py
index 186deb77698..093d873d7d8 100644
--- a/addons/website_sale/__openerp__.py
+++ b/addons/website_sale/__openerp__.py
@@ -10,7 +10,7 @@ OpenERP E-Commerce
""",
'author': 'OpenERP SA',
- 'depends': ['sale', 'website_payment', 'website_portal'],
+ 'depends': ['sale', 'website_payment', 'website_portal_sale'],
'data': [
'data/data.xml',
'data/web_planner_data.xml',
diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml
index f2584059024..e1d73cc438b 100644
--- a/addons/website_sale/views/templates.xml
+++ b/addons/website_sale/views/templates.xml
@@ -1435,7 +1435,7 @@
-
+
diff --git a/addons/website_sale_digital/views/website_sale_digital.xml b/addons/website_sale_digital/views/website_sale_digital.xml
index ec4e2d14067..ab8f4c4614a 100644
--- a/addons/website_sale_digital/views/website_sale_digital.xml
+++ b/addons/website_sale_digital/views/website_sale_digital.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/addons/website_sale_stock/views/website_sale_stock.xml b/addons/website_sale_stock/views/website_sale_stock.xml
index 89d6401a4f9..b624c72bf72 100644
--- a/addons/website_sale_stock/views/website_sale_stock.xml
+++ b/addons/website_sale_stock/views/website_sale_stock.xml
@@ -1,6 +1,6 @@
-
+