odoo-addon-dms 16.0.1.8.0.5__py3-none-any.whl → 17.0.1.0.0.2__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 (113) hide show
  1. odoo/addons/dms/README.rst +132 -78
  2. odoo/addons/dms/__manifest__.py +34 -16
  3. odoo/addons/dms/actions/file.xml +1 -3
  4. odoo/addons/dms/controllers/main.py +0 -34
  5. odoo/addons/dms/controllers/portal.py +178 -92
  6. odoo/addons/dms/data/onboarding_data.xml +77 -0
  7. odoo/addons/dms/demo/access_group.xml +3 -9
  8. odoo/addons/dms/i18n/de.po +13 -117
  9. odoo/addons/dms/i18n/dms.pot +137 -174
  10. odoo/addons/dms/i18n/es.po +15 -58
  11. odoo/addons/dms/i18n/fr.po +296 -450
  12. odoo/addons/dms/i18n/he_IL.po +13 -117
  13. odoo/addons/dms/i18n/it.po +15 -131
  14. odoo/addons/dms/i18n/nl.po +13 -117
  15. odoo/addons/dms/i18n/pt.po +13 -121
  16. odoo/addons/dms/i18n/pt_BR.po +28 -147
  17. odoo/addons/dms/i18n/ru.po +13 -117
  18. odoo/addons/dms/models/__init__.py +7 -1
  19. odoo/addons/dms/models/abstract_dms_mixin.py +1 -1
  20. odoo/addons/dms/models/access_groups.py +18 -11
  21. odoo/addons/dms/models/base.py +10 -2
  22. odoo/addons/dms/models/directory.py +46 -75
  23. odoo/addons/dms/models/{category.py → dms_category.py} +10 -42
  24. odoo/addons/dms/models/dms_file.py +125 -147
  25. odoo/addons/dms/models/dms_security_mixin.py +26 -22
  26. odoo/addons/dms/models/ir_attachment.py +0 -1
  27. odoo/addons/dms/models/ir_binary.py +19 -0
  28. odoo/addons/dms/models/mail_thread.py +2 -4
  29. odoo/addons/dms/models/mixins_thumbnail.py +13 -8
  30. odoo/addons/dms/models/onboarding_onboarding.py +16 -0
  31. odoo/addons/dms/models/onboarding_onboarding_step.py +50 -0
  32. odoo/addons/dms/models/res_company.py +22 -47
  33. odoo/addons/dms/models/res_config_settings.py +0 -1
  34. odoo/addons/dms/models/storage.py +4 -24
  35. odoo/addons/dms/models/tag.py +1 -1
  36. odoo/addons/dms/readme/CONFIGURE.md +59 -0
  37. odoo/addons/dms/readme/CONTRIBUTORS.md +14 -0
  38. odoo/addons/dms/readme/CREDITS.md +6 -0
  39. odoo/addons/dms/readme/DESCRIPTION.md +9 -0
  40. odoo/addons/dms/readme/INSTALL.md +4 -0
  41. odoo/addons/dms/readme/ROADMAP.md +19 -0
  42. odoo/addons/dms/readme/USAGE.md +11 -0
  43. odoo/addons/dms/security/security.xml +1 -0
  44. odoo/addons/dms/static/description/icon.png +0 -0
  45. odoo/addons/dms/static/description/icon.svg +4 -1
  46. odoo/addons/dms/static/description/index.html +133 -88
  47. odoo/addons/dms/static/description/portal_icon.svg +12 -0
  48. odoo/addons/dms/static/src/js/fields/{path_owl.esm.js → path_json/path_owl.esm.js} +22 -4
  49. odoo/addons/dms/static/src/js/fields/{path_owl.xml → path_json/path_owl.xml} +7 -4
  50. odoo/addons/dms/static/src/js/fields/preview_binary/preview_record.esm.js +47 -0
  51. odoo/addons/dms/static/src/js/{views/fields/binary → fields/preview_binary}/preview_record.xml +5 -4
  52. odoo/addons/dms/static/src/js/views/dms_file_upload.esm.js +155 -148
  53. odoo/addons/dms/static/src/js/views/file_kanban_controller.xml +0 -1
  54. odoo/addons/dms/static/src/js/views/file_kanban_record.esm.js +26 -27
  55. odoo/addons/dms/static/src/js/views/file_kanban_renderer.esm.js +1 -2
  56. odoo/addons/dms/static/src/js/views/file_kanban_renderer.xml +12 -16
  57. odoo/addons/dms/static/src/js/views/file_kanban_view.esm.js +11 -9
  58. odoo/addons/dms/static/src/js/views/file_list_controller.esm.js +1 -1
  59. odoo/addons/dms/static/src/js/views/file_list_renderer.xml +1 -7
  60. odoo/addons/dms/static/src/js/views/file_list_view.esm.js +11 -9
  61. odoo/addons/dms/static/src/js/views/search_panel.esm.js +9 -10
  62. odoo/addons/dms/static/src/models/attachment.esm.js +83 -82
  63. odoo/addons/dms/static/src/models/attachment_image.esm.js +30 -28
  64. odoo/addons/dms/static/src/models/attachment_viewer_viewable.esm.js +27 -25
  65. odoo/addons/dms/static/src/scss/directory_kanban.scss +28 -73
  66. odoo/addons/dms/static/src/scss/dms_common.scss +69 -0
  67. odoo/addons/dms/static/src/scss/file_kanban.scss +22 -34
  68. odoo/addons/dms/static/src/scss/portal.scss +12 -0
  69. odoo/addons/dms/static/tests/tours/dms_portal_tour.esm.js +46 -0
  70. odoo/addons/dms/{views/dms_portal_templates.xml → template/portal.xml} +13 -3
  71. odoo/addons/dms/tests/common.py +20 -4
  72. odoo/addons/dms/tests/data/mail01.eml +2 -2
  73. odoo/addons/dms/tests/data/mail02.eml +2 -2
  74. odoo/addons/dms/tests/test_benchmark.py +16 -21
  75. odoo/addons/dms/tests/test_directory.py +128 -40
  76. odoo/addons/dms/tests/test_file.py +112 -30
  77. odoo/addons/dms/tests/test_file_database.py +50 -24
  78. odoo/addons/dms/tests/test_portal.py +50 -37
  79. odoo/addons/dms/tests/test_storage_attachment.py +85 -63
  80. odoo/addons/dms/tests/test_storage_database.py +89 -35
  81. odoo/addons/dms/tools/file.py +63 -11
  82. odoo/addons/dms/views/dms_access_groups_views.xml +2 -17
  83. odoo/addons/dms/views/{category.xml → dms_category.xml} +4 -9
  84. odoo/addons/dms/views/{directory.xml → dms_directory.xml} +168 -176
  85. odoo/addons/dms/views/dms_file.xml +170 -191
  86. odoo/addons/dms/views/{tag.xml → dms_tag.xml} +50 -53
  87. odoo/addons/dms/views/menu.xml +52 -21
  88. odoo/addons/dms/views/res_config_settings.xml +31 -82
  89. odoo/addons/dms/views/storage.xml +7 -13
  90. odoo_addon_dms-17.0.1.0.0.2.dist-info/METADATA +257 -0
  91. {odoo_addon_dms-16.0.1.8.0.5.dist-info → odoo_addon_dms-17.0.1.0.0.2.dist-info}/RECORD +93 -95
  92. {odoo_addon_dms-16.0.1.8.0.5.dist-info → odoo_addon_dms-17.0.1.0.0.2.dist-info}/WHEEL +1 -1
  93. odoo_addon_dms-17.0.1.0.0.2.dist-info/top_level.txt +1 -0
  94. odoo/addons/dms/i18n/fa.po +0 -2277
  95. odoo/addons/dms/i18n/fa_IR.po +0 -2277
  96. odoo/addons/dms/readme/CONFIGURE.rst +0 -40
  97. odoo/addons/dms/readme/CONTRIBUTORS.rst +0 -16
  98. odoo/addons/dms/readme/CREDITS.rst +0 -6
  99. odoo/addons/dms/readme/DESCRIPTION.rst +0 -6
  100. odoo/addons/dms/readme/INSTALL.rst +0 -9
  101. odoo/addons/dms/readme/ROADMAP.rst +0 -8
  102. odoo/addons/dms/readme/USAGE.rst +0 -8
  103. odoo/addons/dms/static/src/js/components/path/path.esm.js +0 -0
  104. odoo/addons/dms/static/src/js/dms_portal_tour.js +0 -57
  105. odoo/addons/dms/static/src/js/fields/path.js +0 -81
  106. odoo/addons/dms/static/src/js/views/fields/binary/preview_record.esm.js +0 -35
  107. odoo/addons/dms/static/src/js/views/many_drop_target.js +0 -98
  108. odoo/addons/dms/static/src/scss/variables.scss +0 -9
  109. odoo/addons/dms/static/src/xml/views.xml +0 -72
  110. odoo/addons/dms/template/assets.xml +0 -44
  111. odoo/addons/dms/template/onboarding.xml +0 -97
  112. odoo_addon_dms-16.0.1.8.0.5.dist-info/METADATA +0 -203
  113. odoo_addon_dms-16.0.1.8.0.5.dist-info/top_level.txt +0 -1
