odoo-addon-contract 17.0.1.4.3.2__py3-none-any.whl → 18.0.2.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.
Files changed (130) hide show
  1. odoo/addons/contract/README.rst +14 -10
  2. odoo/addons/contract/__manifest__.py +3 -10
  3. odoo/addons/contract/controllers/main.py +1 -8
  4. odoo/addons/contract/data/contract_cron.xml +0 -2
  5. odoo/addons/contract/data/mail_template.xml +18 -17
  6. odoo/addons/contract/data/template_mail_notification.xml +1 -1
  7. odoo/addons/contract/i18n/am.po +146 -821
  8. odoo/addons/contract/i18n/ar.po +146 -821
  9. odoo/addons/contract/i18n/bg.po +146 -821
  10. odoo/addons/contract/i18n/bs.po +146 -821
  11. odoo/addons/contract/i18n/ca.po +835 -900
  12. odoo/addons/contract/i18n/ca_ES.po +146 -821
  13. odoo/addons/contract/i18n/contract.pot +145 -818
  14. odoo/addons/contract/i18n/cs.po +146 -821
  15. odoo/addons/contract/i18n/da.po +146 -821
  16. odoo/addons/contract/i18n/de.po +712 -953
  17. odoo/addons/contract/i18n/el_GR.po +146 -821
  18. odoo/addons/contract/i18n/en_GB.po +146 -821
  19. odoo/addons/contract/i18n/es.po +714 -947
  20. odoo/addons/contract/i18n/es_AR.po +550 -877
  21. odoo/addons/contract/i18n/es_CL.po +146 -821
  22. odoo/addons/contract/i18n/es_CO.po +146 -821
  23. odoo/addons/contract/i18n/es_CR.po +146 -821
  24. odoo/addons/contract/i18n/es_DO.po +146 -821
  25. odoo/addons/contract/i18n/es_EC.po +146 -821
  26. odoo/addons/contract/i18n/es_MX.po +146 -821
  27. odoo/addons/contract/i18n/es_PY.po +146 -821
  28. odoo/addons/contract/i18n/es_VE.po +146 -821
  29. odoo/addons/contract/i18n/et.po +146 -821
  30. odoo/addons/contract/i18n/eu.po +146 -821
  31. odoo/addons/contract/i18n/fa.po +146 -821
  32. odoo/addons/contract/i18n/fi.po +422 -848
  33. odoo/addons/contract/i18n/fr.po +713 -953
  34. odoo/addons/contract/i18n/fr_CA.po +146 -821
  35. odoo/addons/contract/i18n/fr_CH.po +146 -821
  36. odoo/addons/contract/i18n/fr_FR.po +454 -850
  37. odoo/addons/contract/i18n/gl.po +257 -846
  38. odoo/addons/contract/i18n/gl_ES.po +146 -821
  39. odoo/addons/contract/i18n/he.po +146 -821
  40. odoo/addons/contract/i18n/hi_IN.po +191 -831
  41. odoo/addons/contract/i18n/hr.po +211 -837
  42. odoo/addons/contract/i18n/hr_HR.po +223 -839
  43. odoo/addons/contract/i18n/hu.po +146 -821
  44. odoo/addons/contract/i18n/id.po +146 -821
  45. odoo/addons/contract/i18n/it.po +753 -902
  46. odoo/addons/contract/i18n/ja.po +146 -821
  47. odoo/addons/contract/i18n/ko.po +146 -821
  48. odoo/addons/contract/i18n/lt.po +146 -821
  49. odoo/addons/contract/i18n/lt_LT.po +146 -821
  50. odoo/addons/contract/i18n/lv.po +146 -821
  51. odoo/addons/contract/i18n/mk.po +146 -821
  52. odoo/addons/contract/i18n/mn.po +146 -821
  53. odoo/addons/contract/i18n/nb.po +146 -821
  54. odoo/addons/contract/i18n/nb_NO.po +146 -821
  55. odoo/addons/contract/i18n/nl.po +699 -953
  56. odoo/addons/contract/i18n/nl_BE.po +146 -821
  57. odoo/addons/contract/i18n/nl_NL.po +191 -831
  58. odoo/addons/contract/i18n/pl.po +146 -821
  59. odoo/addons/contract/i18n/pt.po +415 -839
  60. odoo/addons/contract/i18n/pt_BR.po +704 -947
  61. odoo/addons/contract/i18n/pt_PT.po +146 -821
  62. odoo/addons/contract/i18n/ro.po +146 -821
  63. odoo/addons/contract/i18n/ru.po +191 -831
  64. odoo/addons/contract/i18n/sk.po +146 -821
  65. odoo/addons/contract/i18n/sk_SK.po +146 -821
  66. odoo/addons/contract/i18n/sl.po +146 -821
  67. odoo/addons/contract/i18n/sr.po +146 -821
  68. odoo/addons/contract/i18n/sr@latin.po +146 -821
  69. odoo/addons/contract/i18n/sv.po +784 -933
  70. odoo/addons/contract/i18n/th.po +146 -821
  71. odoo/addons/contract/i18n/tr.po +611 -879
  72. odoo/addons/contract/i18n/tr_TR.po +221 -838
  73. odoo/addons/contract/i18n/uk.po +146 -821
  74. odoo/addons/contract/i18n/vi.po +146 -821
  75. odoo/addons/contract/i18n/vi_VN.po +146 -821
  76. odoo/addons/contract/i18n/zh_CN.po +407 -840
  77. odoo/addons/contract/i18n/zh_TW.po +150 -822
  78. odoo/addons/contract/migrations/18.0.2.0.0/end-migrate.py +27 -0
  79. odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py +94 -0
  80. odoo/addons/contract/models/__init__.py +2 -6
  81. odoo/addons/contract/models/account_move.py +0 -8
  82. odoo/addons/contract/models/account_move_line.py +14 -0
  83. odoo/addons/contract/models/contract.py +272 -308
  84. odoo/addons/contract/models/contract_line.py +37 -859
  85. odoo/addons/contract/models/{contract_recurrency_mixin.py → contract_recurring_mixin.py} +101 -82
  86. odoo/addons/contract/models/contract_tag.py +1 -3
  87. odoo/addons/contract/models/contract_template.py +81 -2
  88. odoo/addons/contract/models/contract_template_line.py +250 -3
  89. odoo/addons/contract/report/contract_views.xml +0 -2
  90. odoo/addons/contract/report/report_contract.xml +13 -13
  91. odoo/addons/contract/security/contract_security.xml +6 -15
  92. odoo/addons/contract/security/contract_tag.xml +1 -3
  93. odoo/addons/contract/security/ir.model.access.csv +0 -2
  94. odoo/addons/contract/static/description/index.html +24 -18
  95. odoo/addons/contract/static/src/img/contract_icon.svg +4 -0
  96. odoo/addons/contract/static/src/js/contract_portal_tour.esm.js +6 -4
  97. odoo/addons/contract/tests/test_contract.py +82 -928
  98. odoo/addons/contract/tests/test_multicompany.py +5 -4
  99. odoo/addons/contract/tests/test_portal.py +6 -3
  100. odoo/addons/contract/views/contract.xml +92 -235
  101. odoo/addons/contract/views/contract_line.xml +48 -117
  102. odoo/addons/contract/views/contract_portal_templates.xml +187 -224
  103. odoo/addons/contract/views/contract_tag.xml +3 -3
  104. odoo/addons/contract/views/contract_template.xml +100 -72
  105. odoo/addons/contract/views/contract_template_line.xml +76 -5
  106. odoo/addons/contract/views/res_config_settings.xml +5 -6
  107. odoo/addons/contract/views/res_partner_view.xml +0 -5
  108. odoo/addons/contract/wizards/__init__.py +0 -2
  109. odoo/addons/contract/wizards/contract_manually_create_invoice.py +6 -6
  110. odoo/addons/contract/wizards/contract_manually_create_invoice.xml +2 -3
  111. {odoo_addon_contract-17.0.1.4.3.2.dist-info → odoo_addon_contract-18.0.2.0.8.dist-info}/METADATA +18 -13
  112. odoo_addon_contract-18.0.2.0.8.dist-info/RECORD +132 -0
  113. {odoo_addon_contract-17.0.1.4.3.2.dist-info → odoo_addon_contract-18.0.2.0.8.dist-info}/WHEEL +1 -1
  114. odoo/addons/contract/data/contract_renew_cron.xml +0 -14
  115. odoo/addons/contract/models/abstract_contract.py +0 -82
  116. odoo/addons/contract/models/abstract_contract_line.py +0 -271
  117. odoo/addons/contract/models/contract_line_constraints.py +0 -429
  118. odoo/addons/contract/models/contract_terminate_reason.py +0 -14
  119. odoo/addons/contract/models/res_company.py +0 -15
  120. odoo/addons/contract/models/res_config_settings.py +0 -18
  121. odoo/addons/contract/security/contract_terminate_reason.xml +0 -23
  122. odoo/addons/contract/security/groups.xml +0 -9
  123. odoo/addons/contract/views/abstract_contract_line.xml +0 -117
  124. odoo/addons/contract/views/contract_terminate_reason.xml +0 -38
  125. odoo/addons/contract/wizards/contract_contract_terminate.py +0 -42
  126. odoo/addons/contract/wizards/contract_contract_terminate.xml +0 -33
  127. odoo/addons/contract/wizards/contract_line_wizard.py +0 -53
  128. odoo/addons/contract/wizards/contract_line_wizard.xml +0 -111
  129. odoo_addon_contract-17.0.1.4.3.2.dist-info/RECORD +0 -143
  130. {odoo_addon_contract-17.0.1.4.3.2.dist-info → odoo_addon_contract-18.0.2.0.8.dist-info}/top_level.txt +0 -0
