You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
4.1 KiB

  1. .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
  2. :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
  3. :alt: License: AGPL-3
  4. ====================
  5. Multiple Images Base
  6. ====================
  7. This module extends the functionality of any model to support multiple images
  8. (a gallery) attached to it and allow you to manage them.
  9. Installation
  10. ============
  11. This module adds abstract models to work on. Its sole purpose is to serve as
  12. base for other modules that implement galleries, so if you install this one
  13. manually you will notice no change. You should install any other module based
  14. on this one and this will get installed automatically.
  15. Usage
  16. =====
  17. To manage all stored images, you need to:
  18. * Go to *Settings > Technical > Multi images*.
  19. ... but you probably prefer to manage them from the forms supplied by
  20. submodules that inherit this behavior.
  21. Development
  22. ===========
  23. To develop a module based on this one:
  24. * See module ``product_multi_image`` as an example.
  25. * You have to inherit model ``base_multi_image.owner`` to the model that needs
  26. the gallery::
  27. class MyOwner(models.Model):
  28. _name = "my.model.name"
  29. _inherit = ["my.model.name", "base_multi_image.owner"]
  30. # If you need this, you will need ``post_init_hook_for_submodules``
  31. old_image_field = fields.Binary(related="image_main", store=False)
  32. * Somewhere in the owner view, add::
  33. <field
  34. name="image_ids"
  35. nolabel="1"
  36. context="{
  37. 'default_owner_model': 'my.model.name',
  38. 'default_owner_id': id,
  39. }"
  40. mode="kanban"/>
  41. * If the model you are extending already had an image field, and you want to
  42. trick Odoo to make those images to multi-image mode, you will need to make
  43. use of the provided :meth:`~.hooks.pre_init_hook_for_submodules` and
  44. :meth:`~.hooks.uninstall_hook_for_submodules`, like the
  45. ``product_multi_image`` module does::
  46. from openerp.addons.base_multi_image.hooks import \
  47. pre_init_hook_for_submodules
  48. def pre_init_hook(cr):
  49. """Transform single into multi images."""
  50. pre_init_hook_for_submodules(cr, "product.template", "image")
  51. pre_init_hook_for_submodules(cr, "product.product", "image_variant")
  52. def uninstall_hook(cr, registry):
  53. """Remove multi images for models that no longer use them."""
  54. uninstall_hook_for_submodules(cr, registry, "product.template")
  55. uninstall_hook_for_submodules(cr, registry, "product.product")
  56. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
  57. :alt: Try me on Runbot
  58. :target: https://runbot.odoo-community.org/runbot/149/9.0
  59. Known issues / Roadmap
  60. ======================
  61. * *OS file* storage mode for images is meant to provide a path where Odoo has
  62. read access and the image is already found, **not for making the module store
  63. images there**. It would be nice to add that feature though.
  64. Bug Tracker
  65. ===========
  66. Bugs are tracked on `GitHub Issues
  67. <https://github.com/OCA/server-tools/issues>`_. In case of trouble, please
  68. check there if your issue has already been reported. If you spotted it first,
  69. help us smashing it by providing a detailed and welcomed `feedback
  70. <https://github.com/OCA/
  71. server-tools/issues/new?body=module:%20
  72. base_multi_image%0Aversion:%20
  73. 9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
  74. Credits
  75. =======
  76. Original implementation
  77. -----------------------
  78. This module is inspired in previous module *product_images* from OpenLabs
  79. and Akretion.
  80. Contributors
  81. ------------
  82. * Pedro M. Baeza <pedro.baeza@serviciosbaeza.com>
  83. * Rafael Blasco <rafabn@antiun.com>
  84. * Jairo Llopis <yajo.sk8@gmail.com>
  85. * Sodexis <dev@sodexis.com>
  86. Maintainer
  87. ----------
  88. .. image:: https://odoo-community.org/logo.png
  89. :alt: Odoo Community Association
  90. :target: https://odoo-community.org
  91. This module is maintained by the OCA.
  92. OCA, or the Odoo Community Association, is a nonprofit organization whose
  93. mission is to support the collaborative development of Odoo features and
  94. promote its widespread use.
  95. To contribute to this module, please visit http://odoo-community.org.