@@ -3,6 +3,7 @@
3
3
 
4
4
  Copyright 2017-2019 MuK IT GmbH
5
5
  Copyright 2021 Tecnativa - Víctor Martínez
6
+ Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com).
6
7
  License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
7
8
 
8
9
  -->
@@ -90,8 +91,8 @@
90
91
  <field name="arch" type="xml">
91
92
  <kanban
92
93
  js_class="file_kanban"
93
- class="mk_file_kanban_view o_kanban_small_column align-content-start"
94
- banner_route="/dms/document_onboarding/file"
94
+ class="mk_file_kanban_view o_kanban_small_column o_kanban_mobile"
95
+ banner_route="/onboarding/document_onboarding_file"
95
96
  >
96
97
  <field name="id" />
97
98
  <field name="tag_ids" />
@@ -107,179 +108,159 @@
107
108
  <field name="is_lock_editor" />
108
109
  <field name="permission_write" />
109
110
  <field name="permission_unlink" />
110
- <field name="__last_update" />
111
- <!-- <field name="model_name" /> -->
111
+ <field name="write_date" />
112
112
  <templates>
113
- <t t-name="kanban-box">
114
- <div
115
- t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click"
116
- >
117
- <div class="o_dropdown_kanban dropdown">
118
- <a
119
- class="dropdown-toggle o-no-caret btn"
120
- href="#"
121
- role="button"
122
- data-toggle="dropdown"
123
- aria-label="Dropdown menu"
124
- title="Dropdown menu"
113
+ <t t-name="kanban-menu">
114
+ <div class="container">
115
+ <div class="row">
116
+ <div
117
+ class="col-6 o_kanban_card_manage_section o_kanban_manage_view"
125
118
  >