@@ -31,13 +31,17 @@
31
31
  customize_show="True"
32
32
  priority="30"
33
33
  >
34
- <xpath expr="//div[hasclass('o_portal_docs')]" position="inside">
34
+ <div id="portal_common_category" position="inside">
35
35
  <t t-call="portal.portal_docs_entry">
36
+ <t
37
+ t-set="icon"
38
+ t-value="'/contract/static/src/img/contract_icon.svg'"
39
+ />
36
40
  <t t-set="title">Contracts</t>
37
41
  <t t-set="url" t-value="'/my/contracts'" />
38
42
  <t t-set="placeholder_count" t-value="'contract_count'" />
39
43
  </t>
40
- </xpath>
44
+ </div>
41
45
  </template>
42
46
  <template id="portal_my_contracts" name="My Contracts">
43
47
  <t t-call="portal.portal_layout">
@@ -51,7 +55,7 @@
51
55
  <th>Contract #</th>
52
56
  <th class='d-none d-md-table-cell'>Date</th>
53
57
  <th class='d-none d-md-table-cell'>Date end</th>
54
- <th class='text-right'>Reference</th>
58
+ <th class='text-end'>Reference</th>
55
59
  </tr>
56
60
  </thead>
57
61
  <tbody>
@@ -72,7 +76,7 @@
72
76
  <td class="d-none d-md-table-cell">
