odoo-addon-dms 17.0.1.2.0__py3-none-any.whl → 18.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 (59) hide show
  1. odoo/addons/dms/README.rst +69 -62
  2. odoo/addons/dms/__manifest__.py +1 -5
  3. odoo/addons/dms/data/onboarding_data.xml +0 -1
  4. odoo/addons/dms/i18n/de.po +0 -203
  5. odoo/addons/dms/i18n/dms.pot +51 -55
  6. odoo/addons/dms/i18n/es.po +0 -214
  7. odoo/addons/dms/i18n/fr.po +0 -45
  8. odoo/addons/dms/i18n/he_IL.po +0 -139
  9. odoo/addons/dms/i18n/it.po +0 -219
  10. odoo/addons/dms/i18n/nl.po +0 -6
  11. odoo/addons/dms/i18n/pt.po +0 -215
  12. odoo/addons/dms/i18n/pt_BR.po +0 -201
  13. odoo/addons/dms/models/access_groups.py +9 -8
  14. odoo/addons/dms/models/directory.py +21 -23
  15. odoo/addons/dms/models/dms_category.py +2 -2
  16. odoo/addons/dms/models/dms_file.py +15 -16
  17. odoo/addons/dms/models/dms_security_mixin.py +46 -20
  18. odoo/addons/dms/models/ir_binary.py +2 -2
  19. odoo/addons/dms/models/mixins_thumbnail.py +1 -1
  20. odoo/addons/dms/models/storage.py +3 -3
  21. odoo/addons/dms/readme/CONTRIBUTORS.md +2 -0
  22. odoo/addons/dms/readme/ROADMAP.md +2 -0
  23. odoo/addons/dms/static/description/index.html +13 -6
  24. odoo/addons/dms/static/src/js/fields/path_json/path_owl.esm.js +5 -5
  25. odoo/addons/dms/static/src/js/fields/preview_binary/preview_record.esm.js +2 -4
  26. odoo/addons/dms/static/src/js/views/dms_file_upload.esm.js +2 -5
  27. odoo/addons/dms/static/src/js/views/file_kanban_controller.esm.js +0 -2
  28. odoo/addons/dms/static/src/js/views/file_kanban_record.esm.js +0 -2
  29. odoo/addons/dms/static/src/js/views/file_kanban_renderer.esm.js +0 -2
  30. odoo/addons/dms/static/src/js/views/file_kanban_view.esm.js +0 -2
  31. odoo/addons/dms/static/src/js/views/file_list_controller.esm.js +0 -2
  32. odoo/addons/dms/static/src/js/views/file_list_renderer.esm.js +0 -2
  33. odoo/addons/dms/static/src/js/views/file_list_view.esm.js +0 -2
  34. odoo/addons/dms/static/src/js/views/search_panel.esm.js +1 -5
  35. odoo/addons/dms/static/src/models/attachment.esm.js +0 -2
  36. odoo/addons/dms/static/src/models/attachment_image.esm.js +0 -2
  37. odoo/addons/dms/static/src/models/attachment_viewer_viewable.esm.js +0 -2
  38. odoo/addons/dms/static/tests/tours/dms_portal_tour.esm.js +3 -7
  39. odoo/addons/dms/template/portal.xml +8 -6
  40. odoo/addons/dms/tests/common.py +9 -10
  41. odoo/addons/dms/tests/test_benchmark.py +19 -1
  42. odoo/addons/dms/tests/test_directory.py +8 -5
  43. odoo/addons/dms/tests/test_file_database.py +1 -1
  44. odoo/addons/dms/tests/test_portal.py +16 -17
  45. odoo/addons/dms/views/dms_access_groups_views.xml +13 -13
  46. odoo/addons/dms/views/dms_category.xml +5 -5
  47. odoo/addons/dms/views/dms_directory.xml +101 -110
  48. odoo/addons/dms/views/dms_file.xml +66 -84
  49. odoo/addons/dms/views/dms_tag.xml +14 -33
  50. odoo/addons/dms/views/menu.xml +22 -13
  51. odoo/addons/dms/views/storage.xml +189 -193
  52. odoo/addons/dms/wizards/wizard_dms_file_move_views.xml +1 -1
  53. {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-18.0.1.0.0.2.dist-info}/METADATA +72 -65
  54. {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-18.0.1.0.0.2.dist-info}/RECORD +56 -59
  55. odoo/addons/dms/static/src/scss/directory_kanban.scss +0 -53
  56. odoo/addons/dms/static/src/scss/dms_common.scss +0 -69
  57. odoo/addons/dms/static/src/scss/file_kanban.scss +0 -70
  58. {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-18.0.1.0.0.2.dist-info}/WHEEL +0 -0
  59. {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-18.0.1.0.0.2.dist-info}/top_level.txt +0 -0