126
- <span class="fa fa-ellipsis-v" />
127
- </a>
128
- <div class="dropdown-menu" role="menu">
129
- <div class="row">
130
- <div class="col-6 mk_file_kanban_operations">
131
- <h6 class="dropdown-header">
132
- Operations
133
- </h6>
134
- <a
135
- t-if="record.permission_write.raw_value and !record.is_locked.raw_value"
136
- role="menuitem"
137
- name="lock"
138
- type="object"
139
- class="dropdown-item"
140
- >
141
- <i class="fa fa-lock" />
142
- Lock
143
- </a>
144
- <a
145
- t-if="record.is_locked.raw_value and record.is_lock_editor.raw_value"
146
- role="menuitem"
147
- name="unlock"
148
- type="object"
149
- class="dropdown-item"
150
- >
151
- <i class="fa fa-unlock-alt" />
152
- Unlock
153
- </a>
154
- <a
155
- t-if="record.permission_write.raw_value and record.active.raw_value"
156
- role="menuitem"
157
- name="toggle_active"
158
- type="object"
159
- class="dropdown-item"
160
- >
161
- <i class="fa fa-archive" />
162
- Archive
163
- </a>
164
- <a
165
- t-if="record.permission_write.raw_value and !record.active.raw_value"
166
- role="menuitem"
167
- name="toggle_active"
168
- type="object"
169
- class="dropdown-item"
170
- >
171
- <i class="fa fa-archive" />
172
- Unarchive
173
- </a>
174
- <a
175
- role="menuitem"
176
- class="dropdown-item"
177
- t-attf-href="/web/content?id=#{record.id.raw_value}&amp;field=content&amp;model=dms.file&amp;filename_field=name&amp;download=true"
178
- >
179
- <i class="fa fa-download" />
180
- Download
181
- </a>
182
- </div>
183
- <div
184
- class="col-6 border-left mk_file_kanban_actions"
185
- >
186
- <h6 class="dropdown-header">
187
- Actions
188
- </h6>
189
- <a
190
- role="menuitem"
191
- type="open"
192
- class="dropdown-item"
193
- >
194
- <i class="fa fa-external-link" />
195
- Open
196
- </a>
197
- <a
198
- t-if="record.permission_write.raw_value"
199
- role="menuitem"
200
- type="edit"
201
- class="dropdown-item"
202
- >
203
- <i class="fa fa-pencil-square-o" />
204
- Edit
205
- </a>
206
- <a
207
- t-if="record.permission_unlink.raw_value"
208
- role="menuitem"
209
- type="delete"
210
- class="dropdown-item"
211
- >
212
- <i class="fa fa-trash-o" />
213
- Delete
214
- </a>
215
- </div>
119
+ <h5
120
+ role="menuitem"
121
+ class="o_kanban_card_manage_title"
122
+ >
123
+ <span>Operations</span>
124
+ </h5>
125
+ <div
126
+ role="menuitem"
127
+ t-if="record.permission_write.raw_value and !record.is_locked.raw_value"
128
+ >
129
+ <a name="lock" type="object">
130
+ <i class="fa fa-lock" />
131
+ Lock
132
+ </a>
216
133
  </div>