73
77
  <span t-field="contract.date_end" />
74
78
  </td>
75
- <td class='text-right'>
79
+ <td class='text-end'>
76
80
  <span t-field="contract.code" />
77
81
  </td>
78
82
  </tr>
@@ -83,7 +87,7 @@
83
87
  </template>
84
88
  <template id="portal_contract_page" name="My Contract">
85
89
  <t t-call="portal.portal_layout">
86
- <t t-set="o_portal_fullwidth_alert" groups="account.group_account_invoice">
90
+ <t groups="account.group_account_invoice">
87
91
  <t t-call="portal.portal_back_in_edit_mode">
88
92
  <t
89
93
  t-set="backend_url"
@@ -91,236 +95,195 @@
91
95
  />
92
96
  </t>
93
97
  </t>
94
- <t t-call="portal.portal_record_layout">
95
- <t t-set="card_header">
96
- <h5 class="mb-0">
97
- <span>
98
+ <h5 class="mb-0">
99
+ <span>
98
100
  Contract - <span t-field="contract.name" />
99
101
  </span>
100
- </h5>
101
- </t>
102
- <t t-set="card_body">
103
- <div id="general_information">
104
- <div class="row mt4">
105
- <div
106
- t-if="contract.partner_id"
107
- class="col-12 col-md-6 mb-4 mb-md-0"
108
- >
109
- <h6>
110
- <strong>Customer:</strong>
111
- </h6>
112
- <div class="row">
113
- <div class="col flex-grow-0 pr-3">
114
- <img
115
- t-if="contract.partner_id.image_128"
116
- class="rounded-circle mt-1 o_portal_contact_img"
117
- t-att-src="image_data_uri(contract.partner_id.image_128)"
118
- alt="Contact"
119
- />
120
- <img
121
- t-else=""
122
- class="rounded-circle mt-1 o_portal_contact_img"
123
- src="/web/static/src/img/user_menu_avatar.png"
124
- alt="Contact"
125
- />
126
- </div>
127
- <div class="col pl-sm-0">
128
- <address
129
- t-field="contract.partner_id"
130
- t-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'
131
- />
132
- </div>
133
- </div>
102
+ </h5>
103
+ <div id="general_information">
104
+ <div class="row mt4">
105
+ <div
106
+ t-if="contract.partner_id"
107
+ class="col-12 col-md-6 mb-4 mb-md-0"
108
+ >
109
+ <h6>
110
+ <strong>Customer:</strong>
111
+ </h6>
112
+ <div class="row">
113
+ <div class="col flex-grow-0 pr-3">
114
+ <img
115
+ t-if="contract.partner_id.image_128"
116
+ class="rounded-circle mt-1 o_portal_contact_img"
117
+ t-att-src="image_data_uri(contract.partner_id.image_128)"
118
+ alt="Contact"
119
+ />
120
+ <img
121
+ t-else=""
122
+ class="rounded-circle mt-1 o_portal_contact_img"
123
+ src="/web/static/src/img/user_menu_avatar.png"
124
+ alt="Contact"
125
+ />
134
126
  </div>
