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.

135 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. try:
  47. from openerp.addons.base_multi_image.hooks import \
  48. pre_init_hook_for_submodules
  49. except:
  50. pass
  51. def pre_init_hook(cr):
  52. """Transform single into multi images."""
  53. pre_init_hook_for_submodules(cr, "product.template", "image")
  54. pre_init_hook_for_submodules(cr, "product.product", "image_variant")
  55. def uninstall_hook(cr, registry):
  56. """Remove multi images for models that no longer use them."""
  57. uninstall_hook_for_submodules(cr, registry, "product.template")
  58. uninstall_hook_for_submodules(cr, registry, "product.product")
  59. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
  60. :alt: Try me on Runbot
  61. :target: https://runbot.odoo-community.org/runbot/149/9.0
  62. Known issues / Roadmap
  63. ======================
  64. * *OS file* storage mode for images is meant to provide a path where Odoo has
  65. read access and the image is already found, **not for making the module store
  66. images there**. It would be nice to add that feature though.
  67. Bug Tracker
  68. ===========
  69. Bugs are tracked on `GitHub Issues
  70. <https://github.com/OCA/server-tools/issues>`_. In case of trouble, please
  71. check there if your issue has already been reported. If you spotted it first,
  72. help us smashing it by providing a detailed and welcomed `feedback
  73. <https://github.com/OCA/
  74. server-tools/issues/new?body=module:%20
  75. base_multi_image%0Aversion:%20
  76. 9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
  77. Credits
  78. =======
  79. Original implementation
  80. -----------------------
  81. This module is inspired in previous module *product_images* from OpenLabs
  82. and Akretion.
  83. Contributors
  84. ------------
  85. * Pedro M. Baeza <pedro.baeza@serviciosbaeza.com>
  86. * Rafael Blasco <rafabn@antiun.com>
  87. * Jairo Llopis <yajo.sk8@gmail.com>
  88. * Sodexis <dev@sodexis.com>
  89. Maintainer
  90. ----------
  91. .. image:: https://odoo-community.org/logo.png
  92. :alt: Odoo Community Association
  93. :target: https://odoo-community.org
  94. This module is maintained by the OCA.
  95. OCA, or the Odoo Community Association, is a nonprofit organization whose
  96. mission is to support the collaborative development of Odoo features and
  97. promote its widespread use.
  98. To contribute to this module, please visit http://odoo-community.org.