217
134
  <div
218
- t-if="record.permission_write.raw_value"
219
- class="row"
135
+ role="menuitem"
136
+ t-if="record.is_locked.raw_value and record.is_lock_editor.raw_value"
220
137
  >
221
- <div role="menuitem" class="col-12">
222
- <ul
223
- class="oe_kanban_colorpicker"
224
- data-field="color"
225
- />
226
- </div>
138
+ <a name="unlock" type="object">
139
+ <i class="fa fa-unlock-alt" />
140
+ Unlock
141
+ </a>
227
142
  </div>
228
- </div>
229
- </div>
230
- <div class="oe_kanban_content">
231
- <div class="o_kanban_image">
232
- <div class="o_kanban_image_wrapper">
143
+ <div
144
+ role="menuitem"
145
+ t-if="record.permission_write.raw_value and record.active.raw_value"
146
+ >
147
+ <a name="toggle_active" type="object">
148
+ <i class="fa fa-archive" />
149
+ Archive
150
+ </a>
151
+ </div>
152
+ <div
153
+ role="menuitem"
154
+ t-if="record.permission_write.raw_value and !record.active.raw_value"
155
+ >
156
+ <a name="toggle_active" type="object">
157
+ <i class="fa fa-archive" />
158
+ Unarchive
159
+ </a>
160
+ </div>
161
+ <div role="menuitem">
233
162
  <a
234
- class="o_kanban_dms_file_preview"
235
- t-att-data-id="record.id"
236
- t-att-id="record.id.raw_value"
237
- t-att-name="record.name.raw_value"
163
+ t-attf-href="/web/content?id=#{record.id.raw_value}&amp;field=content&amp;model=dms.file&amp;filename_field=name&amp;download=true"
238
164
  >