135
- <div t-if="contract.user_id" class="col-12 col-md-6">
136
- <h6>
137
- <strong>Responsible:</strong>
138
- </h6>
139
- <div class="row">
140
- <div class="col flex-grow-0 pr-3">
141
- <img
142
- t-if="contract.user_id.image_128"
143
- class="rounded-circle mt-1 o_portal_contact_img"
144
- t-att-src="image_data_uri(contract.user_id.image_128)"
145
- alt="Contact"
146
- />
147
- <img
148
- t-else=""
149
- class="rounded-circle mt-1 o_portal_contact_img"
150
- src="/web/static/src/img/user_menu_avatar.png"
151
- alt="Contact"
152
- />
153
- </div>
154
- <div class="col pl-sm-0">
155
- <address
156
- t-field="contract.user_id"
157
- t-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'
158
- />
159
- </div>
160
- </div>
127
+ <div class="col pl-sm-0">
128
+ <address
129
+ t-field="contract.partner_id"
130
+ t-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'
131
+ />
161
132
  </div>
162
133
  </div>
163
- <div class="row mt32" id="product_information">
164
- <div class="col-12 col-md-6 mb-4 mb-md-0">
165
- <div t-if="contract.code" class="row mb-2 mb-sm-1">
166
- <div class="col-12 col-sm-4">
167
- <strong>Reference</strong>
168
- </div>
169
- <div class="col-12 col-sm-8">
170
- <span t-field="contract.code" />
171
- </div>
172
- </div>
173
- <div
174
- t-if="contract.recurring_next_date"
175
- class="row mb-2 mb-sm-1"
176
- >
177
- <div class="col-12 col-sm-4">
178
- <strong>Date of Next Invoice</strong>
179
- </div>
180
- <div class="col-12 col-sm-8">
181
- <span
182
- t-field="contract.recurring_next_date"
183
- t-options='{"widget": "date"}'
184
- />
185
- </div>
186
- </div>
187
- <div t-if="contract.date_end" class="row mb-2 mb-sm-1">
188
- <div class="col-12 col-sm-4">
189
- <strong>Date end</strong>
190
- </div>
191
- <div class="col-12 col-sm-8">
192
- <span
193
- t-field="contract.date_end"
194
- t-options='{"widget": "date"}'
195
- />
196
- </div>
197
- </div>
134
+ </div>
135
+ <div t-if="contract.user_id" class="col-12 col-md-6">
136
+ <h6>
137
+ <strong>Responsible:</strong>
138
+ </h6>
139
+ <div class="row">
140
+ <div class="col flex-grow-0 pr-3">
141
+ <img
142
+ t-if="contract.user_id.image_128"
143
+ class="rounded-circle mt-1 o_portal_contact_img"
144
+ t-att-src="image_data_uri(contract.user_id.image_128)"
145
+ alt="Contact"
146
+ />
147
+ <img
148
+ t-else=""
149
+ class="rounded-circle mt-1 o_portal_contact_img"
150
+ src="/web/static/src/img/user_menu_avatar.png"
151
+ alt="Contact"
152
+ />
153
+ </div>
154
+ <div class="col pl-sm-0">
155
+ <address
156
+ t-field="contract.user_id"
157
+ t-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'
158
+ />
198
159
  </div>
199
160
  </div>
