odoo-addon-contract 17.0.1.4.5.1__py3-none-any.whl → 18.0.2.0.0.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/contract/README.rst +14 -10
- odoo/addons/contract/__manifest__.py +3 -10
- odoo/addons/contract/controllers/main.py +1 -8
- odoo/addons/contract/data/contract_cron.xml +0 -2
- odoo/addons/contract/data/mail_template.xml +18 -17
- odoo/addons/contract/data/template_mail_notification.xml +1 -1
- odoo/addons/contract/i18n/contract.pot +141 -823
- odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py +90 -0
- odoo/addons/contract/models/__init__.py +2 -6
- odoo/addons/contract/models/account_move.py +0 -8
- odoo/addons/contract/models/account_move_line.py +14 -0
- odoo/addons/contract/models/contract.py +266 -308
- odoo/addons/contract/models/contract_line.py +34 -861
- odoo/addons/contract/models/{contract_recurrency_mixin.py → contract_recurring_mixin.py} +101 -82
- odoo/addons/contract/models/contract_tag.py +1 -3
- odoo/addons/contract/models/contract_template.py +81 -2
- odoo/addons/contract/models/contract_template_line.py +249 -3
- odoo/addons/contract/report/contract_views.xml +0 -2
- odoo/addons/contract/report/report_contract.xml +13 -13
- odoo/addons/contract/security/contract_security.xml +6 -15
- odoo/addons/contract/security/contract_tag.xml +1 -3
- odoo/addons/contract/security/ir.model.access.csv +0 -2
- odoo/addons/contract/static/description/index.html +24 -18
- odoo/addons/contract/static/src/js/contract_portal_tour.esm.js +6 -3
- odoo/addons/contract/tests/test_contract.py +42 -927
- odoo/addons/contract/tests/test_multicompany.py +5 -4
- odoo/addons/contract/tests/test_portal.py +6 -3
- odoo/addons/contract/views/contract.xml +91 -234
- odoo/addons/contract/views/contract_line.xml +48 -117
- odoo/addons/contract/views/contract_portal_templates.xml +181 -222
- odoo/addons/contract/views/contract_tag.xml +3 -3
- odoo/addons/contract/views/contract_template.xml +100 -72
- odoo/addons/contract/views/contract_template_line.xml +76 -5
- odoo/addons/contract/views/res_config_settings.xml +5 -6
- odoo/addons/contract/views/res_partner_view.xml +0 -5
- odoo/addons/contract/wizards/__init__.py +0 -2
- odoo/addons/contract/wizards/contract_manually_create_invoice.py +6 -6
- odoo/addons/contract/wizards/contract_manually_create_invoice.xml +2 -3
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/METADATA +17 -13
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/RECORD +42 -55
- odoo/addons/contract/data/contract_renew_cron.xml +0 -14
- odoo/addons/contract/models/abstract_contract.py +0 -82
- odoo/addons/contract/models/abstract_contract_line.py +0 -271
- odoo/addons/contract/models/contract_line_constraints.py +0 -429
- odoo/addons/contract/models/contract_terminate_reason.py +0 -14
- odoo/addons/contract/models/res_company.py +0 -15
- odoo/addons/contract/models/res_config_settings.py +0 -18
- odoo/addons/contract/security/contract_terminate_reason.xml +0 -23
- odoo/addons/contract/security/groups.xml +0 -9
- odoo/addons/contract/views/abstract_contract_line.xml +0 -117
- odoo/addons/contract/views/contract_terminate_reason.xml +0 -38
- odoo/addons/contract/wizards/contract_contract_terminate.py +0 -42
- odoo/addons/contract/wizards/contract_contract_terminate.xml +0 -33
- odoo/addons/contract/wizards/contract_line_wizard.py +0 -53
- odoo/addons/contract/wizards/contract_line_wizard.xml +0 -111
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/WHEEL +0 -0
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/top_level.txt +0 -0
|
@@ -6,92 +6,120 @@
|
|
|
6
6
|
<field name="model">contract.template</field>
|
|
7
7
|
<field name="arch" type="xml">
|
|
8
8
|
<form string="Contract Template">
|
|
9
|
-
<
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<group name="group_main_left">
|
|
14
|
-
<field name="contract_type" />
|
|
15
|
-
<field name="company_id" invisible="1" />
|
|
16
|
-
<field name="journal_id" />
|
|
17
|
-
<field name="pricelist_id" />
|
|
18
|
-
<field
|
|
19
|
-
name="company_id"
|
|
20
|
-
options="{'no_create': True}"
|
|
21
|
-
groups="base.group_multi_company"
|
|
22
|
-
/>
|
|
23
|
-
</group>
|
|
24
|
-
</group>
|
|
25
|
-
<group name="group_invoice_lines" string="Contract Template Lines">
|
|
26
|
-
<field
|
|
27
|
-
name="contract_line_ids"
|
|
28
|
-
widget="section_and_note_one2many"
|
|
29
|
-
nolabel="1"
|
|
30
|
-
colspan="2"
|
|
31
|
-
>
|
|
32
|
-
<tree>
|
|
33
|
-
<control>
|
|
34
|
-
<create string="Add a line" />
|
|
35
|
-
<create
|
|
36
|
-
string="Add a section"
|
|
37
|
-
context="{'default_display_type': 'line_section'}"
|
|
38
|
-
/>
|
|
39
|
-
<create
|
|
40
|
-
string="Add a note"
|
|
41
|
-
context="{'default_display_type': 'line_note'}"
|
|
42
|
-
/>
|
|
43
|
-
</control>
|
|
44
|
-
<field name="display_type" column_invisible="True" />
|
|
45
|
-
<field name="sequence" widget="handle" />
|
|
46
|
-
<field name="product_id" />
|
|
47
|
-
<field name="name" widget="section_and_note_text" />
|
|
48
|
-
<field name="quantity" />
|
|
49
|
-
<field name="uom_id" />
|
|
9
|
+
<sheet>
|
|
10
|
+
<div class="oe_title">
|
|
11
|
+
<label for="name" string="Contract Name" class="oe_edit_only" />
|
|
12
|
+
<h3>
|
|
50
13
|
<field
|
|
51
|
-
name="
|
|
52
|
-
|
|
14
|
+
name="name"
|
|
15
|
+
class="oe_inline"
|
|
16
|
+
placeholder="e.g. Contract XYZ"
|
|
53
17
|
/>
|
|
54
|
-
|
|
55
|
-
|
|
18
|
+
</h3>
|
|
19
|
+
</div>
|
|
20
|
+
<group name="group_main">
|
|
21
|
+
<group name="group_main_left">
|
|
22
|
+
<field name="contract_type" />
|
|
23
|
+
</group>
|
|
24
|
+
<group name="group_main_right">
|
|
25
|
+
<field name="journal_id" />
|
|
26
|
+
<field name="pricelist_id" />
|
|
56
27
|
<field
|
|
57
|
-
name="
|
|
58
|
-
|
|
28
|
+
name="company_id"
|
|
29
|
+
options="{'no_create': True}"
|
|
30
|
+
groups="base.group_multi_company"
|
|
59
31
|
/>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
32
|
+
</group>
|
|
33
|
+
</group>
|
|
34
|
+
<notebook>
|
|
35
|
+
<page string="Lines">
|
|
63
36
|
<field
|
|
64
|
-
name="
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
37
|
+
name="contract_line_ids"
|
|
38
|
+
widget="section_and_note_one2many"
|
|
39
|
+
nolabel="1"
|
|
40
|
+
colspan="2"
|
|
41
|
+
>
|
|
42
|
+
<list>
|
|
43
|
+
<control>
|
|
44
|
+
<create string="Add a line" />
|
|
45
|
+
<create
|
|
46
|
+
string="Add a section"
|
|
47
|
+
context="{'default_display_type': 'line_section'}"
|
|
48
|
+
/>
|
|
49
|
+
<create
|
|
50
|
+
string="Add a note"
|
|
51
|
+
context="{'default_display_type': 'line_note'}"
|
|
52
|
+
/>
|
|
53
|
+
</control>
|
|
54
|
+
<field
|
|
55
|
+
name="display_type"
|
|
56
|
+
column_invisible="True"
|
|
57
|
+
/>
|
|
58
|
+
<field name="sequence" widget="handle" />
|
|
59
|
+
<field name="product_id" />
|
|
60
|
+
<field name="name" widget="section_and_note_text" />
|
|
61
|
+
<field name="quantity" />
|
|
62
|
+
<field name="uom_id" />
|
|
63
|
+
<field
|
|
64
|
+
name="automatic_price"
|
|
65
|
+
column_invisible="parent.contract_type == 'purchase'"
|
|
66
|
+
/>
|
|
67
|
+
<field
|
|
68
|
+
name="price_unit"
|
|
69
|
+
readonly="automatic_price"
|
|
70
|
+
/>
|
|
71
|
+
<field
|
|
72
|
+
name="specific_price"
|
|
73
|
+
column_invisible="True"
|
|
74
|
+
/>
|
|
75
|
+
<field name="discount" />
|
|
76
|
+
<field name="price_subtotal" />
|
|
77
|
+
<field
|
|
78
|
+
name="recurring_rule_type"
|
|
79
|
+
column_invisible="True"
|
|
80
|
+
/>
|
|
81
|
+
<field
|
|
82
|
+
name="recurring_interval"
|
|
83
|
+
column_invisible="True"
|
|
84
|
+
/>
|
|
85
|
+
<field
|
|
86
|
+
name="recurring_invoicing_type"
|
|
87
|
+
column_invisible="True"
|
|
88
|
+
/>
|
|
89
|
+
</list>
|
|
90
|
+
</field>
|
|
91
|
+
</page>
|
|
92
|
+
<page name="info" string="Other Information">
|
|
93
|
+
<group
|
|
94
|
+
name="group_legend"
|
|
95
|
+
string="Legend (for the markers inside invoice lines description)"
|
|
96
|
+
>
|
|
97
|
+
<div colspan="2">
|
|
98
|
+
<p><strong>#START#</strong>: Start date of the
|
|
99
|
+
invoiced period
|
|
100
|
+
</p>
|
|
101
|
+
<p><strong
|
|
102
|
+
>#END#</strong>: End date of the invoiced period</p>
|
|
103
|
+
<p> <strong
|
|
104
|
+
>#INVOICEMONTHNAME#</strong>: Invoice month name of the invoiced period</p>
|
|
105
|
+
</div>
|
|
106
|
+
</group>
|
|
107
|
+
</page>
|
|
108
|
+
</notebook>
|
|
109
|
+
</sheet>
|
|
82
110
|
</form>
|
|
83
111
|
</field>
|
|
84
112
|
</record>
|
|
85
113
|
<!--TREE view-->
|
|
86
114
|
<record id="contract_template_tree_view" model="ir.ui.view">
|
|
87
|
-
<field name="name">contract.template
|
|
115
|
+
<field name="name">contract.template list view (in contract)</field>
|
|
88
116
|
<field name="model">contract.template</field>
|
|
89
117
|
<field name="arch" type="xml">
|
|
90
|
-
<
|
|
118
|
+
<list>
|
|
91
119
|
<field name="name" />
|
|
92
120
|
<field name="contract_type" />
|
|
93
121
|
<field name="pricelist_id" />
|
|
94
|
-
</
|
|
122
|
+
</list>
|
|
95
123
|
</field>
|
|
96
124
|
</record>
|
|
97
125
|
<!--SEARCH view-->
|
|
@@ -126,7 +154,7 @@
|
|
|
126
154
|
<record id="contract_template_action" model="ir.actions.act_window">
|
|
127
155
|
<field name="name">Contract Templates</field>
|
|
128
156
|
<field name="res_model">contract.template</field>
|
|
129
|
-
<field name="view_mode">
|
|
157
|
+
<field name="view_mode">list,form</field>
|
|
130
158
|
<field name="search_view_id" ref="contract_template_search_view" />
|
|
131
159
|
<field name="help" type="html">
|
|
132
160
|
<p class="oe_view_nocontent_create">
|
|
@@ -2,13 +2,84 @@
|
|
|
2
2
|
<odoo>
|
|
3
3
|
<!--FORM view-->
|
|
4
4
|
<record id="contract_template_line_form_view" model="ir.ui.view">
|
|
5
|
-
<field name="name">contract.template.line form view (in contract)</field>
|
|
6
5
|
<field name="model">contract.template.line</field>
|
|
7
|
-
<field name="inherit_id" ref="contract_abstract_contract_line_form_view" />
|
|
8
|
-
<field name="mode">primary</field>
|
|
9
6
|
<field name="arch" type="xml">
|
|
10
|
-
<form
|
|
11
|
-
<
|
|
7
|
+
<form>
|
|
8
|
+
<header invisible="display_type" />
|
|
9
|
+
<sheet>
|
|
10
|
+
<group>
|
|
11
|
+
<field
|
|
12
|
+
name="product_id"
|
|
13
|
+
required="display_type == 'product'"
|
|
14
|
+
invisible="display_type"
|
|
15
|
+
/>
|
|
16
|
+
</group>
|
|
17
|
+
<group invisible="display_type">
|
|
18
|
+
<group>
|
|
19
|
+
<field name="automatic_price" />
|
|
20
|
+
</group>
|
|
21
|
+
<group>
|
|
22
|
+
<field name="price_unit" readonly="automatic_price" />
|
|
23
|
+
</group>
|
|
24
|
+
</group>
|
|
25
|
+
<group invisible="display_type">
|
|
26
|
+
<group>
|
|
27
|
+
<label for="quantity" />
|
|
28
|
+
<div class="o_row" name="ordered_qty">
|
|
29
|
+
<field
|
|
30
|
+
context="{'partner_id':parent.partner_id, 'quantity':quantity, 'pricelist':parent.pricelist_id, 'uom':uom_id, 'uom_qty_change':True, 'company_id': parent.company_id}"
|
|
31
|
+
name="quantity"
|
|
32
|
+
/>
|
|
33
|
+
<field
|
|
34
|
+
name="uom_id"
|
|
35
|
+
force_save="1"
|
|
36
|
+
groups="uom.group_uom"
|
|
37
|
+
class="oe_no_button"
|
|
38
|
+
required="not display_type"
|
|
39
|
+
/>
|
|
40
|
+
</div>
|
|
41
|
+
<field name="discount" />
|
|
42
|
+
</group>
|
|
43
|
+
</group>
|
|
44
|
+
<label for="name" string="Description" invisible="display_type" />
|
|
45
|
+
<label
|
|
46
|
+
for="name"
|
|
47
|
+
string="Section"
|
|
48
|
+
invisible="display_type != 'line_section'"
|
|
49
|
+
/>
|
|
50
|
+
<label
|
|
51
|
+
for="name"
|
|
52
|
+
string="Note"
|
|
53
|
+
invisible="display_type != 'line_note'"
|
|
54
|
+
/>
|
|
55
|
+
<field name="name" nolabel="1" />
|
|
56
|
+
<group
|
|
57
|
+
name="note_invoicing_mode"
|
|
58
|
+
invisible="display_type != 'line_note'"
|
|
59
|
+
>
|
|
60
|
+
<field name="note_invoicing_mode" widget="radio" />
|
|
61
|
+
</group>
|
|
62
|
+
<notebook>
|
|
63
|
+
<page
|
|
64
|
+
string="Recurrence"
|
|
65
|
+
name="recurrence_info"
|
|
66
|
+
invisible="display_type == 'line_section' or (display_type == 'line_note' and note_invoicing_mode != 'custom')"
|
|
67
|
+
>
|
|
68
|
+
<group name="recurrence_info">
|
|
69
|
+
<group>
|
|
70
|
+
<label for="recurring_interval" />
|
|
71
|
+
<div class="o_row">
|
|
72
|
+
<field name="recurring_interval" />
|
|
73
|
+
<field name="recurring_rule_type" />
|
|
74
|
+
</div>
|
|
75
|
+
</group>
|
|
76
|
+
<group>
|
|
77
|
+
<field name="recurring_invoicing_type" />
|
|
78
|
+
</group>
|
|
79
|
+
</group>
|
|
80
|
+
</page>
|
|
81
|
+
</notebook>
|
|
82
|
+
</sheet>
|
|
12
83
|
</form>
|
|
13
84
|
</field>
|
|
14
85
|
</record>
|
|
@@ -7,12 +7,11 @@
|
|
|
7
7
|
<field name="inherit_id" ref="account.res_config_settings_view_form" />
|
|
8
8
|
<field name="arch" type="xml">
|
|
9
9
|
<xpath expr="//app[@name='account']" position="inside">
|
|
10
|
-
<block
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
</block>
|
|
10
|
+
<block
|
|
11
|
+
class="row mt16 o_settings_container"
|
|
12
|
+
title="Contract"
|
|
13
|
+
name="contract"
|
|
14
|
+
/>
|
|
16
15
|
</xpath>
|
|
17
16
|
</field>
|
|
18
17
|
</record>
|
|
@@ -7,11 +7,6 @@
|
|
|
7
7
|
<field name="model">res.partner</field>
|
|
8
8
|
<field type="xml" name="arch">
|
|
9
9
|
<xpath expr="//div[@name='button_box']" position="inside">
|
|
10
|
-
<field
|
|
11
|
-
name="customer_rank"
|
|
12
|
-
invisible="1"
|
|
13
|
-
groups="account.group_account_invoice"
|
|
14
|
-
/>
|
|
15
10
|
<button
|
|
16
11
|
name="act_show_contract"
|
|
17
12
|
type="object"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright 2019 ACSONE SA/NV
|
|
2
2
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
3
3
|
|
|
4
|
-
from odoo import
|
|
4
|
+
from odoo import api, fields, models
|
|
5
5
|
from odoo.exceptions import (
|
|
6
6
|
AccessDenied,
|
|
7
7
|
AccessError,
|
|
@@ -47,10 +47,10 @@ class ContractManuallyCreateInvoice(models.TransientModel):
|
|
|
47
47
|
self.ensure_one()
|
|
48
48
|
return {
|
|
49
49
|
"type": "ir.actions.act_window",
|
|
50
|
-
"name": _("Contracts to invoice"),
|
|
50
|
+
"name": self.env._("Contracts to invoice"),
|
|
51
51
|
"res_model": "contract.contract",
|
|
52
52
|
"domain": [("id", "in", self.contract_to_invoice_ids.ids)],
|
|
53
|
-
"view_mode": "
|
|
53
|
+
"view_mode": "list,form",
|
|
54
54
|
"context": self.env.context,
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -68,7 +68,7 @@ class ContractManuallyCreateInvoice(models.TransientModel):
|
|
|
68
68
|
ValidationError,
|
|
69
69
|
) as oe:
|
|
70
70
|
raise UserError(
|
|
71
|
-
_(
|
|
71
|
+
self.env._(
|
|
72
72
|
"Failed to process the contract %(name)s [id: %(id)s]:\n%(ue)s",
|
|
73
73
|
name=contract.name,
|
|
74
74
|
id=contract.id,
|
|
@@ -78,9 +78,9 @@ class ContractManuallyCreateInvoice(models.TransientModel):
|
|
|
78
78
|
|
|
79
79
|
return {
|
|
80
80
|
"type": "ir.actions.act_window",
|
|
81
|
-
"name": _("Invoices"),
|
|
81
|
+
"name": self.env._("Invoices"),
|
|
82
82
|
"res_model": "account.move",
|
|
83
83
|
"domain": [("id", "in", invoices.ids)],
|
|
84
|
-
"view_mode": "
|
|
84
|
+
"view_mode": "list,form",
|
|
85
85
|
"context": self.env.context,
|
|
86
86
|
}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
<group>
|
|
10
10
|
<group>
|
|
11
11
|
<field name="invoice_date" />
|
|
12
|
-
<field name="contract_type" invisible="1" />
|
|
13
12
|
</group>
|
|
14
13
|
<group>
|
|
15
14
|
<button
|
|
@@ -56,7 +55,7 @@
|
|
|
56
55
|
<field name="parent_id" ref="account.menu_finance_receivables" />
|
|
57
56
|
<field
|
|
58
57
|
name="groups_id"
|
|
59
|
-
eval="[(
|
|
58
|
+
eval="[Command.link(ref('account.group_account_manager'))]"
|
|
60
59
|
/>
|
|
61
60
|
<field name="action" ref="sale_contract_manually_create_invoice_act_window" />
|
|
62
61
|
<field name="sequence" eval="999" />
|
|
@@ -76,7 +75,7 @@
|
|
|
76
75
|
<field name="parent_id" ref="account.menu_finance_payables" />
|
|
77
76
|
<field
|
|
78
77
|
name="groups_id"
|
|
79
|
-
eval="[(
|
|
78
|
+
eval="[Command.link(ref('account.group_account_manager'))]"
|
|
80
79
|
/>
|
|
81
80
|
<field
|
|
82
81
|
name="action"
|
{odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/METADATA
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-contract
|
|
3
|
-
Version:
|
|
3
|
+
Version: 18.0.2.0.0.8
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
|
-
Requires-Dist: odoo
|
|
5
|
+
Requires-Dist: odoo==18.0.*
|
|
6
6
|
Summary: Recurring - Contracts Management
|
|
7
7
|
Home-page: https://github.com/OCA/contract
|
|
8
8
|
License: AGPL-3
|
|
@@ -10,10 +10,14 @@ Author: Tecnativa, ACSONE SA/NV, Odoo Community Association (OCA)
|
|
|
10
10
|
Author-email: support@odoo-community.org
|
|
11
11
|
Classifier: Programming Language :: Python
|
|
12
12
|
Classifier: Framework :: Odoo
|
|
13
|
-
Classifier: Framework :: Odoo ::
|
|
13
|
+
Classifier: Framework :: Odoo :: 18.0
|
|
14
14
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
15
15
|
Classifier: Development Status :: 5 - Production/Stable
|
|
16
16
|
|
|
17
|
+
.. image:: https://odoo-community.org/readme-banner-image
|
|
18
|
+
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
19
|
+
:alt: Odoo Community Association
|
|
20
|
+
|
|
17
21
|
================================
|
|
18
22
|
Recurring - Contracts Management
|
|
19
23
|
================================
|
|
@@ -23,23 +27,23 @@ Recurring - Contracts Management
|
|
|
23
27
|
!! This file is generated by oca-gen-addon-readme !!
|
|
24
28
|
!! changes will be overwritten. !!
|
|
25
29
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
26
|
-
!! source digest: sha256:
|
|
30
|
+
!! source digest: sha256:ccbb4509a485eac9301e998d560f6b7092c3998a0a88ab2cc153eb299dd91dc3
|
|
27
31
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
28
32
|
|
|
29
33
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
|
|
30
34
|
:target: https://odoo-community.org/page/development-status
|
|
31
35
|
:alt: Production/Stable
|
|
32
|
-
.. |badge2| image:: https://img.shields.io/badge/
|
|
36
|
+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
|
|
33
37
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
34
38
|
:alt: License: AGPL-3
|
|
35
39
|
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github
|
|
36
|
-
:target: https://github.com/OCA/contract/tree/
|
|
40
|
+
:target: https://github.com/OCA/contract/tree/18.0/contract
|
|
37
41
|
:alt: OCA/contract
|
|
38
42
|
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
|
39
|
-
:target: https://translation.odoo-community.org/projects/contract-
|
|
43
|
+
:target: https://translation.odoo-community.org/projects/contract-18-0/contract-18-0-contract
|
|
40
44
|
:alt: Translate me on Weblate
|
|
41
45
|
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
|
42
|
-
:target: https://runboat.odoo-community.org/builds?repo=OCA/contract&target_branch=
|
|
46
|
+
:target: https://runboat.odoo-community.org/builds?repo=OCA/contract&target_branch=18.0
|
|
43
47
|
:alt: Try me on Runboat
|
|
44
48
|
|
|
45
49
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|
@@ -110,9 +114,9 @@ Usage
|
|
|
110
114
|
|
|
111
115
|
|image2|
|
|
112
116
|
|
|
113
|
-
.. |image| image:: https://raw.githubusercontent.com/OCA/contract/
|
|
114
|
-
.. |image1| image:: https://raw.githubusercontent.com/OCA/contract/
|
|
115
|
-
.. |image2| image:: https://raw.githubusercontent.com/OCA/contract/
|
|
117
|
+
.. |image| image:: https://raw.githubusercontent.com/OCA/contract/18.0/contract/static/src/screenshots/portal-my.png
|
|
118
|
+
.. |image1| image:: https://raw.githubusercontent.com/OCA/contract/18.0/contract/static/src/screenshots/portal-list.png
|
|
119
|
+
.. |image2| image:: https://raw.githubusercontent.com/OCA/contract/18.0/contract/static/src/screenshots/portal-detail.png
|
|
116
120
|
|
|
117
121
|
Known issues / Roadmap
|
|
118
122
|
======================
|
|
@@ -126,7 +130,7 @@ Bug Tracker
|
|
|
126
130
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/contract/issues>`_.
|
|
127
131
|
In case of trouble, please check there if your issue has already been reported.
|
|
128
132
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
129
|
-
`feedback <https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%
|
|
133
|
+
`feedback <https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
130
134
|
|
|
131
135
|
Do not contact contributors directly about support or help with technical issues.
|
|
132
136
|
|
|
@@ -183,6 +187,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
|
183
187
|
mission is to support the collaborative development of Odoo features and
|
|
184
188
|
promote its widespread use.
|
|
185
189
|
|
|
186
|
-
This module is part of the `OCA/contract <https://github.com/OCA/contract/tree/
|
|
190
|
+
This module is part of the `OCA/contract <https://github.com/OCA/contract/tree/18.0/contract>`_ project on GitHub.
|
|
187
191
|
|
|
188
192
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
{odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/RECORD
RENAMED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
odoo/addons/contract/README.rst,sha256=
|
|
1
|
+
odoo/addons/contract/README.rst,sha256=thagZi8KD8HkWzN1cSIvzbTm78UjSIdasMAeV5zXxxs,6176
|
|
2
2
|
odoo/addons/contract/__init__.py,sha256=dnUeA_K1torbiMNF3tt2dtECdk-FkWm01DByr9MBMIA,69
|
|
3
|
-
odoo/addons/contract/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/contract/__manifest__.py,sha256=W23RHB_5MdXm9BxneUcdslHFTYjqI9v_6XkZZOVKY_w,1777
|
|
4
4
|
odoo/addons/contract/controllers/__init__.py,sha256=ZAYSY9pxyJjumL2QVLuxqtBzjLwKPiQsVXMBAWvNGGY,85
|
|
5
|
-
odoo/addons/contract/controllers/main.py,sha256=
|
|
6
|
-
odoo/addons/contract/data/contract_cron.xml,sha256=
|
|
7
|
-
odoo/addons/contract/data/contract_renew_cron.xml,sha256=6BHxlQ4ovPm9N2LEaVdnzvgDdzJ3yGx8mHNMhiqzH5Q,609
|
|
5
|
+
odoo/addons/contract/controllers/main.py,sha256=5C-WzZ6zPWeea-Kb0U01a1yNCtcn29iZeoc9hjkODa4,3676
|
|
6
|
+
odoo/addons/contract/data/contract_cron.xml,sha256=yYTdn4fmIU5zsfFEgx-H_55M9nwc0WfJ3Q6ufxQKPt8,549
|
|
8
7
|
odoo/addons/contract/data/ir_ui_menu.xml,sha256=_T4cGgdGBbbxL6n4jIHaA7NbAZOdOxuR0D2f26ZXRdc,208
|
|
9
8
|
odoo/addons/contract/data/mail_message_subtype.xml,sha256=4w1uYand5eXFUahiF5kbcQ-8f5G49xapxAijEu1I8Kc,562
|
|
10
|
-
odoo/addons/contract/data/mail_template.xml,sha256=
|
|
11
|
-
odoo/addons/contract/data/template_mail_notification.xml,sha256=
|
|
9
|
+
odoo/addons/contract/data/mail_template.xml,sha256=hDQz63DGvBrxroQ5kOa8881HH7DNu7415H3RPNoqu9A,5704
|
|
10
|
+
odoo/addons/contract/data/template_mail_notification.xml,sha256=WljE1rCVZ7C5b_TwzucElcwosx-p4DSH5_KlM7oxZcU,1356
|
|
12
11
|
odoo/addons/contract/i18n/am.po,sha256=mFT6iv6wg5_oKMU2QLJ9tCk4VVjlGBlsbmne_N0KpIM,97921
|
|
13
12
|
odoo/addons/contract/i18n/ar.po,sha256=QCwpZtQadOvIw3kMS6JnvaYS0OkbBQuFgEDhxrUN2PE,98037
|
|
14
13
|
odoo/addons/contract/i18n/bg.po,sha256=4YY4HIuqNe-y-c5ka6d1fIn3qYXsmqyBaljHsi6k124,98129
|
|
15
14
|
odoo/addons/contract/i18n/bs.po,sha256=1GtsoEQRq-Jzo3ckWyHrUeenk0BSXXKmf3yiHWfccBA,97898
|
|
16
15
|
odoo/addons/contract/i18n/ca.po,sha256=9rjLx0QElpLgf5EVb-ka8Gfs7iM7lExfx7iVhx8CPgo,138914
|
|
17
16
|
odoo/addons/contract/i18n/ca_ES.po,sha256=JXpJmnrjBOvZT6fzU8HSyeQ-6KUXPebSZiFNdecv0ds,97553
|
|
18
|
-
odoo/addons/contract/i18n/contract.pot,sha256=
|
|
17
|
+
odoo/addons/contract/i18n/contract.pot,sha256=CgnikytbPiEAiFsQZyXbjgRAtGj55uycTpUSZcAGSZI,64952
|
|
19
18
|
odoo/addons/contract/i18n/cs.po,sha256=zA0YCIB_ijtwsBLMdgXBlQSLRmishMY55evFRuBdMlI,97923
|
|
20
19
|
odoo/addons/contract/i18n/da.po,sha256=PH-o3bZSZRpR42lNkkjSRnDlsv3jR1LkiQpJAWrzmZk,97903
|
|
21
20
|
odoo/addons/contract/i18n/de.po,sha256=vfYE5m9Omq2xGRevski0JPYi4p9zAIpTY-vsPn_WlVA,126200
|
|
@@ -80,65 +79,53 @@ odoo/addons/contract/i18n/vi.po,sha256=Vs-s9e9fzh7ZWhi6uc5VjvL2II3MY-mlQjq33dOA5
|
|
|
80
79
|
odoo/addons/contract/i18n/vi_VN.po,sha256=CatXVum3RMfvd0RXm_RcufvZsG-8D7_aYk-hAjc5X_E,97964
|
|
81
80
|
odoo/addons/contract/i18n/zh_CN.po,sha256=-g-tMJNcx3AbhEAmcMuCN-RqFxNCvHyAY9XQI3R4dpg,113534
|
|
82
81
|
odoo/addons/contract/i18n/zh_TW.po,sha256=9s2N6bsniyO1iIbd6PtXWnQIflc6N7zEt4PmsUtv_5o,98214
|
|
83
|
-
odoo/addons/contract/
|
|
84
|
-
odoo/addons/contract/models/
|
|
85
|
-
odoo/addons/contract/models/
|
|
86
|
-
odoo/addons/contract/models/
|
|
87
|
-
odoo/addons/contract/models/contract.py,sha256=
|
|
88
|
-
odoo/addons/contract/models/contract_line.py,sha256=
|
|
89
|
-
odoo/addons/contract/models/contract_line_constraints.py,sha256=b2ickNjNcRDsihwfjl0JxNk-_n9_2WEPHL_JdJPXwvM,11126
|
|
82
|
+
odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py,sha256=Om1ulAehFlwM238HFL9AplWKVXTf9BE6gp1YK-Yz9Ok,3111
|
|
83
|
+
odoo/addons/contract/models/__init__.py,sha256=n3UpKXb_Oi-2ebHho6pWrd6kw_cMK6GG1E3fl7ey_zc,372
|
|
84
|
+
odoo/addons/contract/models/account_move.py,sha256=QdSF_E5cifIgOiPiZ1PKXxuA5y9y4PC-kkUurDdGKo4,387
|
|
85
|
+
odoo/addons/contract/models/account_move_line.py,sha256=X-GJ66Q_6BySwImRLMpFxgIqfhsOaEUb6xLSQveB0uc,396
|
|
86
|
+
odoo/addons/contract/models/contract.py,sha256=SGGo_MA4X-8-5gynwT3aEyexvkVRLWVVxMiKl_lc1lw,25476
|
|
87
|
+
odoo/addons/contract/models/contract_line.py,sha256=A-S5rrys_Kh1xeUguzxdifBZHIWBvFrZ9Tq-6PCpAFk,10132
|
|
90
88
|
odoo/addons/contract/models/contract_modification.py,sha256=d0tv2Zn6_WrR633pmzwAavzC2I3sLYmGokOKtMn7AYY,1147
|
|
91
|
-
odoo/addons/contract/models/
|
|
92
|
-
odoo/addons/contract/models/contract_tag.py,sha256=
|
|
93
|
-
odoo/addons/contract/models/contract_template.py,sha256=
|
|
94
|
-
odoo/addons/contract/models/contract_template_line.py,sha256=
|
|
95
|
-
odoo/addons/contract/models/contract_terminate_reason.py,sha256=WVwwZrGplsKZDtk_Usg4KeIz5u8o8gt1d08gSJnFWBc,418
|
|
96
|
-
odoo/addons/contract/models/res_company.py,sha256=vtQTJgcsS-AD1X7nSJ7xSFIlHHeXkxTcKgPUp98nei8,508
|
|
97
|
-
odoo/addons/contract/models/res_config_settings.py,sha256=fXi8lDSGWWZqPFbRurbihXjEAbOOKLYcxN_xSzsZCDI,682
|
|
89
|
+
odoo/addons/contract/models/contract_recurring_mixin.py,sha256=KE4sMLd241v1RgTtdPGHbak-RD2sJmSLYsKNPWaQ8Mg,9278
|
|
90
|
+
odoo/addons/contract/models/contract_tag.py,sha256=h5Up3F6ijIhQbYSB6xCqZVVUtyLYxfj4MsAIKv2Q5-Q,434
|
|
91
|
+
odoo/addons/contract/models/contract_template.py,sha256=DuodrlWnoKy2jPU3fVQ7z3PGXYRTkOrL5Ulbiv7FbAs,3268
|
|
92
|
+
odoo/addons/contract/models/contract_template_line.py,sha256=X4FakEWyhWe3GaNDvedb6Z8wUeNUWb0Y5w0oV2jtPa8,9145
|
|
98
93
|
odoo/addons/contract/models/res_partner.py,sha256=qH2zSQZAjUE1Cb9GSC89SUpQab7_SvOPTCTh5ghkHX4,2651
|
|
99
94
|
odoo/addons/contract/readme/CONFIGURE.md,sha256=k6bzmZn2MY5pmFRj9OZq5GH5MwheH9wJwC3unMZGv0M,223
|
|
100
95
|
odoo/addons/contract/readme/CONTRIBUTORS.md,sha256=s68TU6AKQzW9bx6qflxjQa635SBQGzfnL-R3FRLuduQ,620
|
|
101
96
|
odoo/addons/contract/readme/DESCRIPTION.md,sha256=yCmst5XSqn6r_ynzIexIrl318XQYn3YOkdrXmJ1Ggko,219
|
|
102
97
|
odoo/addons/contract/readme/ROADMAP.md,sha256=KhCwdohrdZdH93FV6vKtp-Xj7LXS8zs6qkcH7TPnXIg,101
|
|
103
98
|
odoo/addons/contract/readme/USAGE.md,sha256=FdeQqABXdC7JyIGdfN1YhaXDrs6LBNiDrqTrDrLsYg4,1852
|
|
104
|
-
odoo/addons/contract/report/contract_views.xml,sha256=
|
|
105
|
-
odoo/addons/contract/report/report_contract.xml,sha256=
|
|
106
|
-
odoo/addons/contract/security/contract_security.xml,sha256=
|
|
107
|
-
odoo/addons/contract/security/contract_tag.xml,sha256=
|
|
108
|
-
odoo/addons/contract/security/
|
|
109
|
-
odoo/addons/contract/security/groups.xml,sha256=kv3a7HwzgFu5bHzaLoPDOkCkFnlJblkfJBHlE4HWKdg,390
|
|
110
|
-
odoo/addons/contract/security/ir.model.access.csv,sha256=PCzdDvEoQpqozFHSk1uU_JyREUP2U2gVV1lWeQm17Z8,1836
|
|
99
|
+
odoo/addons/contract/report/contract_views.xml,sha256=_0A6xQ8-EMedr7_zXrr0FKg2nOKqMQnCL3xaUNaATC0,543
|
|
100
|
+
odoo/addons/contract/report/report_contract.xml,sha256=FT38LeaKsjOd13KniWpSV2I99ys8ahta8dapaVDbPOk,10007
|
|
101
|
+
odoo/addons/contract/security/contract_security.xml,sha256=HZuxPZMX-EMf8QtXdwbnLaWudeocR-qOWywwk-3g510,2415
|
|
102
|
+
odoo/addons/contract/security/contract_tag.xml,sha256=cetorNv2M6tHKHcnfwUeX85EZyT3tpoBLF8W-XZ7sK8,890
|
|
103
|
+
odoo/addons/contract/security/ir.model.access.csv,sha256=icelaOGF35WgUrxB2l18IVfcUNlPuJnzy4LG676_zt0,1569
|
|
111
104
|
odoo/addons/contract/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
112
|
-
odoo/addons/contract/static/description/index.html,sha256=
|
|
105
|
+
odoo/addons/contract/static/description/index.html,sha256=wNkFPkiUzlTXPOYkVhJ6vRvWyyWgvSFzi5QHOlDO8wc,17445
|
|
113
106
|
odoo/addons/contract/static/src/img/contract_icon.svg,sha256=2IFs70Oy9WtE9of2SO4Vj08mwzcw-I5s_LL3UvtKlus,9643
|
|
114
|
-
odoo/addons/contract/static/src/js/contract_portal_tour.esm.js,sha256=
|
|
107
|
+
odoo/addons/contract/static/src/js/contract_portal_tour.esm.js,sha256=7nHoM-4IiNQVbeCrU1RqjzPVsULNiRIPTFdCjqMY4QQ,605
|
|
115
108
|
odoo/addons/contract/static/src/screenshots/portal-detail.png,sha256=8pMCU4nqwnSM-rbWZd3iJxXdYLBiYzuWNvT_NKslcoo,113399
|
|
116
109
|
odoo/addons/contract/static/src/screenshots/portal-list.png,sha256=gWSW4rlncFZemG9i0xvyqGHLxoJ6Ew9RhXw4EXQqTZY,24905
|
|
117
110
|
odoo/addons/contract/static/src/screenshots/portal-my.png,sha256=YrtvTDjoc839Eka5zSZ8FQhtzoMEeW4FrXGrYAwAkS4,22985
|
|
118
111
|
odoo/addons/contract/static/src/scss/frontend.scss,sha256=LilfXNOwW8D2eXOMY0ZgrEv8hU5Vn1u9inCEIJp8D0g,1863
|
|
119
112
|
odoo/addons/contract/tests/__init__.py,sha256=iive8lH1QtzKmbhBBzzU4AQgSAgWxdJF1mMLEFOiA4c,138
|
|
120
|
-
odoo/addons/contract/tests/test_contract.py,sha256=
|
|
113
|
+
odoo/addons/contract/tests/test_contract.py,sha256=uHQC0lI7tqFbkucsXOgDTBHBrj6XGiY2AJ2OEvDeXh8,65146
|
|
121
114
|
odoo/addons/contract/tests/test_contract_manually_create_invoice.py,sha256=GfA-hDaI4mSztE-2zQgFE_bQM-nsKzFhQRybi8EGeLo,2541
|
|
122
|
-
odoo/addons/contract/tests/test_multicompany.py,sha256=
|
|
123
|
-
odoo/addons/contract/tests/test_portal.py,sha256=
|
|
124
|
-
odoo/addons/contract/views/
|
|
125
|
-
odoo/addons/contract/views/
|
|
126
|
-
odoo/addons/contract/views/
|
|
127
|
-
odoo/addons/contract/views/
|
|
128
|
-
odoo/addons/contract/views/
|
|
129
|
-
odoo/addons/contract/views/
|
|
130
|
-
odoo/addons/contract/views/
|
|
131
|
-
odoo/addons/contract/views/
|
|
132
|
-
odoo/addons/contract/
|
|
133
|
-
odoo/addons/contract/
|
|
134
|
-
odoo/addons/contract/wizards/
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
odoo/addons/contract/wizards/contract_manually_create_invoice.py,sha256=Q1BwQ9Vh4YdEiPlm6DS7iRcWauyEn9eoEY5S3MtbpgA,2962
|
|
140
|
-
odoo/addons/contract/wizards/contract_manually_create_invoice.xml,sha256=EzgPmH5sJZcLjlUwB29tYw9EuyXaZC53xt9dDy9LopM,3791
|
|
141
|
-
odoo_addon_contract-17.0.1.4.5.1.dist-info/METADATA,sha256=F8wS5LN4N8kovm0BLD6sYEhQezZYJz-KBcnqFze1Vsw,6593
|
|
142
|
-
odoo_addon_contract-17.0.1.4.5.1.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
|
143
|
-
odoo_addon_contract-17.0.1.4.5.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
144
|
-
odoo_addon_contract-17.0.1.4.5.1.dist-info/RECORD,,
|
|
115
|
+
odoo/addons/contract/tests/test_multicompany.py,sha256=0CPfv0-JSFsXRInazugzzYrogSZFa6lrdNwuBLbaTX8,4552
|
|
116
|
+
odoo/addons/contract/tests/test_portal.py,sha256=pyhXyzB5o-jdzJW6x10tF7pRuIUQWLQXTSUsB7nUB2k,1298
|
|
117
|
+
odoo/addons/contract/views/contract.xml,sha256=PCSc7PBdAFHVQCkjLb8buZDaQEB1WIKpXoKizZrCq-0,27211
|
|
118
|
+
odoo/addons/contract/views/contract_line.xml,sha256=m0VdiKC0FhB8dfue7fTdZs9qW1BArOka_mWDT762Xcc,9573
|
|
119
|
+
odoo/addons/contract/views/contract_portal_templates.xml,sha256=3kvWLvjFWP4_BsJDiHGWb4JhO6svzD0EaF5HoONX6oU,16972
|
|
120
|
+
odoo/addons/contract/views/contract_tag.xml,sha256=rgaNYk1wJxX9Jm0W0qOYEUJSBUdD3emL5_RuQYJtUI8,1678
|
|
121
|
+
odoo/addons/contract/views/contract_template.xml,sha256=3AT-3amt3J3qePo9cYXDusPlRi46yQUY73FAerURxrE,7864
|
|
122
|
+
odoo/addons/contract/views/contract_template_line.xml,sha256=ZJHlC7crsjjp0qm4MzWMItCKhR8MKdP9hexyJhLr5Pc,3929
|
|
123
|
+
odoo/addons/contract/views/res_config_settings.xml,sha256=rgDB5ZpsyK666co9Ptkw1FkRCU7y41ah6_sueW0HiPQ,694
|
|
124
|
+
odoo/addons/contract/views/res_partner_view.xml,sha256=v7RAxXm0japPQeOsf2zLgieZHF8pA2sP0B_wFU2ito0,2792
|
|
125
|
+
odoo/addons/contract/wizards/__init__.py,sha256=ZSirPz2XSS6FGPESnPJHqIJamHdHrdL7j2oYu_kglTs,47
|
|
126
|
+
odoo/addons/contract/wizards/contract_manually_create_invoice.py,sha256=LIOStLcchRqOeRbHCPnEmrEj1c9_8BSW6HixsBmU57Y,2986
|
|
127
|
+
odoo/addons/contract/wizards/contract_manually_create_invoice.xml,sha256=JPgtH9mDP74PhTgsJ0lZ1zmn8P3WWRRKp9QUWn38W-4,3730
|
|
128
|
+
odoo_addon_contract-18.0.2.0.0.8.dist-info/METADATA,sha256=gMp8G_df21aeBh7s_a2PUtBQb1HFFBmCgG9wIhUeRFQ,6750
|
|
129
|
+
odoo_addon_contract-18.0.2.0.0.8.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
|
130
|
+
odoo_addon_contract-18.0.2.0.0.8.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
131
|
+
odoo_addon_contract-18.0.2.0.0.8.dist-info/RECORD,,
|