239
- <img
240
- t-att-src="record.icon_url.raw_value"
241
- alt="Icon"
242
- />
165
+ <i class="fa fa-download" />
166
+ Download
167
+ </a>
168
+ </div>
169
+ </div>
170
+ <div class="col-6 o_kanban_card_manage_section">
171
+ <h5
172
+ role="menuitem"
173
+ class="o_kanban_card_manage_title"
174
+ >
175
+ <span>Actions</span>
176
+ </h5>
177
+ <div role="menuitem">
178
+ <a type="open">
179
+ <i class="fa fa-external-link" />
180
+ Open
181
+ </a>
182
+ </div>
183
+ <div
184
+ role="menuitem"
185
+ t-if="record.permission_write.raw_value"
186
+ >
187
+ <a type="edit">
188
+ <i class="fa fa-pencil-square-o" />
189
+ Edit
190
+ </a>
191
+ </div>
192
+ <div
193
+ role="menuitem"
194
+ t-if="record.permission_unlink.raw_value"
195
+ >
196
+ <a type="delete">
197
+ <i class="fa fa-trash-o" />
198
+ Delete
243
199
  </a>
244
200
  </div>
245
201
  </div>
202
+ </div>
203
+ <div class="o_kanban_card_manage_settings row">
204
+ <div
205
+ t-if="record.permission_write.raw_value"
206
+ role="menuitem"
207
+ aria-haspopup="true"
208
+ >
209
+ <ul
210
+ class="oe_kanban_colorpicker"
211
+ data-field="color"
212
+ role="popup"
213
+ />
214
+ </div>
215
+ </div>
216
+ </div>
217
+ </t>
218
+ <t t-name="kanban-box">
219
+ <div
220
+ t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click oe_kanban_content oe_kanban_card row g-0"
221
+ >
222
+ <div class="col-3 h-100">
223
+ <a
224
+ class="h-100 d-block o_kanban_dms_file_preview"
225
+ t-att-data-id="record.id.raw_value"
226
+ t-att-id="record.id.raw_value"
227
+ t-att-name="record.name.raw_value"
228
+ >
229
+ <img
230
+ t-att-src="record.icon_url.raw_value"
231
+ alt="Icon"
232
+ />
233
+ </a>
234
+ </div>
235
+ <div class="col-9">
246
236
  <div class="o_kanban_details">
247
- <div class="o_kanban_details_wrapper">
248
- <div
249
- class="o_kanban_record_title o_text_overflow"
250
- >
251
- <field name="name" />
252
- </div>
253
- <div class="o_kanban_record_body">
254
- <field
255
- name="tag_ids"
256
- widget="many2many_tags"
257
- options="{'color_field': 'color'}"
258
- />
259
- </div>
260
- <div class="o_kanban_record_bottom">
261
- <div class="oe_kanban_bottom_left">
262
- <field
263
- name="write_date"
264
- widget="date"
265
- />
266
- </div>
267
- <div class="oe_kanban_bottom_right">
268
- <span
269
- t-if="record.is_locked.raw_value"
270
- class="mk_file_kanban_lock"
271
- >
272
- <i
273
- t-attf-class="fa #{(record.is_locked.raw_value and !record.is_lock_editor.raw_value) ? 'fa-lock' : ''} #{((record.is_locked.raw_value and record.is_lock_editor.raw_value)) ? 'fa-unlock-alt' : ''}"
274
- t-att-title="record.locked_by.value"
275
- />
276
- </span>
277
- <img
278
- t-att-src="kanban_image('res.users', 'image_128', record.create_uid.raw_value)"
279
- t-att-alt="record.create_uid.value"
280
- class="oe_kanban_avatar"
237
+ <h5 class="o_kanban_record_title o_text_overflow">
238
+ <field name="name" />
239
+ </h5>
240
+ <div class="o_kanban_record_body">
241
+ <field
242
+ name="tag_ids"
243
+ widget="many2many_tags"
244
+ options="{'color_field': 'color'}"
245
+ />
246
+ <field name="write_date" widget="date" />
247
+ </div>
248
+ <div class="o_kanban_record_bottom">
249
+ <div class="oe_kanban_bottom_right">
250
+ <span
251
+ t-if="record.is_locked.raw_value"
252
+ class="o_dms_file_kanban_lock"
253
+ >
254
+ <i
255
+ t-attf-class="fa #{(record.is_locked.raw_value and !record.is_lock_editor.raw_value) ? 'fa-lock' : ''} #{((record.is_locked.raw_value and record.is_lock_editor.raw_value)) ? 'fa-unlock-alt' : ''}"
256
+ t-att-title="record.locked_by.value"
281
257
  />
