Browse Source
Merge pull request #402 from sodexis/9.0_base_multi_image
Merge pull request #402 from sodexis/9.0_base_multi_image
[PORT][9.0] base multi imagepull/409/head
Pedro M. Baeza
9 years ago
25 changed files with 2788 additions and 0 deletions
-
124base_multi_image/README.rst
-
7base_multi_image/__init__.py
-
28base_multi_image/__openerp__.py
-
44base_multi_image/hooks.py
-
165base_multi_image/i18n/de.po
-
165base_multi_image/i18n/en.po
-
165base_multi_image/i18n/es.po
-
165base_multi_image/i18n/fi.po
-
165base_multi_image/i18n/fr.po
-
165base_multi_image/i18n/fr_CA.po
-
166base_multi_image/i18n/it.po
-
165base_multi_image/i18n/pt_BR.po
-
165base_multi_image/i18n/ru.po
-
166base_multi_image/i18n/sl.po
-
22base_multi_image/i18n/sv.po
-
165base_multi_image/i18n/tr.po
-
BINbase_multi_image/images/form.png
-
BINbase_multi_image/images/kanban.png
-
5base_multi_image/models/__init__.py
-
176base_multi_image/models/image.py
-
98base_multi_image/models/owner.py
-
2base_multi_image/security/ir.model.access.csv
-
BINbase_multi_image/static/description/icon.png
-
320base_multi_image/static/description/icon.svg
-
145base_multi_image/views/image_view.xml
@ -0,0 +1,124 @@ |
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
|||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html |
|||
:alt: License: AGPL-3 |
|||
|
|||
==================== |
|||
Multiple Images Base |
|||
==================== |
|||
|
|||
This module extends the functionality of any model to support multiple images |
|||
(a gallery) attached to it and allow you to manage them. |
|||
|
|||
Installation |
|||
============ |
|||
|
|||
This module adds abstract models to work on. Its sole purpose is to serve as |
|||
base for other modules that implement galleries, so if you install this one |
|||
manually you will notice no change. You should install any other module based |
|||
on this one and this will get installed automatically. |
|||
|
|||
Usage |
|||
===== |
|||
|
|||
To manage all stored images, you need to: |
|||
|
|||
* Go to *Settings > Technical > Multi images*. |
|||
|
|||
... but you probably prefer to manage them from the forms supplied by |
|||
submodules that inherit this behavior. |
|||
|
|||
Development |
|||
=========== |
|||
|
|||
To develop a module based on this one: |
|||
|
|||
* See module ``product_multi_image`` as an example. |
|||
|
|||
* You have to inherit model ``base_multi_image.owner`` to the model that needs |
|||
the gallery:: |
|||
|
|||
class MyOwner(models.Model): |
|||
_name = "my.model.name" |
|||
_inherit = ["my.model.name", "base_multi_image.owner"] |
|||
|
|||
# If you need this, you will need ``post_init_hook_for_submodules`` |
|||
old_image_field = fields.Binary(related="image_main", store=False) |
|||
|
|||
* Somewhere in the owner view, add:: |
|||
|
|||
<field |
|||
name="image_ids" |
|||
nolabel="1" |
|||
context="{ |
|||
'default_owner_model': 'my.model.name', |
|||
'default_owner_id': id, |
|||
}" |
|||
mode="kanban"/> |
|||
|
|||
* If the model you are extending already had an image field, and you want to |
|||
trick Odoo to make those images to multi-image mode, you will need to make |
|||
use of the provided :meth:`~.hooks.pre_init_hook_for_submodules`, like |
|||
the ``product_multi_image`` module does:: |
|||
|
|||
from openerp.addons.base_multi_image.hooks import \ |
|||
pre_init_hook_for_submodules |
|||
|
|||
|
|||
def pre_init_hook(cr): |
|||
pre_init_hook_for_submodules(cr, "product.template", "image") |
|||
pre_init_hook_for_submodules(cr, "product.product", "image_variant") |
|||
|
|||
|
|||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas |
|||
:alt: Try me on Runbot |
|||
:target: https://runbot.odoo-community.org/runbot/149/9.0 |
|||
|
|||
Known issues / Roadmap |
|||
====================== |
|||
|
|||
* *OS file* storage mode for images is meant to provide a path where Odoo has |
|||
read access and the image is already found, **not for making the module store |
|||
images there**. It would be nice to add that feature though. |
|||
|
|||
Bug Tracker |
|||
=========== |
|||
|
|||
Bugs are tracked on `GitHub Issues |
|||
<https://github.com/OCA/server-tools/issues>`_. In case of trouble, please |
|||
check there if your issue has already been reported. If you spotted it first, |
|||
help us smashing it by providing a detailed and welcomed `feedback |
|||
<https://github.com/OCA/ |
|||
server-tools/issues/new?body=module:%20 |
|||
base_multi_image%0Aversion:%20 |
|||
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Original implementation |
|||
----------------------- |
|||
This module is inspired in previous module *product_images* from OpenLabs |
|||
and Akretion. |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Pedro M. Baeza <pedro.baeza@serviciosbaeza.com> |
|||
* Rafael Blasco <rafabn@antiun.com> |
|||
* Jairo Llopis <yajo.sk8@gmail.com> |
|||
* Sodexis <dev@sodexis.com> |
|||
|
|||
Maintainer |
|||
---------- |
|||
|
|||
.. image:: https://odoo-community.org/logo.png |
|||
:alt: Odoo Community Association |
|||
:target: https://odoo-community.org |
|||
|
|||
This module is maintained by the OCA. |
|||
|
|||
OCA, or the Odoo Community Association, is a nonprofit organization whose |
|||
mission is to support the collaborative development of Odoo features and |
|||
promote its widespread use. |
|||
|
|||
To contribute to this module, please visit http://odoo-community.org. |
@ -0,0 +1,7 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) |
|||
# Pedro M. Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# © 2015 Antiun Ingeniería S.L. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from . import models |
@ -0,0 +1,28 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) |
|||
# Pedro M. Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# © 2015 Antiun Ingeniería S.L. - Jairo Llopis |
|||
# © 2016 Sodexis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
{ |
|||
"name": "Multiple images base", |
|||
"summary": "Allow multiple images for database objects", |
|||
"version": "9.0.1.0.0", |
|||
"author": "Serv. Tecnol. Avanzados - Pedro M. Baeza, " |
|||
"Antiun Ingeniería, S.L., Sodexis, " |
|||
"Odoo Community Association (OCA)", |
|||
"license": "AGPL-3", |
|||
"website": "http://www.antiun.com", |
|||
"category": "Tools", |
|||
"depends": ['base'], |
|||
'installable': True, |
|||
"data": [ |
|||
"security/ir.model.access.csv", |
|||
"views/image_view.xml", |
|||
], |
|||
"images": [ |
|||
"images/form.png", |
|||
"images/kanban.png", |
|||
], |
|||
} |
@ -0,0 +1,44 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2016 Antiun Ingeniería S.L. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from openerp import api, SUPERUSER_ID |
|||
import logging |
|||
|
|||
_logger = logging.getLogger(__name__) |
|||
|
|||
|
|||
def pre_init_hook_for_submodules(cr, model, field): |
|||
"""Moves images from single to multi mode. |
|||
|
|||
Feel free to use this as a ``pre_init_hook`` for submodules. |
|||
|
|||
:param str model: |
|||
Model name, like ``product.template``. |
|||
|
|||
:param str field: |
|||
Binary field that had the images in that :param:`model`, like |
|||
``image``. |
|||
""" |
|||
env = api.Environment(cr, SUPERUSER_ID, dict()) |
|||
with cr.savepoint(): |
|||
cr.execute( |
|||
""" |
|||
INSERT INTO base_multi_image_image ( |
|||
owner_id, |
|||
owner_model, |
|||
storage, |
|||
file_db_store |
|||
) |
|||
SELECT |
|||
id, |
|||
%%s, |
|||
'db', |
|||
%(field)s |
|||
FROM |
|||
%(table)s |
|||
WHERE |
|||
%(field)s IS NOT NULL |
|||
""" % {"table": env[model]._table, "field": field}, |
|||
(model,) |
|||
) |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-8-0/language/de/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: de\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Erstellt von" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Erstellt am:" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Zuletzt aktualisiert von" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Zuletzt aktualisiert am" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Name" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Reihenfolge" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n" |
|||
"Language-Team: English (http://www.transifex.com/oca/OCA-server-tools-8-0/language/en/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: en\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "A document can have only one image with the same name." |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "Comments" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Created by" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Created on" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "Database" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "File extension" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "Filename" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "Image" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "Image path" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "Image remote URL" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "Image stored in database" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "Image title" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "Images" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Last Updated by" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Last Updated on" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "Main image" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "Multi images" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Name" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "OS file" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "Options" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "Owner" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "Owner model" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "Preview" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "Product Images" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Sequence" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "Storage" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "URL" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/es/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: es\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Creado por" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Creado en" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Última actualización de" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Última actualización en" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Nombre" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Secuencia" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Finnish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fi/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: fi\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Luonut" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Luotu" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Viimeksi päivittänyt" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Viimeksi päivitetty" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Nimi" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: French (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fr/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: fr\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Créé par" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Créé le" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Mis à jour par" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Mis à jour le" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Nom" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: French (Canada) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fr_CA/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: fr_CA\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Nom" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,166 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
# Paolo Valier, 2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-17 15:36+0000\n" |
|||
"PO-Revision-Date: 2016-03-13 08:39+0000\n" |
|||
"Last-Translator: Paolo Valier\n" |
|||
"Language-Team: Italian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/it/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: it\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "Un documento può avere una sola immagine con lo stesso nome." |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "Commenti" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Creato da" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Creato il" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "Database" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "Estensione file" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "Nome del file" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "Immagine" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "Percorso immagine" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "URL remoto dell'immagine" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "Immagine salata del database" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "Titolo dell'immagine" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "Immagini" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Ultimo aggiornamento da" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Ultimo aggiornamento il" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "Immagine principale" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "Immagini multiple" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Nome" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "Opzioni" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "Proprietario" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "Anteprima" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "Immagini del Prodotto" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Sequenza" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "URL" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/pt_BR/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: pt_BR\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Criado por" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Criado em" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "Identificação" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Última atualização por" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Última atualização em" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Nome" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Sequência" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Russian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/ru/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: ru\n" |
|||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Название" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
@ -0,0 +1,166 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-10 05:44+0000\n" |
|||
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n" |
|||
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/sl/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: sl\n" |
|||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "Dokument lahko vsebuje le eno sliko z istim nazivom." |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "Komentarji" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Ustvaril" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Ustvarjeno" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "Podatkovna baza" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "Končnica datoteke" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "Naziv datoteke" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "Slika" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "Pot do slike" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "URL povezava do slike" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "Slika shranjena v podatkovno bazo" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "Naziv slike" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "Slike" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Zadnji posodobil" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Zadnjič posodobljeno" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "Glavna slika" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "Več slik" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Naziv" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "OS datoteka" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "Možnosti" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "Lastnik" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "Model lastnika" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "Predogled" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "Slike proizvoda" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Zaporedje" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "Shranjevalni medij" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "URL" |
@ -0,0 +1,22 @@ |
|||
# Translation of OpenERP Server. |
|||
# This file contains the translation of the following modules: |
|||
# * product_images_olbs |
|||
# |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: OpenERP Server 5.0.14\n" |
|||
"Report-Msgid-Bugs-To: support@openerp.com\n" |
|||
"POT-Creation-Date: 2010-11-22 10:19:32+0000\n" |
|||
"PO-Revision-Date: 2010-11-22 10:19:32+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: \n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Plural-Forms: \n" |
|||
|
|||
#. module: product_images_olbs |
|||
#: model:ir.module.module,shortdesc:product_images_olbs.module_meta_information |
|||
msgid "Product Image Gallery" |
|||
msgstr "Product Image Gallery" |
|||
|
@ -0,0 +1,165 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * base_multi_image |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-03-12 02:05+0000\n" |
|||
"PO-Revision-Date: 2016-03-09 16:29+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Turkish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/tr/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: tr\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/image.py:22 |
|||
#: sql_constraint:base_multi_image.image:0 |
|||
#, python-format |
|||
msgid "A document can have only one image with the same name." |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,comments:0 |
|||
msgid "Comments" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_uid:0 |
|||
msgid "Created by" |
|||
msgstr "Oluşturan" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,create_date:0 |
|||
msgid "Created on" |
|||
msgstr "Oluşturuldu" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "Database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,extension:0 |
|||
msgid "File extension" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,filename:0 |
|||
msgid "Filename" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,id:0 field:base_multi_image.owner,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,path:0 help:base_multi_image.image,path:0 |
|||
msgid "Image path" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,url:0 |
|||
msgid "Image remote URL" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,file_db_store:0 |
|||
msgid "Image stored in database" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,name:0 |
|||
msgid "Image title" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_tree_view |
|||
#: field:base_multi_image.owner,image_ids:0 |
|||
msgid "Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_uid:0 |
|||
msgid "Last Updated by" |
|||
msgstr "Son güncelleyen" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,write_date:0 |
|||
msgid "Last Updated on" |
|||
msgstr "Son güncellenme" |
|||
|
|||
#. module: base_multi_image |
|||
#: code:addons/base_multi_image/models/owner.py:73 |
|||
#, python-format |
|||
msgid "Main image" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: model:ir.actions.act_window,name:base_multi_image.image_action |
|||
#: model:ir.ui.menu,name:base_multi_image.image_menu |
|||
msgid "Multi images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Name" |
|||
msgstr "Adı" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "OS file" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Options" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
#: field:base_multi_image.image,owner_id:0 |
|||
msgid "Owner" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,owner_model:0 |
|||
msgid "Owner model" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_form_view |
|||
msgid "Preview" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: view:base_multi_image.image:base_multi_image.image_kanban_view |
|||
msgid "Product Images" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,sequence:0 |
|||
msgid "Sequence" |
|||
msgstr "Sıra" |
|||
|
|||
#. module: base_multi_image |
|||
#: field:base_multi_image.image,storage:0 |
|||
msgid "Storage" |
|||
msgstr "" |
|||
|
|||
#. module: base_multi_image |
|||
#: selection:base_multi_image.image,storage:0 |
|||
msgid "URL" |
|||
msgstr "" |
After Width: 1212 | Height: 479 | Size: 49 KiB |
After Width: 1131 | Height: 501 | Size: 139 KiB |
@ -0,0 +1,5 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015 Antiun Ingeniería S.L. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from . import image, owner |
@ -0,0 +1,176 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) |
|||
# Pedro M. Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# © 2015 Antiun Ingeniería S.L. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
import base64 |
|||
import urllib |
|||
import os |
|||
import logging |
|||
from openerp import models, fields, api, exceptions, _ |
|||
from openerp import tools |
|||
|
|||
_logger = logging.getLogger(__name__) |
|||
|
|||
|
|||
class Image(models.Model): |
|||
_name = "base_multi_image.image" |
|||
_order = "sequence, owner_model, owner_id, id" |
|||
_sql_constraints = [ |
|||
('uniq_name_owner', 'UNIQUE(owner_id, owner_model, name)', |
|||
_('A document can have only one image with the same name.')), |
|||
] |
|||
|
|||
owner_id = fields.Integer( |
|||
"Owner", |
|||
required=True) |
|||
owner_model = fields.Char( |
|||
required=True) |
|||
storage = fields.Selection( |
|||
[('url', 'URL'), ('file', 'OS file'), ('db', 'Database')], |
|||
required=True) |
|||
name = fields.Char( |
|||
'Image title', |
|||
translate=True) |
|||
filename = fields.Char() |
|||
extension = fields.Char( |
|||
'File extension', |
|||
readonly=True) |
|||
file_db_store = fields.Binary( |
|||
'Image stored in database', |
|||
filters='*.png,*.jpg,*.gif') |
|||
path = fields.Char( |
|||
"Image path", |
|||
help="Image path") |
|||
url = fields.Char( |
|||
'Image remote URL') |
|||
image_main = fields.Binary( |
|||
"Full-sized image", |
|||
compute="_get_image") |
|||
image_medium = fields.Binary( |
|||
"Medium-sized image", |
|||
compute="_get_image_sizes", |
|||
help="Medium-sized image. It is automatically resized as a " |
|||
"128 x 128 px image, with aspect ratio preserved, only when the " |
|||
"image exceeds one of those sizes. Use this field in form views " |
|||
"or kanban views.") |
|||
image_small = fields.Binary( |
|||
"Small-sized image", |
|||
compute="_get_image_sizes", |
|||
help="Small-sized image. It is automatically resized as a 64 x 64 px " |
|||
"image, with aspect ratio preserved. Use this field anywhere a " |
|||
"small image is required.") |
|||
comments = fields.Text( |
|||
'Comments', |
|||
translate=True) |
|||
sequence = fields.Integer( |
|||
default=10) |
|||
show_technical = fields.Boolean( |
|||
compute="_show_technical") |
|||
|
|||
@api.multi |
|||
@api.depends('storage', 'path', 'file_db_store', 'url') |
|||
def _get_image(self): |
|||
"""Get image data from the right storage type.""" |
|||
for s in self: |
|||
s.image_main = getattr(s, "_get_image_from_%s" % s.storage)() |
|||
|
|||
@api.multi |
|||
@api.depends("owner_id", "owner_model") |
|||
def _show_technical(self): |
|||
"""Know if you need to show the technical fields.""" |
|||
self.show_technical = all( |
|||
"default_owner_%s" % f not in self.env.context |
|||
for f in ("id", "model")) |
|||
|
|||
@api.multi |
|||
def _get_image_from_db(self): |
|||
return self.file_db_store |
|||
|
|||
@api.multi |
|||
def _get_image_from_file(self): |
|||
if self.path and os.path.exists(self.path): |
|||
try: |
|||
with open(self.path, 'rb') as f: |
|||
return base64.b64encode(f.read()) |
|||
except Exception as e: |
|||
_logger.error("Can not open the image %s, error : %s", |
|||
self.path, e, exc_info=True) |
|||
else: |
|||
_logger.error("The image %s doesn't exist ", self.path) |
|||
|
|||
return False |
|||
|
|||
@api.multi |
|||
def _get_image_from_url(self): |
|||
return self._get_image_from_url_cached(self.url) |
|||
|
|||
@api.model |
|||
@tools.ormcache(skiparg=1) |
|||
def _get_image_from_url_cached(self, url): |
|||
"""Allow to download an image and cache it by its URL.""" |
|||
if url: |
|||
try: |
|||
(filename, header) = urllib.urlretrieve(url) |
|||
with open(filename, 'rb') as f: |
|||
return base64.b64encode(f.read()) |
|||
except: |
|||
_logger.error("URL %s cannot be fetched", url, |
|||
exc_info=True) |
|||
|
|||
return False |
|||
|
|||
@api.multi |
|||
@api.depends('image_main') |
|||
def _get_image_sizes(self): |
|||
for s in self: |
|||
try: |
|||
vals = tools.image_get_resized_images( |
|||
s.with_context(bin_size=False).image_main) |
|||
except: |
|||
vals = {"image_medium": False, |
|||
"image_small": False} |
|||
s.update(vals) |
|||
|
|||
@api.model |
|||
def _make_name_pretty(self, name): |
|||
return name.replace('_', ' ').capitalize() |
|||
|
|||
@api.onchange('url') |
|||
def _onchange_url(self): |
|||
if self.url: |
|||
filename = self.url.split('/')[-1] |
|||
self.name, self.extension = os.path.splitext(filename) |
|||
self.name = self._make_name_pretty(self.name) |
|||
|
|||
@api.onchange('path') |
|||
def _onchange_path(self): |
|||
if self.path: |
|||
self.name, self.extension = os.path.splitext(os.path.basename( |
|||
self.path)) |
|||
self.name = self._make_name_pretty(self.name) |
|||
|
|||
@api.onchange('filename') |
|||
def _onchange_filename(self): |
|||
if self.filename: |
|||
self.name, self.extension = os.path.splitext(self.filename) |
|||
self.name = self._make_name_pretty(self.name) |
|||
|
|||
@api.constrains('storage', 'url') |
|||
def _check_url(self): |
|||
if self.storage == 'url' and not self.url: |
|||
raise exceptions.ValidationError( |
|||
'You must provide an URL for the image.') |
|||
|
|||
@api.constrains('storage', 'path') |
|||
def _check_path(self): |
|||
if self.storage == 'file' and not self.path: |
|||
raise exceptions.ValidationError( |
|||
'You must provide a file path for the image.') |
|||
|
|||
@api.constrains('storage', 'file_db_store') |
|||
def _check_store(self): |
|||
if self.storage == 'db' and not self.file_db_store: |
|||
raise exceptions.ValidationError( |
|||
'You must provide an attached file for the image.') |
@ -0,0 +1,98 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2014 Serv. Tecnol. Avanzados (http://www.serviciosbaeza.com) |
|||
# Pedro M. Baeza <pedro.baeza@serviciosbaeza.com> |
|||
# © 2015 Antiun Ingeniería S.L. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from openerp import _, api, fields, models, tools |
|||
|
|||
|
|||
class Owner(models.AbstractModel): |
|||
_name = "base_multi_image.owner" |
|||
|
|||
image_ids = fields.One2many( |
|||
comodel_name='base_multi_image.image', |
|||
inverse_name='owner_id', |
|||
string='Images', |
|||
domain=lambda self: [("owner_model", "=", self._name)], |
|||
copy=True) |
|||
image_main = fields.Binary( |
|||
string="Main image", |
|||
store=False, |
|||
compute="_get_multi_image", |
|||
inverse="_set_multi_image_main") |
|||
image_main_medium = fields.Binary( |
|||
string="Medium image", |
|||
compute="_get_multi_image", |
|||
inverse="_set_multi_image_main_medium", |
|||
store=False) |
|||
image_main_small = fields.Binary( |
|||
string="Small image", |
|||
compute="_get_multi_image", |
|||
inverse="_set_multi_image_main_small", |
|||
store=False) |
|||
|
|||
@api.multi |
|||
@api.depends('image_ids') |
|||
def _get_multi_image(self): |
|||
"""Get the main image for this object. |
|||
|
|||
This is provided as a compatibility layer for submodels that already |
|||
had one image per record. |
|||
""" |
|||
for s in self: |
|||
first = s.image_ids[:1] |
|||
s.image_main = first.image_main |
|||
s.image_main_medium = first.image_medium |
|||
s.image_main_small = first.image_small |
|||
|
|||
@api.multi |
|||
def _set_multi_image(self, image=False, name=False): |
|||
"""Save or delete the main image for this record. |
|||
|
|||
This is provided as a compatibility layer for submodels that already |
|||
had one image per record. |
|||
""" |
|||
# Values to save |
|||
values = { |
|||
"storage": "db", |
|||
"file_db_store": tools.image_resize_image_big(image), |
|||
"owner_model": self._name, |
|||
} |
|||
if name: |
|||
values["name"] = name |
|||
|
|||
for s in self: |
|||
if image: |
|||
values["owner_id"] = s.id |
|||
# Editing |
|||
if s.image_ids: |
|||
s.image_ids[0].write(values) |
|||
# Adding |
|||
else: |
|||
values.setdefault("name", name or _("Main image")) |
|||
s.image_ids = [(0, 0, values)] |
|||
# Deleting |
|||
elif s.image_ids: |
|||
s.image_ids[0].unlink() |
|||
|
|||
@api.multi |
|||
def _set_multi_image_main(self): |
|||
self._set_multi_image(self.image_main) |
|||
|
|||
@api.multi |
|||
def _set_multi_image_main_medium(self): |
|||
self._set_multi_image(self.image_main_medium) |
|||
|
|||
@api.multi |
|||
def _set_multi_image_main_small(self): |
|||
self._set_multi_image(self.image_main_small) |
|||
|
|||
@api.multi |
|||
def unlink(self): |
|||
"""Mimic `ondelete="cascade"` for multi images.""" |
|||
images = self.mapped("image_ids") |
|||
result = super(Owner, self).unlink() |
|||
if result: |
|||
images.unlink() |
|||
return result |
@ -0,0 +1,2 @@ |
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" |
|||
"access_images","Manage multi images","model_base_multi_image_image","base.group_user",1,1,1,1 |
After Width: 128 | Height: 128 | Size: 15 KiB |
@ -0,0 +1,320 @@ |
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|||
<!-- Created with Inkscape (http://www.inkscape.org/) --> |
|||
|
|||
<svg |
|||
xmlns:dc="http://purl.org/dc/elements/1.1/" |
|||
xmlns:cc="http://creativecommons.org/ns#" |
|||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
|||
xmlns:svg="http://www.w3.org/2000/svg" |
|||
xmlns="http://www.w3.org/2000/svg" |
|||
xmlns:xlink="http://www.w3.org/1999/xlink" |
|||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
|||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
|||
id="svg2" |
|||
sodipodi:docname="icon.svg" |
|||
viewBox="0 0 128 128" |
|||
version="1.1" |
|||
inkscape:version="0.91 r" |
|||
width="128" |
|||
height="128" |
|||
inkscape:export-filename="icon.png" |
|||
inkscape:export-xdpi="90" |
|||
inkscape:export-ydpi="90"> |
|||
<title |
|||
id="title3056">Drawings Icon</title> |
|||
<defs |
|||
id="defs4"> |
|||
<linearGradient |
|||
id="linearGradient3840"> |
|||
<stop |
|||
id="stop3842" |
|||
style="stop-color:#008000" |
|||
offset="0" /> |
|||
<stop |
|||
id="stop3844" |
|||
style="stop-color:#9def9d" |
|||
offset="1" /> |
|||
</linearGradient> |
|||
<linearGradient |
|||
id="linearGradient3629"> |
|||
<stop |
|||
id="stop3631" |
|||
style="stop-color:#ffffff" |
|||
offset="0" /> |
|||
<stop |
|||
id="stop3633" |
|||
style="stop-color:#dedede" |
|||
offset="1" /> |
|||
</linearGradient> |
|||
<linearGradient |
|||
id="linearGradient3637" |
|||
y2="689.96997" |
|||
xlink:href="#linearGradient3629" |
|||
gradientUnits="userSpaceOnUse" |
|||
x2="355.06" |
|||
y1="627.34003" |
|||
x1="265.67999" |
|||
inkscape:collect="always" /> |
|||
<filter |
|||
id="filter3711" |
|||
inkscape:collect="always" |
|||
style="color-interpolation-filters:sRGB"> |
|||
<feGaussianBlur |
|||
id="feGaussianBlur3713" |
|||
stdDeviation="1.6175068" |
|||
inkscape:collect="always" /> |
|||
</filter> |
|||
<linearGradient |
|||
id="linearGradient3744" |
|||
y2="689.96997" |
|||
xlink:href="#linearGradient3629" |
|||
gradientUnits="userSpaceOnUse" |
|||
x2="355.06" |
|||
gradientTransform="matrix(0.77469246,0,0,0.77284478,74.87419,156.55306)" |
|||
y1="627.34003" |
|||
x1="265.67999" |
|||
inkscape:collect="always" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4174" |
|||
gradientUnits="userSpaceOnUse" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4248" |
|||
gradientUnits="userSpaceOnUse" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4250" |
|||
gradientUnits="userSpaceOnUse" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4252" |
|||
gradientUnits="userSpaceOnUse" |
|||
gradientTransform="matrix(0.77469246,0,0,0.77284478,74.87419,156.55306)" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4266" |
|||
gradientUnits="userSpaceOnUse" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4268" |
|||
gradientUnits="userSpaceOnUse" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
<linearGradient |
|||
inkscape:collect="always" |
|||
xlink:href="#linearGradient3629" |
|||
id="linearGradient4270" |
|||
gradientUnits="userSpaceOnUse" |
|||
gradientTransform="matrix(0.77469246,0,0,0.77284478,74.87419,156.55306)" |
|||
x1="265.67999" |
|||
y1="627.34003" |
|||
x2="355.06" |
|||
y2="689.96997" /> |
|||
</defs> |
|||
<sodipodi:namedview |
|||
id="base" |
|||
fit-margin-left="0" |
|||
inkscape:zoom="11.2" |
|||
borderopacity="1.0" |
|||
inkscape:current-layer="layer1" |
|||
inkscape:cx="92.246275" |
|||
inkscape:cy="80.63155" |
|||
inkscape:window-maximized="1" |
|||
showgrid="false" |
|||
fit-margin-right="0" |
|||
inkscape:snap-nodes="false" |
|||
inkscape:document-units="px" |
|||
bordercolor="#666666" |
|||
inkscape:window-x="65" |
|||
inkscape:window-y="24" |
|||
fit-margin-bottom="0" |
|||
inkscape:window-width="1855" |
|||
inkscape:pageopacity="0.0" |
|||
inkscape:pageshadow="2" |
|||
pagecolor="#ffffff" |
|||
inkscape:window-height="1056" |
|||
fit-margin-top="0" /> |
|||
<g |
|||
id="layer1" |
|||
inkscape:label="Papers" |
|||
inkscape:groupmode="layer" |
|||
transform="translate(-254.06,-602.12)"> |
|||
<g |
|||
id="g4254" |
|||
transform="matrix(0.77433453,-0.17292855,0.17292855,0.77433453,-60.645266,215.27704)"> |
|||
<g |
|||
id="g4256" |
|||
transform="translate(2.4999999,3.9285715)"> |
|||
<path |
|||
id="path4258" |
|||
style="fill:url(#linearGradient4266);stroke:#000000;stroke-width:1px;filter:url(#filter3711)" |
|||
inkscape:connector-curvature="0" |
|||
d="m 266.18,625.07 80.307,-15.152 26.769,90.914 -87.883,17.678 -19.193,-93.439 z" /> |
|||
<path |
|||
id="path4260" |
|||
style="fill:url(#linearGradient4268)" |
|||
inkscape:connector-curvature="0" |
|||
d="m 266.18,625.07 80.307,-15.152 26.769,90.914 -87.883,17.678 -19.193,-93.439 z" /> |
|||
</g> |
|||
<path |
|||
sodipodi:nodetypes="ccccc" |
|||
id="path4262" |
|||
style="fill:url(#linearGradient4270);stroke:#b8b8b8;stroke-width:0.77376807" |
|||
inkscape:connector-curvature="0" |
|||
d="m 279.33626,638.76952 65.69064,-12.23055 17.78177,72.34343 -65.82128,12.79442 z" /> |
|||
<image |
|||
y="681.4696" |
|||
x="120.36314" |
|||
id="image4264" |
|||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAACXZwQWcAAABAAAAAQADq8/hgAAAE WklEQVRYw9WX6XKjRhCAef8HiySQvGt5vfZuEselOUAcEpe4GdI9MAgQOjb5k3SVyzY1801PX9Ot Nf9StP80QJR5miRpXtb/AFCnvmMySgmhlJn2Mal+BSBSj1NCGeNSGAMOd0/iQYCI95TAXnm+FCr/ I2ZYPwJILEJhPaGm7flBFIW+Z5sUvwEivguovG7pMR0cV2e+BbYArF3cBqQclKfEvryvSB2KaHa6 BYhgDSP7ZN7gmUNQCf86wCdgcBaKq04/cTzAuwbA/czKb8VdZYMSI8IAEOJ+XjTiFkF4SDjOARII HLiBK+4E/xHOIdEloMSAAwZx7hEOBKIquwA4lFPbR/3uEhzCqSUmgBiwrGgeIlQm5b0zO0CN3yKw 34QgQC4JKZqrGAFC0MpWvuwJ3V6hWD3BI5wchoDaBAumzYQgmsrd7ewZx5bosHIAAAtQp4+nXUuA +2yXy9Xyi4OsIorjauBLZQWtd0Gqrt3EvCXQlb4BMZYfsPP7cr0gvS4FaNw6Qus0ovtez8DZcYyH t8Wmk9XWdF+Mjf570Ke4q46UgAgUCtX55mKl/wSbsD83hrEE0VGJ1RrEWHz2aaXuIAEe7b3SNG/6 01oSzL/W20/T2r2uDNACARvjWelZQTTaCiCg2vSR1bzrsFgSQMk8SbPi8FWX+0GFbX2OXMarDoAm OGfo+wpXt7cwj4Hv+1n+rSMYW3HOfS4TAgHZIDIVYG38wNzchyB+kj4ZUwB4npw6ABokmgA2qz9k fbIkoWDLzQSQ0tbw2gA20kA/nmyqCHG8nmqQd2prbSKQZAIwnk5B5PSE/EWfACCUZGFSgHQKeE6D sCcExfc5wKEDRLMaJHBwTwA/zFzhOLBBPGODoCfEyYUb0XVBB1AGHXvho/SVDsSjF15QrtMG1xlp sDbCrCewj7UxAWAJSjsAlJOuHI0AX9Mi8IMgsJnMC2MMOJA2f7RhXI8AG/2LVxZZVlQWmKElnAFi T5nMH62L67Mb3lTmbIzVK3Uc9r6GvJAEyMa6d0KXP1oXliqbRPPzN0NvBcrBAmSpr37wlrB8GeRS 6zkJECZVNRKeuLfty1C+wc/zp7TD9jVQN7DUDq2vkUEzfAymIl9uZ5iL1B0U1Rw7surmc4SE/sUB E3KaDB8Wd1QS7hJQga4Kayow2aAsXiV0L458HE/jx9UbPi33CIf+ITwDSnxM/IcIcAGIrHzaH+BX 8Ky4awdq41nBZYsjG4/kEQLjg9Q5A9A1jJ7u3CJEa1OzmuvSKgubwPA24IT7WT7fJ5YmEtwbASWO 2AkP94871WpPOCc8vmYHaORhv5lf75VrV3bD+9nZIrUJamhXN9v9kMlu3wonYVlGe9msU1/cGTgK px0YmO2fsrKq66rMk8Bh7dd99sDIk+xxxsE5icqhqfsLflkz1pkbukSCBzI5bqG0EGrPGvfK2FeG DseRi1I5eVFuB8WvDp51FvsH13Fcz4+y6n86Oz8kfwPMD02INEiadQAAAABJRU5ErkJggg== " |
|||
preserveAspectRatio="none" |
|||
height="73.870087" |
|||
width="66.013809" |
|||
transform="matrix(0.98201428,-0.18880665,0.23736204,0.97142126,0,0)" /> |
|||
</g> |
|||
<g |
|||
id="g4229" |
|||
transform="matrix(0.79340926,0,0,0.79340926,57.365182,120.76411)"> |
|||
<g |
|||
transform="translate(2.4999999,3.9285715)" |
|||
id="g3719"> |
|||
<path |
|||
d="m 266.18,625.07 80.307,-15.152 26.769,90.914 -87.883,17.678 -19.193,-93.439 z" |
|||
inkscape:connector-curvature="0" |
|||
style="fill:url(#linearGradient4174);stroke:#000000;stroke-width:1px;filter:url(#filter3711)" |
|||
id="path3689" /> |
|||
<path |
|||
d="m 266.18,625.07 80.307,-15.152 26.769,90.914 -87.883,17.678 -19.193,-93.439 z" |
|||
inkscape:connector-curvature="0" |
|||
style="fill:url(#linearGradient3637)" |
|||
id="path2851" /> |
|||
</g> |
|||
<path |
|||
d="m 279.33626,638.76952 65.69064,-12.23055 17.78177,72.34343 -65.82128,12.79442 z" |
|||
inkscape:connector-curvature="0" |
|||
style="fill:url(#linearGradient3744);stroke:#b8b8b8;stroke-width:0.77376807" |
|||
id="path3737" |
|||
sodipodi:nodetypes="ccccc" /> |
|||
<image |
|||
transform="matrix(0.98201428,-0.18880665,0.23736204,0.97142126,0,0)" |
|||
width="66.013809" |
|||
height="73.870087" |
|||
preserveAspectRatio="none" |
|||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAACXZwQWcAAABAAAAAQADq8/hgAAAE WklEQVRYw9WX6XKjRhCAef8HiySQvGt5vfZuEselOUAcEpe4GdI9MAgQOjb5k3SVyzY1801PX9Ot Nf9StP80QJR5miRpXtb/AFCnvmMySgmhlJn2Mal+BSBSj1NCGeNSGAMOd0/iQYCI95TAXnm+FCr/ I2ZYPwJILEJhPaGm7flBFIW+Z5sUvwEivguovG7pMR0cV2e+BbYArF3cBqQclKfEvryvSB2KaHa6 BYhgDSP7ZN7gmUNQCf86wCdgcBaKq04/cTzAuwbA/czKb8VdZYMSI8IAEOJ+XjTiFkF4SDjOARII HLiBK+4E/xHOIdEloMSAAwZx7hEOBKIquwA4lFPbR/3uEhzCqSUmgBiwrGgeIlQm5b0zO0CN3yKw 34QgQC4JKZqrGAFC0MpWvuwJ3V6hWD3BI5wchoDaBAumzYQgmsrd7ewZx5bosHIAAAtQp4+nXUuA +2yXy9Xyi4OsIorjauBLZQWtd0Gqrt3EvCXQlb4BMZYfsPP7cr0gvS4FaNw6Qus0ovtez8DZcYyH t8Wmk9XWdF+Mjf570Ke4q46UgAgUCtX55mKl/wSbsD83hrEE0VGJ1RrEWHz2aaXuIAEe7b3SNG/6 01oSzL/W20/T2r2uDNACARvjWelZQTTaCiCg2vSR1bzrsFgSQMk8SbPi8FWX+0GFbX2OXMarDoAm OGfo+wpXt7cwj4Hv+1n+rSMYW3HOfS4TAgHZIDIVYG38wNzchyB+kj4ZUwB4npw6ABokmgA2qz9k fbIkoWDLzQSQ0tbw2gA20kA/nmyqCHG8nmqQd2prbSKQZAIwnk5B5PSE/EWfACCUZGFSgHQKeE6D sCcExfc5wKEDRLMaJHBwTwA/zFzhOLBBPGODoCfEyYUb0XVBB1AGHXvho/SVDsSjF15QrtMG1xlp sDbCrCewj7UxAWAJSjsAlJOuHI0AX9Mi8IMgsJnMC2MMOJA2f7RhXI8AG/2LVxZZVlQWmKElnAFi T5nMH62L67Mb3lTmbIzVK3Uc9r6GvJAEyMa6d0KXP1oXliqbRPPzN0NvBcrBAmSpr37wlrB8GeRS 6zkJECZVNRKeuLfty1C+wc/zp7TD9jVQN7DUDq2vkUEzfAymIl9uZ5iL1B0U1Rw7surmc4SE/sUB E3KaDB8Wd1QS7hJQga4Kayow2aAsXiV0L458HE/jx9UbPi33CIf+ITwDSnxM/IcIcAGIrHzaH+BX 8Ky4awdq41nBZYsjG4/kEQLjg9Q5A9A1jJ7u3CJEa1OzmuvSKgubwPA24IT7WT7fJ5YmEtwbASWO 2AkP94871WpPOCc8vmYHaORhv5lf75VrV3bD+9nZIrUJamhXN9v9kMlu3wonYVlGe9msU1/cGTgK px0YmO2fsrKq66rMk8Bh7dd99sDIk+xxxsE5icqhqfsLflkz1pkbukSCBzI5bqG0EGrPGvfK2FeG DseRi1I5eVFuB8WvDp51FvsH13Fcz4+y6n86Oz8kfwPMD02INEiadQAAAABJRU5ErkJggg== " |
|||
id="image4222" |
|||
x="120.36314" |
|||
y="681.4696" /> |
|||
</g> |
|||
<g |
|||
id="g4236" |
|||
transform="matrix(0.75185332,0.25340647,-0.25340647,0.75185332,272.3295,77.897414)"> |
|||
<g |
|||
id="g4238" |
|||
transform="translate(2.4999999,3.9285715)"> |
|||
<path |
|||
id="path4240" |
|||
style="fill:url(#linearGradient4248);stroke:#000000;stroke-width:1px;filter:url(#filter3711)" |
|||
inkscape:connector-curvature="0" |
|||
d="m 266.18,625.07 80.307,-15.152 26.769,90.914 -87.883,17.678 -19.193,-93.439 z" /> |
|||
<path |
|||
id="path4242" |
|||
style="fill:url(#linearGradient4250)" |
|||
inkscape:connector-curvature="0" |
|||
d="m 266.18,625.07 80.307,-15.152 26.769,90.914 -87.883,17.678 -19.193,-93.439 z" /> |
|||
</g> |
|||
<path |
|||
sodipodi:nodetypes="ccccc" |
|||
id="path4244" |
|||
style="fill:url(#linearGradient4252);stroke:#b8b8b8;stroke-width:0.77376807" |
|||
inkscape:connector-curvature="0" |
|||
d="m 279.33626,638.76952 65.69064,-12.23055 17.78177,72.34343 -65.82128,12.79442 z" /> |
|||
<image |
|||
y="681.4696" |
|||
x="120.36314" |
|||
id="image4246" |
|||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAAAAACPAi4CAAAACXZwQWcAAABAAAAAQADq8/hgAAAE WklEQVRYw9WX6XKjRhCAef8HiySQvGt5vfZuEselOUAcEpe4GdI9MAgQOjb5k3SVyzY1801PX9Ot Nf9StP80QJR5miRpXtb/AFCnvmMySgmhlJn2Mal+BSBSj1NCGeNSGAMOd0/iQYCI95TAXnm+FCr/ I2ZYPwJILEJhPaGm7flBFIW+Z5sUvwEivguovG7pMR0cV2e+BbYArF3cBqQclKfEvryvSB2KaHa6 BYhgDSP7ZN7gmUNQCf86wCdgcBaKq04/cTzAuwbA/czKb8VdZYMSI8IAEOJ+XjTiFkF4SDjOARII HLiBK+4E/xHOIdEloMSAAwZx7hEOBKIquwA4lFPbR/3uEhzCqSUmgBiwrGgeIlQm5b0zO0CN3yKw 34QgQC4JKZqrGAFC0MpWvuwJ3V6hWD3BI5wchoDaBAumzYQgmsrd7ewZx5bosHIAAAtQp4+nXUuA +2yXy9Xyi4OsIorjauBLZQWtd0Gqrt3EvCXQlb4BMZYfsPP7cr0gvS4FaNw6Qus0ovtez8DZcYyH t8Wmk9XWdF+Mjf570Ke4q46UgAgUCtX55mKl/wSbsD83hrEE0VGJ1RrEWHz2aaXuIAEe7b3SNG/6 01oSzL/W20/T2r2uDNACARvjWelZQTTaCiCg2vSR1bzrsFgSQMk8SbPi8FWX+0GFbX2OXMarDoAm OGfo+wpXt7cwj4Hv+1n+rSMYW3HOfS4TAgHZIDIVYG38wNzchyB+kj4ZUwB4npw6ABokmgA2qz9k fbIkoWDLzQSQ0tbw2gA20kA/nmyqCHG8nmqQd2prbSKQZAIwnk5B5PSE/EWfACCUZGFSgHQKeE6D sCcExfc5wKEDRLMaJHBwTwA/zFzhOLBBPGODoCfEyYUb0XVBB1AGHXvho/SVDsSjF15QrtMG1xlp sDbCrCewj7UxAWAJSjsAlJOuHI0AX9Mi8IMgsJnMC2MMOJA2f7RhXI8AG/2LVxZZVlQWmKElnAFi T5nMH62L67Mb3lTmbIzVK3Uc9r6GvJAEyMa6d0KXP1oXliqbRPPzN0NvBcrBAmSpr37wlrB8GeRS 6zkJECZVNRKeuLfty1C+wc/zp7TD9jVQN7DUDq2vkUEzfAymIl9uZ5iL1B0U1Rw7surmc4SE/sUB E3KaDB8Wd1QS7hJQga4Kayow2aAsXiV0L458HE/jx9UbPi33CIf+ITwDSnxM/IcIcAGIrHzaH+BX 8Ky4awdq41nBZYsjG4/kEQLjg9Q5A9A1jJ7u3CJEa1OzmuvSKgubwPA24IT7WT7fJ5YmEtwbASWO 2AkP94871WpPOCc8vmYHaORhv5lf75VrV3bD+9nZIrUJamhXN9v9kMlu3wonYVlGe9msU1/cGTgK px0YmO2fsrKq66rMk8Bh7dd99sDIk+xxxsE5icqhqfsLflkz1pkbukSCBzI5bqG0EGrPGvfK2FeG DseRi1I5eVFuB8WvDp51FvsH13Fcz4+y6n86Oz8kfwPMD02INEiadQAAAABJRU5ErkJggg== " |
|||
preserveAspectRatio="none" |
|||
height="73.870087" |
|||
width="66.013809" |
|||
transform="matrix(0.98201428,-0.18880665,0.23736204,0.97142126,0,0)" /> |
|||
</g> |
|||
</g> |
|||
<g |
|||
id="layer4" |
|||
inkscape:label="Flower" |
|||
inkscape:groupmode="layer" |
|||
transform="translate(-254.06,-602.12)" /> |
|||
<metadata |
|||
id="metadata42"> |
|||
<rdf:RDF> |
|||
<cc:Work> |
|||
<dc:format>image/svg+xml</dc:format> |
|||
<dc:type |
|||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
|||
<cc:license |
|||
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" /> |
|||
<dc:publisher> |
|||
<cc:Agent |
|||
rdf:about="http://openclipart.org/"> |
|||
<dc:title>Openclipart</dc:title> |
|||
</cc:Agent> |
|||
</dc:publisher> |
|||
<dc:title>Drawings Icon</dc:title> |
|||
<dc:date>2012-01-29T15:13:42</dc:date> |
|||
<dc:description>Icon for Drawings/Pictures folder.</dc:description> |
|||
<dc:source>https://openclipart.org/detail/167547/drawings-icon-by-andreibranescu</dc:source> |
|||
<dc:creator> |
|||
<cc:Agent> |
|||
<dc:title>andreibranescu</dc:title> |
|||
</cc:Agent> |
|||
</dc:creator> |
|||
<dc:subject> |
|||
<rdf:Bag> |
|||
<rdf:li>Inkscape</rdf:li> |
|||
<rdf:li>drawings</rdf:li> |
|||
<rdf:li>icon</rdf:li> |
|||
<rdf:li>pictures</rdf:li> |
|||
</rdf:Bag> |
|||
</dc:subject> |
|||
</cc:Work> |
|||
<cc:License |
|||
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"> |
|||
<cc:permits |
|||
rdf:resource="http://creativecommons.org/ns#Reproduction" /> |
|||
<cc:permits |
|||
rdf:resource="http://creativecommons.org/ns#Distribution" /> |
|||
<cc:permits |
|||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> |
|||
</cc:License> |
|||
</rdf:RDF> |
|||
</metadata> |
|||
</svg> |
@ -0,0 +1,145 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<openerp> |
|||
<data> |
|||
|
|||
<record id="image_form_view" model="ir.ui.view"> |
|||
<field name="name">Multi image form</field> |
|||
<field name="model">base_multi_image.image</field> |
|||
<field name="arch" type="xml"> |
|||
<form string="Image"> |
|||
<sheet> |
|||
<group> |
|||
<group |
|||
string="Owner" |
|||
attrs="{ |
|||
'invisible': [ |
|||
('show_technical', '=', False), |
|||
], |
|||
}"> |
|||
<field name="show_technical" invisible="True"/> |
|||
<field name="owner_model"/> |
|||
<field name="owner_id"/> |
|||
<field name="sequence"/> |
|||
</group> |
|||
<group string="Name"> |
|||
<field name="name"/> |
|||
<field name="storage"/> |
|||
<field name="extension"/> |
|||
</group> |
|||
</group> |
|||
<group> |
|||
<group string="Options"> |
|||
<field |
|||
name="url" |
|||
attrs="{ |
|||
'invisible': [('storage', '!=', 'url')], |
|||
'required': [('storage', '=', 'url')], |
|||
}" |
|||
widget="url"/> |
|||
<field |
|||
name="path" |
|||
attrs="{ |
|||
'invisible': [('storage', '!=', 'file')], |
|||
'required': [('storage', '=', 'file')], |
|||
}"/> |
|||
<field name="filename" invisible="1"/> |
|||
<field |
|||
name="file_db_store" |
|||
attrs="{ |
|||
'invisible': [('storage', '!=', 'db')], |
|||
'required': [('storage', '=', 'db')], |
|||
}" |
|||
filename="filename"/> |
|||
</group> |
|||
<group string="Preview"> |
|||
<field name="image_medium" |
|||
widget="image" |
|||
readonly="True" |
|||
nolabel="1" /> |
|||
</group> |
|||
</group> |
|||
<group string="Comments"> |
|||
<field name="comments" nolabel="1" /> |
|||
</group> |
|||
</sheet> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="image_tree_view" model="ir.ui.view"> |
|||
<field name="name">Multi image tree</field> |
|||
<field name="model">base_multi_image.image</field> |
|||
<field name="arch" type="xml"> |
|||
<tree string="Images"> |
|||
<field name="name"/> |
|||
<field name="storage"/> |
|||
<field name="owner_model"/> |
|||
<field name="owner_id"/> |
|||
<field name="sequence" invisible="True"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="image_kanban_view" model="ir.ui.view"> |
|||
<field name="name">Product multi image kanban</field> |
|||
<field name="model">base_multi_image.image</field> |
|||
<field name="arch" type="xml"> |
|||
<kanban string="Product Images"> |
|||
<field name="name"/> |
|||
<field name="storage"/> |
|||
<field name="sequence"/> |
|||
<templates> |
|||
<t t-name="kanban-box"> |
|||
<div style="position: relative"> |
|||
<a t-if="! read_only_mode" |
|||
type="delete" |
|||
style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a> |
|||
<div class="oe_module_vignette"> |
|||
<a type="open"> |
|||
<img |
|||
t-att-src="kanban_image( |
|||
'base_multi_image.image', |
|||
'image_small', |
|||
record.id.value)" |
|||
class="oe_kanban_image"/> |
|||
</a> |
|||
<div class="oe_module_desc"> |
|||
<div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_color_border"> |
|||
<table class="oe_kanban_table"> |
|||
<tr> |
|||
<td class="oe_kanban_title1" |
|||
align="left" |
|||
valign="middle"> |
|||
<h4> |
|||
<a type="open"> |
|||
<field name="name"/> |
|||
</a> |
|||
</h4> |
|||
<field name="storage"/> |
|||
</td> |
|||
</tr> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</t> |
|||
</templates> |
|||
</kanban> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="image_action" model="ir.actions.act_window"> |
|||
<field name="name">Multi images</field> |
|||
<field name="res_model">base_multi_image.image</field> |
|||
<field name="view_mode">kanban,tree,form</field> |
|||
<field name="help">Click to add an image attached to an specific record.</field> |
|||
</record> |
|||
|
|||
<menuitem |
|||
id="image_menu" |
|||
action="image_action" |
|||
parent="base.menu_custom"/> |
|||
|
|||
</data> |
|||
</openerp> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue