Browse Source

July 18: [FIX] Bug Fixed 'sales_contract_and_recurring_invoices'

pull/331/head
RisvanaCybro 9 months ago
parent
commit
0caadf07e7
  1. 32
      sales_contract_and_recurring_invoices/controllers/sales_contract_and_recurring_invoices.py
  2. 4
      sales_contract_and_recurring_invoices/models/subscription_contracts.py
  3. 5
      sales_contract_and_recurring_invoices/security/ir.model.access.csv
  4. 2
      sales_contract_and_recurring_invoices/views/subscription_contracts_templates.xml

32
sales_contract_and_recurring_invoices/controllers/sales_contract_and_recurring_invoices.py

@ -26,29 +26,47 @@ from odoo.addons.portal.controllers.portal import CustomerPortal
class PortalAccount(CustomerPortal): class PortalAccount(CustomerPortal):
""" Super customer portal and get count of contracts """ """ Super customer portal and get count of contracts """
def _prepare_home_portal_values(self, counters): def _prepare_home_portal_values(self, counters):
""" Prepares values for the home portal """ """ Prepares values for the home portal """
values = super()._prepare_home_portal_values(counters) values = super()._prepare_home_portal_values(counters)
partner = request.env.user.partner_id.id
contract_count = request.env['subscription.contracts'].search([ user = request.env.user
('partner_id', '=', partner)]) contract_model = request.env['subscription.contracts']
is_admin = user.has_group('base.group_system')
domain = []
if not is_admin:
partner_id = user.partner_id.id
domain = [('partner_id', '=', partner_id)]
contract_count = contract_model.search(domain)
values['contract_count'] = len(contract_count) values['contract_count'] = len(contract_count)
return values return values
class ContractsController(http.Controller): class ContractsController(http.Controller):
""" Sale contract in customer portal controller """ """ Sale contract in customer portal controller """
@http.route(['/my/contracts'], type='http', auth='user', csrf=False, @http.route(['/my/contracts'], type='http', auth='user', csrf=False,
website=True) website=True)
def portal_my_quotes(self): def portal_my_quotes(self):
""" Displays Contracts in portal """ """ Displays Contracts in portal """
partner = request.env.user.partner_id.id user = request.env.user
partner_id = user.partner_id.id
is_admin = user.has_group('base.group_system')
domain = []
if not is_admin:
domain = [('partner_id', '=', partner_id)]
records = request.env['subscription.contracts'].search(domain)
values = { values = {
'records': request.env['subscription.contracts'].search( 'records': records,
[('partner_id', '=', partner)]),
} }
return request.render( return request.render(
'sales_contract_and_recurring_invoices.tmp_contract_details', values) 'sales_contract_and_recurring_invoices.tmp_contract_details',
values)
@http.route(['/contracts/<int:contract_id>/'], type='http', auth='user', @http.route(['/contracts/<int:contract_id>/'], type='http', auth='user',
csrf=False, website=True) csrf=False, website=True)

4
sales_contract_and_recurring_invoices/models/subscription_contracts.py

@ -238,11 +238,15 @@ class SubscriptionContracts(models.Model):
@api.depends('current_reference') @api.depends('current_reference')
def _compute_sale_order_lines(self): def _compute_sale_order_lines(self):
""" Get sale order line of contract lines """ """ Get sale order line of contract lines """
print("sale order line compute",self.current_reference)
self.current_reference = self.id self.current_reference = self.id
product_id = self.contract_line_ids.mapped('product_id') product_id = self.contract_line_ids.mapped('product_id')
sale_order_line = self.env['sale.order.line'].search([ sale_order_line = self.env['sale.order.line'].search([
('order_partner_id', '=', self.partner_id.id) ('order_partner_id', '=', self.partner_id.id)
]) ])
print(sale_order_line)
print("products",product_id)
for rec in sale_order_line: for rec in sale_order_line:
if self.date_start <= datetime.datetime.date( if self.date_start <= datetime.datetime.date(
rec.create_date) <= self.date_end: rec.create_date) <= self.date_end:

5
sales_contract_and_recurring_invoices/security/ir.model.access.csv

@ -1,3 +1,8 @@
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
access_subscription_contracts_user,access.subscription.contracts.user,model_subscription_contracts,base.group_user,1,1,1,1 access_subscription_contracts_user,access.subscription.contracts.user,model_subscription_contracts,base.group_user,1,1,1,1
access_subscription_contracts_portal,access.subscription.contracts.portal,model_subscription_contracts,base.group_portal,1,1,0,0
access_subscription_contracts_line_user,access.subscription.contracts.user.line,model_subscription_contracts_line,base.group_user,1,1,1,1 access_subscription_contracts_line_user,access.subscription.contracts.user.line,model_subscription_contracts_line,base.group_user,1,1,1,1
access_subscription_contracts_line_portal,access.subscription.contracts.line.portal,model_subscription_contracts_line,base.group_portal,1,1,0,0
access_product_product_portal,access.product.product.portal,product.model_product_product,base.group_portal,1,1,0,0
access_product_template_portal,access.product.template.portal,product.model_product_template,base.group_portal,1,1,0,0
access_uom_uom_portal,access.uom.uom.portal,product.model_uom_uom,base.group_portal,1,1,0,0

1 id name model_id/id group_id/id perm_read perm_write perm_create perm_unlink
2 access_subscription_contracts_user access.subscription.contracts.user model_subscription_contracts base.group_user 1 1 1 1
3 access_subscription_contracts_portal access.subscription.contracts.portal model_subscription_contracts base.group_portal 1 1 0 0
4 access_subscription_contracts_line_user access.subscription.contracts.user.line model_subscription_contracts_line base.group_user 1 1 1 1
5 access_subscription_contracts_line_portal access.subscription.contracts.line.portal model_subscription_contracts_line base.group_portal 1 1 0 0
6 access_product_product_portal access.product.product.portal product.model_product_product base.group_portal 1 1 0 0
7 access_product_template_portal access.product.template.portal product.model_product_template base.group_portal 1 1 0 0
8 access_uom_uom_portal access.uom.uom.portal product.model_uom_uom base.group_portal 1 1 0 0

2
sales_contract_and_recurring_invoices/views/subscription_contracts_templates.xml

@ -76,7 +76,7 @@
<!-- Template for Subscription contract details --> <!-- Template for Subscription contract details -->
<template id="contract_details" name="Subscription contract details"> <template id="contract_details" name="Subscription contract details">
<t t-call="website.layout"> <t t-call="website.layout">
<div class="container"> <div class="container" style="margin-bottom: 50px; width: 70%">
<t t-call="web.external_layout"> <t t-call="web.external_layout">
<div class="page"> <div class="page">
<h2> <h2>

Loading…
Cancel
Save