282
- </div>
258
+ </span>
259
+ <img
260
+ t-att-src="kanban_image('res.users', 'image_128', record.create_uid.raw_value)"
261
+ t-att-alt="record.create_uid.value"
262
+ class="oe_kanban_avatar"
263
+ />
283
264
  </div>
284
265
  </div>
285
266
  </div>
@@ -302,7 +283,6 @@
302
283
  <attribute name="banner_route" />
303
284
  <attribute name="class">o_kanban_mobile</attribute>
304
285
  </kanban>
305
- <xpath expr="//div[hasclass('o_dropdown_kanban')]" position="replace" />
306
286
  <xpath expr="//div[hasclass('oe_kanban_bottom_right')]" position="replace">
307
287
  <div class="oe_kanban_bottom_right" />
308
288
  </xpath>
@@ -319,16 +299,16 @@
319
299
  multi_edit="1"
320
300
  default_order="name asc"
321
301
  >
322
- <field name="active" invisible="1" />
323
- <field name="is_locked" invisible="1" />
324
- <field name="is_lock_editor" invisible="1" />
302
+ <field name="active" column_invisible="1" />
303
+ <field name="is_locked" column_invisible="1" />
304
+ <field name="is_lock_editor" column_invisible="1" />
325
305
  <field name="name" />
326
306
  <field name="directory_id" optional="hide" />
327
307
  <field name="root_directory_id" optional="hide" />
328
308
  <field name="write_date" />
329
309
  <field name="human_size" string="Size" />
330
310
  <field name="mimetype" />
331
- <field name="category_id" invisible="1" />
311
+ <field name="category_id" column_invisible="1" />
332
312
  <field
333
313
  name="tag_ids"
334
314
  widget="many2many_tags"
@@ -369,22 +349,35 @@
369
349
  name="lock"
370
350
  type="object"
371
351
  string="Lock"
372
- attrs="{'invisible':['|',('is_locked', '!=', False),('permission_write', '=', False)]}"
352
+ invisible="is_locked or not permission_write"
373
353
  />
374
354
  <button
375
355
  class="oe_highlight"
376
356
  name="unlock"
377
357
  type="object"
378
358
  string="Unlock"
379
- attrs="{'invisible':['|',('is_locked', '=', False),('is_lock_editor', '=', False)]}"
359
+ invisible="not is_locked or not is_lock_editor"
380
360
  />
381
361
  </header>
382
362
  <sheet>
363
+ <!-- locked ribbon first, so that archived ribbon appear above if archived-->
364
+ <widget
365
+ name="web_ribbon"
366
+ title="Locked"
367
+ bg_color="text-bg-info"
368
+ invisible="not is_locked or (is_locked and locked_by != uid)"
369
+ />
370
+ <widget
371
+ name="web_ribbon"
372
+ title="Locked"
373
+ bg_color="text-bg-warning"
374
+ invisible="not is_locked or (is_locked and locked_by == uid)"
375
+ />
383
376
  <widget
384
377
  name="web_ribbon"
385
378
  title="Archived"
386
379
  bg_color="bg-danger"
387
- attrs="{'invisible': [('active', '=', True)]}"
380
+ invisible="active"
388
381
  />
389
382
  <div class="oe_button_box" name="button_box" />
390
383
  <field
@@ -405,7 +398,7 @@
405
398
  name="path_json"
406
399
  widget="path_json"