@@ -25,14 +25,14 @@
25
25
  </field>
26
26
  </record>
27
27
  <record id="view_dms_category_tree" model="ir.ui.view">
28
- <field name="name">dms_category.tree</field>
28
+ <field name="name">dms_category.list</field>
29
29
  <field name="model">dms.category</field>
30
30
  <field name="arch" type="xml">
31
- <tree>
31
+ <list>
32
32
  <field name="name" />
33
33
  <field name="parent_id" />
34
34
  <field name="tag_ids" />
35
- </tree>
35
+ </list>
36
36
  </field>
37
37
  </record>
38
38
  <record id="view_dms_category_form" model="ir.ui.view">
@@ -84,7 +84,7 @@
84
84
  <field
85
85
  name="child_category_ids"
86
86
  widget="one2many"
87
- mode="tree"
87
+ mode="list"
88
88
  context="{'default_parent_id': id}"
89
89
  />
90
90
  </page>
@@ -96,7 +96,7 @@
96
96
  <record id="action_dms_category" model="ir.actions.act_window">
97
97
  <field name="name">Categories</field>
98
98
  <field name="res_model">dms.category</field>
99
- <field name="view_mode">tree,form</field>
99
+ <field name="view_mode">list,form</field>
100
100
  <field name="context">{'search_default_all': 1}</field>
101
101
  <field name="help" type="html">
102
102
  <p class="o_view_nocontent_smiling_face">
@@ -11,7 +11,7 @@
11
11
  <record id="action_dms_directories_directory" model="ir.actions.act_window">
12
12
  <field name="name">Subdirectories</field>
13
13
  <field name="res_model">dms.directory</field>
14
- <field name="view_mode">kanban,tree,form</field>
14
+ <field name="view_mode">kanban,list,form</field>
15
15
  <field name="domain">
