Skip to content

Commit af86979

Browse files
committed
[IMP] academic_sale_subscription: add setting for subscription invoices
closes #245 Signed-off-by: matiasperalta1 <[email protected]>
1 parent 373bf86 commit af86979

File tree

5 files changed

+41
-1
lines changed

5 files changed

+41
-1
lines changed

Diff for: academic_sale_subscription/__manifest__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
33
{
44
"name": "Academic Sale Subscription",
5-
"version": "18.0.1.0.0",
5+
"version": "18.0.1.1.0",
66
"sequence": 14,
77
"summary": "",
88
"author": "ADHOC SA",
@@ -17,6 +17,7 @@
1717
"wizard/academic_order_wizard_views.xml",
1818
"views/res_partner_views.xml",
1919
"views/sale_subscription_views.xml",
20+
"views/res_config_settings_views.xml",
2021
],
2122
"installable": True,
2223
"auto_install": False,

Diff for: academic_sale_subscription/models/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
from . import res_partner
66
from . import sale_order_line
77
from . import academic_group
8+
from . import res_config_settings
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from odoo import fields, models
2+
3+
4+
class ResConfigSettings(models.TransientModel):
5+
_inherit = "res.config.settings"
6+
7+
enable_zero_price_subscription_invoice = fields.Boolean(
8+
config_parameter="academic_sale_subscription.enable_zero_price_subscription_invoice",
9+
string="Invoice subscriptions with zero total",
10+
)

Diff for: academic_sale_subscription/models/sale_order.py

+11
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,14 @@ def action_show_duplicate_subscriptions(self):
121121
"domain": self.get_duplicate_subscription_ids(),
122122
"context": "{'search_default_customer': 1}",
123123
}
124+
125+
def _invoice_is_considered_free(self, invoiceable_lines):
126+
is_free, is_exception = super()._invoice_is_considered_free(invoiceable_lines)
127+
param_enabled = (
128+
self.env["ir.config_parameter"]
129+
.sudo()
130+
.get_param("academic_sale_subscription.enable_zero_price_subscription_invoice")
131+
)
132+
if is_free and param_enabled:
133+
is_free = False
134+
return is_free, is_exception
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
<record id="res_config_settings_view_form_inherit" model="ir.ui.view">
4+
<field name="name">res.config.settings.view.form.inherit</field>
5+
<field name="model">res.config.settings</field>
6+
<field name="inherit_id" ref="sale_subscription.res_config_settings_view_form"/>
7+
<field name="arch" type="xml">
8+
<setting id="invoice_consolidation" position="after">
9+
<setting
10+
id="enable_zero_price_subscription_invoice"
11+
help="Enable this to allow invoicing subscription lines even if their total is zero.">
12+
<field name="enable_zero_price_subscription_invoice"/>
13+
</setting>
14+
</setting>
15+
</field>
16+
</record>
17+
</odoo>

0 commit comments

Comments
 (0)