200
- <div id="item_details">
201
- <table class="table table-sm" id="sales_order_table">
202
- <thead class="bg-100">
203
- <tr>
204
- <th
205
- name="th_name"
206
- class="text-left"
207
- >Description</th>
208
- <th
209
- name="th_quantity"
210
- class="text-right"
211
- >Quantity</th>
212
- <th
213
- name="th_price_unit"
214
- class="text-right"
215
- >Price unit</th>
216
- <th
217
- name="th_discount"
218
- class="text-right"
219
- >Discount (%)</th>
220
- <th
221
- name="th_price_subtotal"
222
- class="text-right"
223
- >Sub Total</th>
224
- <th
225
- name="th_recurring_interval"
161
+ </div>
162
+ </div>
163
+ <div class="row mt32" id="product_information">
164
+ <div class="col-12 col-md-6 mb-4 mb-md-0">
165
+ <div t-if="contract.code" class="row mb-2 mb-sm-1">
166
+ <div class="col-12 col-sm-4">
167
+ <strong>Reference</strong>
168
+ </div>
169
+ <div class="col-12 col-sm-8">
170
+ <span t-field="contract.code" />
171
+ </div>
172
+ </div>
173
+ <div
174
+ t-if="contract.recurring_next_date"
175
+ class="row mb-2 mb-sm-1"
176
+ >
177
+ <div class="col-12 col-sm-4">
178
+ <strong>Date of Next Invoice</strong>
179
+ </div>
180
+ <div class="col-12 col-sm-8">
181
+ <span
182
+ t-field="contract.recurring_next_date"
183
+ t-options='{"widget": "date"}'
184
+ />
185
+ </div>
186
+ </div>
187
+ <div t-if="contract.date_end" class="row mb-2 mb-sm-1">
188
+ <div class="col-12 col-sm-4">
189
+ <strong>Date end</strong>
190
+ </div>
191
+ <div class="col-12 col-sm-8">
192
+ <span
193
+ t-field="contract.date_end"
194
+ t-options='{"widget": "date"}'
195
+ />
196
+ </div>
197
+ </div>
198
+ </div>
199
+ </div>
200
+ <div id="item_details">
201
+ <table class="table table-sm" id="sales_order_table">
202
+ <thead class="bg-100">
203
+ <tr>
204
+ <th name="th_name" class="text-left">Description</th>
205
+ <th name="th_quantity" class="text-right">Quantity</th>
206
+ <th
207
+ name="th_price_unit"
208
+ class="text-right"
209
+ >Price unit</th>
210
+ <th
211
+ name="th_discount"
212
+ class="text-right"
213
+ >Discount (%)</th>
214
+ <th
215
+ name="th_price_subtotal"
216
+ class="text-right"
217
+ >Sub Total</th>
218
+ <th
219
+ name="th_recurring_interval"
220
+ class="text-right"
221
+ >Recurrence</th>
222
+ <th
223
+ name="th_recurring_next_date"
224
+ class="text-right"
225
+ >Date of next invoice</th>
226
+ </tr>
227
+ </thead>
228
+ <tbody class="contract_tbody">
229
+ <t t-foreach="contract.contract_line_ids" t-as="line">
230
+ <tr
231
+ t-att-class="'bg-200 font-weight-bold o_line_section' if line.display_type == 'line_section' else 'font-italic o_line_note' if line.display_type == 'line_note' else ''"
232
+ >
233
+ <t t-if="not line.display_type">
234
+ <td name="td_name">
235
+ <span t-field="line.name" />
236
+ </td>
237
+ <td name="td_quantity" class="text-right">
238
+ <span t-field="line.quantity" />
239
+ </td>
240
+ <td name="td_price_unit" class="text-right">
241
+ <span
242
+ t-field="line.price_unit"
243
+ t-options='{"widget": "monetary", "display_currency": contract.currency_id}'
244
+ />
245
+ </td>
246
+ <td name="td_discount" class="text-right">
247
+ <span t-field="line.discount" />
248
+ </td>
249
+ <td name="td_price_subtotal" class="text-right">
250
+ <span
251
+ t-field="line.price_subtotal"
252
+ t-options='{"widget": "monetary", "display_currency": contract.currency_id}'
253
+ />
254
+ </td>
255
+ <td
256
+ name="td_recurring_interval"
226
257
  class="text-right"
227
- >Recurrence</th>
228
- <th
229
- name="th_recurring_next_date"
258
+ >
259
+ <span t-field="line.recurring_interval" />
260
+ <span t-field="line.recurring_rule_type" />
261
+ </td>
262
+ <td
263
+ name="td_recurring_next_date"
230
264
  class="text-right"