407
400
  options="{'prefix': True, 'suffix': False}"
408
- attrs="{'invisible': ['|', ('name', '=', False), ('directory_id', '=', False)]}"
401
+ invisible="not name or not directory_id"
409
402
  />
410
403
  </h4>
411
404
  </div>
@@ -455,16 +448,16 @@
455
448
  <field
456
449
  name="res_model"
457
450
  readonly="True"
458
- attrs="{'invisible': [('storage_id_save_type', '!=', 'attachment')]}"
451
+ invisible="storage_id_save_type != 'attachment'"
459
452
  />
460
453
  <field
461
454
  name="res_id"
462
455
  readonly="True"
463
- attrs="{'invisible': [('storage_id_save_type', '!=', 'attachment')]}"
456
+ invisible="storage_id_save_type != 'attachment'"
464
457
  />
465
458
  <field
466
459
  name="record_ref"
467
- attrs="{'invisible': [('storage_id_save_type', '!=', 'attachment')]}"
460
+ invisible="storage_id_save_type != 'attachment'"
468
461
  />
469
462
  </group>
470
463
  <notebook>
@@ -542,13 +535,6 @@
542
535
  eval="[(5, 0, 0),(0, 0, {'view_mode': 'kanban', 'view_id': ref('view_dms_file_kanban_wizard_selection')})]"
543
536
  />
544
537
  </record>
545
- <menuitem
546
- id="menu_dms_file"
547
- name="Files"
548
- sequence="20"
549
- parent="main_menu_dms"
550
- action="action_dms_file"
551
- />
552
538
  <record id="search_dms_file_migration" model="ir.ui.view">
553
539
  <field name="name">dms_file.search</field>
554
540
  <field name="model">dms.file</field>
@@ -589,8 +575,8 @@
589
575
  create="0"
590
576
  delete="0"
591
577
  >
592
- <field name="is_locked" invisible="1" />
593
- <field name="is_lock_editor" invisible="1" />
578
+ <field name="is_locked" column_invisible="1" />
579
+ <field name="is_lock_editor" column_invisible="1" />
594
580
  <field name="name" />
595
581
  <field name="write_date" />
596
582
  <field name="human_size" string="Size" />
@@ -607,7 +593,7 @@
607
593
  <field name="search_view_id" ref="search_dms_file_migration" />
608
594
  <field
609
595
  name="domain"
610
- >[('require_migration', '=', True), '|',('active', '=', False), ('active', '!=', False)]
596
+ >[('require_migration', '=', True), '|', ('active', '=', False), ('active', '!=', False)]
611
597
  </field>
612
598
  <field name="context">{'search_default_group_storage': 1}</field>
613
599
  <field
@@ -623,13 +609,6 @@
623
609
  </p>
624
610
  </field>
625
611
  </record>
626
- <menuitem
627
- id="menu_dms_file_migration"
628
- name="Migration"
629
- parent="cat_menu_dms_config_system"
630
- action="action_dms_file_migration"
631
- sequence="8"
632
- />
633
612
  <record id="view_dms_file_new_form" model="ir.ui.view">
634
613
  <field name="name">dms_file.form</field>
635
614
  <field name="model">dms.file</field>
@@ -2,9 +2,10 @@
2
2
  <!--
3
3
 
4
4
  Copyright 2017-2019 MuK IT GmbH
5
+ Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com).
5
6
  License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
6
7
 
7
- -->
8
+ -->
8
9
  <odoo>
9
10
  <record id="view_dms_tag_search" model="ir.ui.view">
10
11
  <field name="name">dms_tag.search</field>
@@ -38,59 +39,61 @@
38
39
  <field name="name">dms_tag.kanban</field>
39
40
  <field name="model">dms.tag</field>
40
41
  <field name="arch" type="xml">
41
- <kanban
42
- class="o_kanban_small_column o_emphasize_colors"
43
- group_create="false"
44
- >
42
+ <kanban class="o_kanban_small_column" group_create="false">
43
+ <field name="name" />
45
44
  <field name="color" />
46
45
  <templates>