16
16
  [
17
17
  ("is_hidden", "=", False),
@@ -36,7 +36,7 @@
36
36
  <record id="action_dms_files_directory" model="ir.actions.act_window">
37
37
  <field name="name">Files</field>
38
38
  <field name="res_model">dms.file</field>
39
- <field name="view_mode">kanban,tree,graph,pivot,form</field>
39
+ <field name="view_mode">kanban,list,graph,pivot,form</field>
40
40
  <field name="domain">
41
41
  [
42
42
  ("is_hidden", "=", False),
@@ -60,7 +60,7 @@
60
60
  <record id="action_dms_directories_all_directory" model="ir.actions.act_window">
61
61
  <field name="name">Subdirectories</field>
62
62
  <field name="res_model">dms.directory</field>
63
- <field name="view_mode">kanban,tree,form</field>
63
+ <field name="view_mode">kanban,list,form</field>
64
64
  <field name="domain">
65
65
  [
66
66
  ("parent_id", "child_of", active_id),
@@ -86,7 +86,7 @@
86
86
  <record id="action_dms_files_all_directory" model="ir.actions.act_window">
87
87
  <field name="name">Files</field>
88
88
  <field name="res_model">dms.file</field>
89
- <field name="view_mode">kanban,tree,graph,pivot,form</field>
89
+ <field name="view_mode">kanban,list,graph,pivot,form</field>
90
90
  <field name="domain">
91
91
  [
92
92
  ("is_hidden", "=", False),
@@ -194,6 +194,7 @@
194
194
  <kanban
195
195
  class="mk_directory_kanban_view o_kanban_small_column o_kanban_mobile"
196
196
  banner_route="/onboarding/document_onboarding_file"
197
+ highlight_color="color"
197
198
  >
198
199
  <field name="id" />
199
200
  <field name="tag_ids" />
@@ -212,16 +213,16 @@
212
213
  <field name="count_total_directories" />
213
214
  <field name="count_total_files" />
214
215
  <templates>
215
- <t t-name="kanban-menu">
216
+ <t t-name="menu">
216
217
  <div class="container">
217
218
  <div class="row">
218
- <div
219
- class="col-6 mk_directory_kanban_views o_kanban_card_manage_section o_kanban_manage_view"
220
- >
219
+ <div name="card_menu_view" class="col-6">
221
220
  <h5
222
221
  role="menuitem"
223
222
  class="o_kanban_card_manage_title"
224
- >Views</h5>
223
+ >
224
+ <span>Views</span>
225
+ </h5>
225
226
  <div role="menuitem">
226
227
  <a
227
228
  type="object"
@@ -241,13 +242,13 @@
241
242
  </a>
242
243
  </div>
243
244
  </div>
244
- <div
245
- class="col-6 border-left mk_directory_kanban_actions o_kanban_card_manage_section"
246
- >
245
+ <div class="col-6 o_kanban_manage_actions">
247
246
  <h5
248
247
  role="menuitem"
249
248
  class="o_kanban_card_manage_title"
250
- >Actions</h5>
249
+ >
250
+ <span>Actions</span>
251
+ </h5>
251
252
  <div role="menuitem">
252
253
  <a type="open">
253
254
  <i class="fa fa-external-link" />
@@ -274,115 +275,110 @@
274
275
  </div>
275
276
  </div>
276
277
  </div>
277
- <div class="o_kanban_card_manage_settings row">
278
+ <div class="o_kanban_card_manage_actions row">
278
279
  <div
279
- t-if="record.permission_write.raw_value"
280
280
  role="menuitem"
281
281
  aria-haspopup="true"
282
+ class="col-6"
283
+ t-if="record.permission_write.raw_value"
282
284
  >
283
- <ul
284
- class="oe_kanban_colorpicker"
285
- data-field="color"
286
- role="popup"
287
- />
285
+ <field name="color" widget="kanban_color_picker" />
288
286
  </div>
289
287
  </div>
290
288
  </div>
291
289
  </t>
292
- <t t-name="kanban-box">
293
- <div
294
- t-attf-class="#{kanban_color(record.color.raw_value)} o_kanban_wrapper oe_kanban_global_click oe_kanban_content oe_kanban_card row g-0"
295
- >
296
- <div class="col-1 h-100">
297
- <div class="h-50">
298
- <a
299
- type="object"
300
- name="action_dms_directories_all_directory"
301
- role="button"
302
- class="btn btn-sm btn-outline-primary o_dms_directory_btn"
303
- t-att-title="record.count_directories_title.raw_value"
304
- >
305
- <i class="fa fa-xs fa-folder" />
306
- <span
307
- class="total_items"
308
- t-esc="record.count_total_directories.raw_value"
309
- />
310
- </a>
290
+ <t t-name="card" class="flex-row">
291
+ <main>
292
+ <div
293
+ t-attf-class="oe_kanban_global_click oe_kanban_content row g-0"
294
+ >
295
+ <div class="col-3 h-100">
296
+ <img
297
+ t-att-src="record.icon_url.raw_value"
298
+ alt="Icon"
299
+ class="img img-fluid object-fit-cover"
300
+ />
311
301
  </div>
312
- <div class="h-50">
313
- <a
314
- type="object"
315
- name="action_dms_files_all_directory"
316
- role="button"
317
- class="btn btn-sm btn-outline-primary o_dms_directory_btn"
318
- t-att-title="record.count_files_title.raw_value"
319
- >
320
- <i class="fa fa-xs fa-file" />
321
- <span
322
- class="total_items"
323
- t-esc="record.count_total_files.raw_value"
324
- />
325
- </a>
302
+ <div class="col-8">
303
+ <field name="name" class="text-truncate fw-bold" />
304
+ <field
305
+ name="tag_ids"
306
+ widget="many2many_tags"
307
+ options="{'color_field': 'color'}"
308
+ />
309
+ <field name="write_date" widget="date" />
326
310
  </div>
327
311
  </div>
328
- <div class="col-3 h-100">
329
- <img
330
- t-att-src="record.icon_url.raw_value"
331
- alt="Icon"
332
- class="h-100"
333
- />
334
- </div>
335
- <div class="col-8">
336
- <div class="o_kanban_details">
337
- <div class="o_kanban_record_title o_text_overflow">
338
- <field name="name" />
339
- </div>
340
- <div class="o_kanban_record_body">
341
- <field
342
- name="tag_ids"
343
- widget="many2many_tags"
344
- options="{'color_field': 'color'}"
345
- />
346
- <field name="write_date" widget="date" />
347
- </div>
348
- <div class="o_kanban_record_bottom">
349
- <div class="oe_kanban_bottom_left" />
350
- <div class="oe_kanban_bottom_right">
351
- <a
352
- role="button"
353
- type="object"
354
- name="toggle_starred"
355
- t-attf-class="fa fa-lg fa-star#{record.starred.raw_value ? ' favorite_sign_button_enabled' : '-o'} favorite_sign_button"
356
- title="Starred"
312
+ <footer class="mt-auto pt-0 ms-1">
313
+ <div class="d-flex align-items-center">
314
+ <div class="d-flex align-items-baseline">
315
+ <a
316
+ type="object"
317
+ name="action_dms_directories_all_directory"
318
+ role="button"
319
+ class="me-1"
320
+ t-att-title="record.count_directories_title.raw_value"
321
+ >
322
+ <i class="fa fa-xs fa-folder" />
323
+ <span>&amp;nbsp;</span>
324
+ <span
325
+ class="total_items"
326
+ t-esc="record.count_total_directories.raw_value"
357
327
  />
358
- <img
359
- t-att-src="kanban_image('res.users', 'image_128', record.create_uid.raw_value)"
360
- t-att-title="record.create_uid.value"
361
- t-att-alt="record.create_uid.value"
362
- class="oe_kanban_avatar"
328
+ <span class="ms-1">Directories</span>
329
+ </a>
330
+ <a
331
+ type="object"
332
+ name="action_dms_files_all_directory"
333
+ role="button"
334
+ class="me-1"
335
+ t-att-title="record.count_files_title.raw_value"
336
+ >
337
+ <i class="fa fa-xs fa-file" />
338
+ <span>&amp;nbsp;</span>
339
+ <span
340
+ class="total_items"
341
+ t-esc="record.count_total_files.raw_value"
363
342
  />
364
- </div>
343
+ <span class="ms-1">Files</span>
344
+ </a>
365
345
  </div>
366
346
  </div>
367
- </div>
368
- </div>
347
+ <div class="d-flex ms-auto">
348
+ <a
349
+ role="button"
350
+ type="object"
351
+ name="toggle_starred"
352
+ t-attf-class="fa fa-lg fa-star#{record.starred.raw_value ? ' favorite_sign_button_enabled' : '-o'} favorite_sign_button"
353
+ title="Starred"
354
+ />
355
+ <img
356
+ t-attf-src="/web/image/res.users/#{record.create_uid.raw_value}/avatar_128"
357
+ t-att-title="record.create_uid.value"
358
+ t-att-alt="record.create_uid.value"
359
+ class="oe_kanban_avatar"
360
+ style="max-width:20px;"
361
+ />
362
+ </div>
363
+ </footer>
364
+ </main>
369
365
  </t>
370
366
  </templates>
371
367
  </kanban>
372
368
  </field>
373
369
  </record>
374
370
  <record id="view_dms_directory_tree" model="ir.ui.view">
375
- <field name="name">dms_directory.tree</field>
371
+ <field name="name">dms_directory.list</field>
376
372
  <field name="model">dms.directory</field>
377
373
  <field name="arch" type="xml">
378
- <tree default_order="complete_name asc">
374
+ <list default_order="complete_name asc">
379
375
  <field name="name" />
380
376
  <field name="write_date" />
381
377
  <field name="count_files" string="Files" />
382
378
  <field name="count_directories" string="Directories" />
383
379
  <field name="complete_name" />
384
380
  <field name="storage_id" groups="dms.group_dms_manager" />
385
- </tree>
381
+ </list>
386
382
  </field>
387
383
  </record>
388
384
  <record id="view_dms_directory_form" model="ir.ui.view">
@@ -390,8 +386,7 @@
390
386
  <field name="model">dms.directory</field>
391
387
  <field name="arch" type="xml">
392
388
  <form>
393
- <header>
394
- </header>
389
+ <header />
395
390
  <sheet>
396
391
  <div class="oe_button_box" name="button_box">
397
392
  <button
@@ -528,7 +523,7 @@
528
523
  context="{'default_parent_id': id, 'mail_create_nolog': True}"
529
524
  readonly="not permission_create"
530
525
  >
531
- <tree limit="10">
526
+ <list limit="10">
532
527
  <field name="name" />
533
528
  <field
534
529
  name="count_directories"
@@ -536,7 +531,7 @@
536
531
  />
537
532
  <field name="count_total_files" string="Files" />
538
533
  <field name="human_size" string="Size" />
539
- </tree>
534
+ </list>
540
535
  </field>
541
536
  </page>
542
537
  <page name="page_files" string="Files">
@@ -545,12 +540,12 @@
545
540
  context="{'default_directory_id': id, 'mail_create_nolog': True}"
546
541
  readonly="not permission_create"
547
542
  >
548
- <tree limit="10">
543
+ <list limit="10">
549
544
  <field name="name" />
550
545
  <field name="mimetype" />
551
- <field name="human_size" string="Size" />
546
+ <field name="human_size" string="Size" />
552
547
  <field name="write_date" readonly="1" />
553
- </tree>
548
+ </list>
554
549
  </field>
555
550
  </page>
556
551
  <page name="page_meta" string="Meta Information">
@@ -582,12 +577,12 @@
582
577
  invisible="storage_id_save_type == 'attachment' and storage_id_inherit_access_from_parent_record"
583
578
  >
584
579
  <field name="group_ids">
585
- <tree>
580
+ <list>
586
581
  <field name="name" />
587
582
  <field name="perm_create" />
588
583
  <field name="perm_write" />
589
584
  <field name="perm_unlink" />
590
- </tree>
585
+ </list>
591
586
  </field>
592
587
  </page>
593
588
  <page
@@ -595,12 +590,12 @@
595
590
  invisible="storage_id_save_type == 'attachment' and storage_id_inherit_access_from_parent_record"
596
591
  >
597
592
  <field name="complete_group_ids">
598
- <tree>
593
+ <list>
599
594
  <field name="name" />
600
595
  <field name="perm_create" />
601
596
  <field name="perm_write" />
602
597
  <field name="perm_unlink" />
603
- </tree>
598
+ </list>
604
599
  </field>
605
600
  </page>
606
601
  <page name="mail_alias" string="Email Alias">
@@ -637,18 +632,14 @@
637
632
  </page>
638
633
  </notebook>
639
634
  </sheet>
640
- <div class="oe_chatter">
641
- <field name="message_follower_ids" />
642
- <field name="activity_ids" />
643
- <field name="message_ids" />
644
- </div>
635
+ <chatter />
645
636
  </form>
646
637
  </field>
647
638
  </record>
648
639
  <record id="action_dms_directory" model="ir.actions.act_window">
649
640
  <field name="name">Directories</field>
650
641
  <field name="res_model">dms.directory</field>
651
- <field name="view_mode">kanban,tree,form</field>
642
+ <field name="view_mode">kanban,list,form</field>
652
643
  <field name="domain">[("is_hidden", "=", False)]</field>
653
644
  <field name="help" type="html">
654
645
  <p class="o_view_nocontent_smiling_face">