231
- >Date of next invoice</th>
232
- </tr>
233
- </thead>
234
- <tbody class="contract_tbody">
235
- <t
236
- t-foreach="contract.contract_line_ids"
237
- t-as="line"
238
- >
239
- <tr
240
- t-att-class="'bg-200 font-weight-bold o_line_section' if line.display_type == 'line_section' else 'font-italic o_line_note' if line.display_type == 'line_note' else ''"
241
265
  >
242
- <t t-if="not line.display_type">
243
- <td name="td_name">
244
- <span t-field="line.name" />
245
- </td>
246
- <td
247
- name="td_quantity"
248
- class="text-right"
249
- >
250
- <span t-field="line.quantity" />
251
- </td>
252
- <td
253
- name="td_price_unit"
254
- class="text-right"
255
- >
256
- <span
257
- t-field="line.price_unit"
258
- t-options='{"widget": "monetary", "display_currency": contract.currency_id}'
259
- />
260
- </td>
261
- <td
262
- name="td_discount"
263
- class="text-right"
264
- >
265
- <span t-field="line.discount" />
266
- </td>
267
- <td
268
- name="td_price_subtotal"
269
- class="text-right"
270
- >
271
- <span
272
- t-field="line.price_subtotal"
273
- t-options='{"widget": "monetary", "display_currency": contract.currency_id}'
274
- />
275
- </td>
276
- <td
277
- name="td_recurring_interval"
278
- class="text-right"
279
- >
280
- <span
281
- t-field="line.recurring_interval"
282
- />
283
- <span
284
- t-field="line.recurring_rule_type"
285
- />
286
- </td>
287
- <td
288
- name="td_recurring_next_date"
289
- class="text-right"
290
- >
291
- <span
292
- t-field="line.recurring_next_date"
293
- />
294
- </td>
295
- </t>
296
- <t
297
- t-if="line.display_type == 'line_section'"
298
- >
299
- <td colspan="99">
300
- <span t-field="line.name" />
301
- </td>
302
- <t
303
- t-set="current_section"
304
- t-value="line"
305
- />
306
- <t
307
- t-set="current_subtotal"
308
- t-value="0"
309
- />
310
- </t>
311
- <t t-if="line.display_type == 'line_note'">
312
- <td colspan="99">
313
- <span t-field="line.name" />
314
- </td>
315
- </t>
316
- </tr>
266
+ <span t-field="line.recurring_next_date" />
267
+ </td>
317
268
  </t>
318
- </tbody>
319
- </table>
320
- </div>
321
- </div>
322
- </t>
323
- </t>
269
+ <t t-if="line.display_type == 'line_section'">
270
+ <td colspan="99">
271
+ <span t-field="line.name" />
272
+ </td>
273
+ <t t-set="current_section" t-value="line" />
274
+ <t t-set="current_subtotal" t-value="0" />
275
+ </t>
276
+ <t t-if="line.display_type == 'line_note'">
277
+ <td colspan="99">
278
+ <span t-field="line.name" />
279
+ </td>
280
+ </t>
281
+ </tr>
282
+ </t>
283
+ </tbody>
284
+ </table>
285
+ </div>
286
+ </div>
324
287
  <section
325
288
  t-if="contract.modification_ids"
326
289
  class="s_timeline pt24 pb48 o_colored_level"
@@ -21,20 +21,20 @@
21
21
  <record model="ir.ui.view" id="contract_tag_tree_view">
22
22
  <field name="model">contract.tag</field>
23
23
  <field name="arch" type="xml">
24
- <tree>
24
+ <list>
25
25
  <field name="name" />
26
26
  <field
27
27
  name="company_id"
28
28
  options="{'no_create': True}"
29
29
  groups="base.group_multi_company"
30
30
  />
31
- </tree>
31
+ </list>
32
32
  </field>
33
33
  </record>
34
34
  <record model="ir.actions.act_window" id="contract_tag_act_window">
35
35
  <field name="name">Contract Tags</field>
36
36
  <field name="res_model">contract.tag</field>
37
- <field name="view_mode">tree,form</field>
37
+ <field name="view_mode">list,form</field>
38
38
  </record>
39
39
  <record model="ir.ui.menu" id="contract_tag_menu">
40
40
  <field name="name">Contract Tag</field>