47
- <t t-name="kanban-box">
48
- <div
49
- t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click"
50
- >
51
- <div class="o_dropdown_kanban dropdown">
52
- <a
53
- class="dropdown-toggle o-no-caret btn"
54
- href="#"
55
- role="button"
56
- data-toggle="dropdown"
57
- aria-label="Dropdown menu"
58
- title="Dropdown menu"
59
- >
60
- <span class="fa fa-ellipsis-v" />
61
- </a>
62
- <div class="dropdown-menu" role="menu">
63
- <a
46
+ <t t-name="kanban-menu">
47
+ <div class="container">
48
+ <div class="row">
49
+ <div class="col o_kanban_card_manage_section">
50
+ <h5
64
51
  role="menuitem"
65
- type="open"
66
- class="dropdown-item"
52
+ class="o_kanban_card_manage_title"
67
53
  >
68
- <i class="fa fa-external-link" />
69
- Open
70
- </a>
71
- <a
72
- role="menuitem"
73
- type="edit"
74
- class="dropdown-item"
75
- >
76
- <i class="fa fa-pencil-square-o" />
77
- Edit
78
- </a>
79
- <a
80
- role="menuitem"
81
- type="delete"
82
- class="dropdown-item"
83
- >
84
- <i class="fa fa-trash-o" />
85
- Delete
86
- </a>
54
+ <span>Actions</span>
55
+ </h5>
56
+ <div role="menuitem">
57
+ <a type="open">
58
+ <i class="fa fa-external-link" />
59
+ Open
60
+ </a>
61
+ </div>
62
+ <div role="menuitem">
63
+ <a type="edit">
64
+ <i class="fa fa-pencil-square-o" />
65
+ Edit
66
+ </a>
67
+ </div>
68
+ <div role="menuitem">
69
+ <a type="delete">
70
+ <i class="fa fa-trash-o" />
71
+ Delete
72
+ </a>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <div class="o_kanban_card_manage_settings row">
77
+ <div role="menuitem" aria-haspopup="true">
87
78
  <ul
88
79
  class="oe_kanban_colorpicker"
89
80
  data-field="color"
81
+ role="popup"
90
82
  />
91
83
  </div>
92
84
  </div>
93
- <field name="name" />
85
+ </div>
86
+ </t>
87
+ <t t-name="kanban-box">
88
+ <div
89
+ t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click oe_kanban_content oe_kanban_card"
90
+ >
91
+ <div class="o_kanban_details">
92
+ <div class="o_kanban_record_title">
93
+ <h2><field name="name" /></h2>
94
+ </div>
95
+ <div class="o_kanban_record_body" />
96
+ </div>
94
97
  </div>
95
98
  </t>
96
99
  </templates>
@@ -104,7 +107,7 @@
104
107
  <tree>
105
108
  <field name="name" />
106
109
  <field name="category_id" />
107
- <field name="color" widget="color_index" />
110
+ <field name="color" widget="color_picker" />
108
111
  </tree>
109
112
  </field>
110
113
  </record>
@@ -118,7 +121,7 @@
118
121
  name="web_ribbon"
119
122
  title="Archived"
120
123
  bg_color="bg-danger"
121
- attrs="{'invisible': [('active', '=', True)]}"
124
+ invisible="active"
122
125
  />
123
126
  <div class="oe_button_box" name="button_box" />
124
127
  <div class="oe_title">
@@ -131,7 +134,7 @@
131
134
  <group>
132
135
  <group>
133
136
  <field name="category_id" />
134
- <field name="color" widget="color_index" />
137
+ <field name="color" widget="color_picker" />
135
138
  </group>
136
139
  <group>
137
140
  <field name="count_files" string="Files" />
@@ -164,10 +167,4 @@
164
167
  </p>
165
168
  </field>
166
169
  </record>
167
- <menuitem
168
- id="menu_dms_tag"
169
- name="Tags"
170
- parent="cat_menu_dms_config_organizing"
171
- action="action_dms_tag"
172
- />
173
170
  </odoo>