mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[10.0][ADD] Add website_portal_contract (#62)
* [ADD] Add website_portal_contract * [ADD] website_portal_contract: Add url test, usage video. * [FIX] website_portal_contract: Fix controller test. * [FIX] website_portal_contract: Change all tests to HttpCase.
This commit is contained in:
74
website_portal_contract/controllers/main.py
Normal file
74
website_portal_contract/controllers/main.py
Normal file
@@ -0,0 +1,74 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2017 LasLabs Inc.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
from odoo.addons.website_portal_sale.controllers.main import website_account
|
||||
|
||||
|
||||
class WebsiteAccount(website_account):
|
||||
|
||||
@http.route()
|
||||
def account(self, **kw):
|
||||
response = super(WebsiteAccount, self).account(**kw)
|
||||
contracts = request.env['account.analytic.account']._search_contracts()
|
||||
response.qcontext.update({
|
||||
'contract_count': len(contracts),
|
||||
})
|
||||
return response
|
||||
|
||||
|
||||
class WebsiteContract(http.Controller):
|
||||
|
||||
@http.route(
|
||||
['/my/contracts'],
|
||||
type='http',
|
||||
auth='user',
|
||||
website=True,
|
||||
)
|
||||
def portal_my_contracts(self):
|
||||
account_mod = request.env['account.analytic.account']
|
||||
values = {
|
||||
'user': request.env.user,
|
||||
'contracts': account_mod._search_contracts(),
|
||||
}
|
||||
return request.render(
|
||||
'website_portal_contract.portal_my_contracts',
|
||||
values,
|
||||
)
|
||||
|
||||
@http.route(
|
||||
['/contract/<model("account.analytic.account"):contract>'],
|
||||
type='http',
|
||||
auth='user',
|
||||
website=True
|
||||
)
|
||||
def portal_contract(self, contract):
|
||||
action = request.env.ref(
|
||||
'contract.action_account_analytic_overdue_all'
|
||||
)
|
||||
values = {
|
||||
'user': request.env.user,
|
||||
'contract': contract,
|
||||
'action': action.id,
|
||||
}
|
||||
return request.render(
|
||||
'website_portal_contract.website_contract',
|
||||
values,
|
||||
)
|
||||
|
||||
@http.route(
|
||||
["/contract/template/"
|
||||
"<model('account.analytic.contract.template'):contract>"],
|
||||
type='http',
|
||||
auth='user',
|
||||
website=True,
|
||||
)
|
||||
def template_view(self, contract, **kwargs):
|
||||
values = {'template': contract}
|
||||
return request.render(
|
||||
'website_portal_contract.website_contract_template',
|
||||
values,
|
||||
)
|
||||
Reference in New Issue
Block a user