Browse Source

[MIG] web_widget_darkroom: Add migration changes

* Remove fabric.js CDN link, source from static/lib instead
* Update python imports (openerp -> odoo)
* Remove unnecessary require('_')
* Update overlay image classes to v10
* Fix typo in readme
* Change module version number to standard (10.0.1.0.0)
* Add DarkroomJS version number to lib files
* Downgrade fabric.js (1.7.15 -> 1.6.7)
* Add Darkroomjs issue to ReadMe
pull/595/head
Brenton Hughes 7 years ago
committed by Dave Lasley
parent
commit
bb2b144a2f
No known key found for this signature in database GPG Key ID: 7DDBA4BA81B934CF
  1. 31
      web_widget_darkroom/README.rst
  2. 2
      web_widget_darkroom/__manifest__.py
  3. 1
      web_widget_darkroom/static/lib/darkroomjs/core/darkroom.js
  4. 1
      web_widget_darkroom/static/lib/darkroomjs/core/plugin.js
  5. 3
      web_widget_darkroom/static/lib/darkroomjs/core/transformation.js
  6. 1
      web_widget_darkroom/static/lib/darkroomjs/core/utils.js
  7. 26123
      web_widget_darkroom/static/lib/js/fabric.js
  8. 1
      web_widget_darkroom/static/src/js/widget_darkroom.js
  9. 2
      web_widget_darkroom/static/src/js/widget_darkroom_modal.js
  10. 14
      web_widget_darkroom/static/src/xml/field_templates.xml
  11. 8
      web_widget_darkroom/views/assets.xml
  12. 4
      web_widget_darkroom/wizards/darkroom_modal.py

31
web_widget_darkroom/README.rst

@ -6,31 +6,31 @@
DarkroomJS Image Editing for Web DarkroomJS Image Editing for Web
================================ ================================
This module provides a `DarkroomJS`_ (v2.0.1) web widget for use with image
fields. It also adds a Darkroom button to the normal image widget, which can
This module provides a `DarkroomJS`_ (v2.0.1) web widget for use with image
fields. It also adds a Darkroom button to the normal image widget, which can
be used to edit the image via Darkroom in a modal. be used to edit the image via Darkroom in a modal.
.. _DarkroomJS: https://github.com/MattKetmo/darkroomjs
.. _DarkroomJS: https://github.com/MattKetmo/darkroomjs
The widget currently supports the following operations and can be extended to
The widget currently supports the following operations and can be extended to
allow others: allow others:
* Zoom and pan * Zoom and pan
* Rotate * Rotate
* Crop * Crop
* Step back in history client-side (before save) * Step back in history client-side (before save)
Usage Usage
===== =====
After installing the module, you can use it in the following ways: After installing the module, you can use it in the following ways:
* Specify the ``darkroom`` widget when adding an image field to a view.
* Specify the ``darkroom`` widget when adding an image field to a view.
Configuration values can be provided using the ``options`` attribute:: Configuration values can be provided using the ``options`` attribute::
<field name="image" widget="darkroom" options="{'minWidth': 100}"/> <field name="image" widget="darkroom" options="{'minWidth': 100}"/>
The widget passes options directly through to DarkroomJS, which supports the
The widget passes options directly through to DarkroomJS, which supports the
following: following:
* minWidth * minWidth
@ -40,9 +40,9 @@ After installing the module, you can use it in the following ways:
* ratio (aspect ratio) * ratio (aspect ratio)
* backgroundColor * backgroundColor
* Open a form view that contains an image in edit mode and hover over the
image widget. You should see a Darkoom button that can be clicked to open
the image in a Darkroom modal, where it can be edited and the changes can be
* Open a form view that contains an image in edit mode and hover over the
image widget. You should see a Darkroom button that can be clicked to open
the image in a Darkroom modal, where it can be edited and the changes can be
saved. saved.
.. image:: /web_widget_darkroom/static/description/modal_screenshot_1.png .. image:: /web_widget_darkroom/static/description/modal_screenshot_1.png
@ -59,13 +59,15 @@ Known Issues / Roadmap
====================== ======================
* Darkroom modals are currently not supported during record creation * Darkroom modals are currently not supported during record creation
* Fabric.js >= 1.70 is not currently supported by DarkroomJS
(`MattKetmo/darkroomjs#112 <https://github.com/MattKetmo/darkroomjs/issues/112>`_)
Bug Tracker Bug Tracker
=========== ===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_. In
case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smash it by providing detailed and welcome
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_. In
case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smash it by providing detailed and welcome
feedback. feedback.
Credits Credits
@ -74,7 +76,7 @@ Credits
Images Images
------ ------
* Odoo Community Association:
* Odoo Community Association:
`Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_. `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors Contributors
@ -82,6 +84,7 @@ Contributors
* Dave Lasley <dave@laslabs.com> * Dave Lasley <dave@laslabs.com>
* Oleg Bulkin <obulkin@laslabs.com> * Oleg Bulkin <obulkin@laslabs.com>
* Brent Hughes <brent.hughes@laslabs.com>
Maintainer Maintainer
---------- ----------

2
web_widget_darkroom/__manifest__.py

@ -6,7 +6,7 @@
'name': 'Web DarkroomJS Image Editing', 'name': 'Web DarkroomJS Image Editing',
'summary': 'Provides web widget for image editing and adds it to standard' 'summary': 'Provides web widget for image editing and adds it to standard'
' image widget as modal', ' image widget as modal',
'version': '10.0.1.0.1',
'version': '10.0.1.0.0',
'category': 'Web', 'category': 'Web',
'website': 'https://laslabs.com/', 'website': 'https://laslabs.com/',
'author': 'LasLabs, Odoo Community Association (OCA)', 'author': 'LasLabs, Odoo Community Association (OCA)',

1
web_widget_darkroom/static/lib/darkroomjs/core/darkroom.js

@ -1,6 +1,7 @@
/** /**
* Copyright 2013 Matthieu Moquet * Copyright 2013 Matthieu Moquet
* Copyright 2016-2017 LasLabs Inc. * Copyright 2016-2017 LasLabs Inc.
* Version 2.0.1
* License MIT (https://opensource.org/licenses/MIT) * License MIT (https://opensource.org/licenses/MIT)
**/ **/

1
web_widget_darkroom/static/lib/darkroomjs/core/plugin.js

@ -1,6 +1,7 @@
/** /**
* Copyright 2013 Matthieu Moquet * Copyright 2013 Matthieu Moquet
* Copyright 2016-2017 LasLabs Inc. * Copyright 2016-2017 LasLabs Inc.
* Version 2.0.1
* License MIT (https://opensource.org/licenses/MIT) * License MIT (https://opensource.org/licenses/MIT)
**/ **/

3
web_widget_darkroom/static/lib/darkroomjs/core/transformation.js

@ -1,6 +1,7 @@
/** /**
* Copyright 2013 Matthieu Moquet * Copyright 2013 Matthieu Moquet
* Copyright 2016-2017 LasLabs Inc. * Copyright 2016-2017 LasLabs Inc.
* Version 2.0.1
* License MIT (https://opensource.org/licenses/MIT) * License MIT (https://opensource.org/licenses/MIT)
**/ **/
@ -37,7 +38,7 @@
if (protoProps) Darkroom.Utils.extend(child.prototype, protoProps); if (protoProps) Darkroom.Utils.extend(child.prototype, protoProps);
child.__super__ = parent.prototype; child.__super__ = parent.prototype;
return child; return child;
}; };
})(); })();

1
web_widget_darkroom/static/lib/darkroomjs/core/utils.js

@ -1,6 +1,7 @@
/** /**
* Copyright 2013 Matthieu Moquet * Copyright 2013 Matthieu Moquet
* Copyright 2016-2017 LasLabs Inc. * Copyright 2016-2017 LasLabs Inc.
* Version 2.0.1
* License MIT (https://opensource.org/licenses/MIT) * License MIT (https://opensource.org/licenses/MIT)
**/ **/

26123
web_widget_darkroom/static/lib/js/fabric.js
File diff suppressed because it is too large
View File

1
web_widget_darkroom/static/src/js/widget_darkroom.js

@ -11,7 +11,6 @@ odoo.define('web_widget_darkroom.darkroom_widget', function(require) {
var common = require('web.form_common'); var common = require('web.form_common');
var session = require('web.session'); var session = require('web.session');
var utils = require('web.utils'); var utils = require('web.utils');
var _ = require('_');
var QWeb = core.qweb; var QWeb = core.qweb;

2
web_widget_darkroom/static/src/js/widget_darkroom_modal.js

@ -55,7 +55,7 @@ odoo.define('web_widget_darkroom.darkroom_modal_button', function(require) {
imageWidget.do_action(modalAction, options); imageWidget.do_action(modalAction, options);
}; };
var $button = this.$('.oe_form_binary_image_darkroom_modal');
var $button = this.$('.o_form_binary_image_darkroom_modal');
if ($button.length > 0) { if ($button.length > 0) {
$button.click(openModal); $button.click(openModal);
} }

14
web_widget_darkroom/static/src/xml/field_templates.xml

@ -7,7 +7,7 @@
<templates id="field_templates" xml:space="preserve"> <templates id="field_templates" xml:space="preserve">
<t t-name="FieldDarkroomImage"> <t t-name="FieldDarkroomImage">
<span class="oe_form_field o_form_field_darkroom" t-att-style="widget.node.attrs.style">
<span class="o_form_field o_form_field_darkroom" t-att-style="widget.node.attrs.style">
<t t-if="!widget.get('effective_readonly')"> <t t-if="!widget.get('effective_readonly')">
<div class="darkroom-toolbar"/> <div class="darkroom-toolbar"/>
</t> </t>
@ -15,16 +15,16 @@
</t> </t>
<t t-extend="FieldBinaryImage"> <t t-extend="FieldBinaryImage">
<t t-jquery=".oe_form_binary_file_edit" t-operation="after">
<t t-jquery=".o_select_file_button" t-operation="after">
<t t-if="widget.darkroom_supported()"> <t t-if="widget.darkroom_supported()">
<i class="fa fa-picture-o fa-lg oe_form_binary_image_darkroom_modal" title="Darkroom"></i>
<i class="fa fa-picture-o fa-lg o_form_binary_image_darkroom_modal" title="Darkroom"></i>
</t> </t>
</t> </t>
<t t-jquery=".oe_form_binary_file_edit" t-operation="replace">
<i class="fa fa-pencil fa-lg oe_form_binary_file_edit" title="Edit"></i>
<t t-jquery=".o_select_file_button" t-operation="replace">
<i class="fa fa-pencil fa-lg o_select_file_button" title="Edit"></i>
</t> </t>
<t t-jquery=".oe_form_binary_file_clear" t-operation="replace">
<i class="fa fa-trash-o fa-lg oe_form_binary_file_clear" title="Clear"></i>
<t t-jquery=".o_clear_file_button" t-operation="replace">
<i class="fa fa-trash-o fa-lg o_clear_file_button" title="Clear"></i>
</t> </t>
</t> </t>
</templates> </templates>

8
web_widget_darkroom/views/assets.xml

@ -9,18 +9,18 @@
<template id="assets_darkroom" name="web_widget_darkroom Assets" inherit_id="web.assets_backend"> <template id="assets_darkroom" name="web_widget_darkroom Assets" inherit_id="web.assets_backend">
<xpath expr="//script[last()]" position="after"> <xpath expr="//script[last()]" position="after">
<link href="/web_widget_darkroom/static/src/less/darkroom.less" rel="stylesheet" type="text/less"/> <link href="/web_widget_darkroom/static/src/less/darkroom.less" rel="stylesheet" type="text/less"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.require.min.js"/>
<script src="/web_widget_darkroom/static/lib/js/fabric.js"/>
<script src="/web_widget_darkroom/static/lib/darkroomjs/core/darkroom.js"/> <script src="/web_widget_darkroom/static/lib/darkroomjs/core/darkroom.js"/>
<script src="/web_widget_darkroom/static/lib/darkroomjs/core/plugin.js"/> <script src="/web_widget_darkroom/static/lib/darkroomjs/core/plugin.js"/>
<script src="/web_widget_darkroom/static/lib/darkroomjs/core/transformation.js"/> <script src="/web_widget_darkroom/static/lib/darkroomjs/core/transformation.js"/>
<script src="/web_widget_darkroom/static/lib/darkroomjs/core/utils.js"/> <script src="/web_widget_darkroom/static/lib/darkroomjs/core/utils.js"/>
<script src="/web_widget_darkroom/static/src/js/plugins/darkroom.crop.js"/> <script src="/web_widget_darkroom/static/src/js/plugins/darkroom.crop.js"/>
<script src="/web_widget_darkroom/static/src/js/plugins/darkroom.history.js"/> <script src="/web_widget_darkroom/static/src/js/plugins/darkroom.history.js"/>
<script src="/web_widget_darkroom/static/src/js/plugins/darkroom.rotate.js"/> <script src="/web_widget_darkroom/static/src/js/plugins/darkroom.rotate.js"/>
<script src="/web_widget_darkroom/static/src/js/plugins/darkroom.zoom.js"/> <script src="/web_widget_darkroom/static/src/js/plugins/darkroom.zoom.js"/>
<script src="/web_widget_darkroom/static/src/js/widget_darkroom.js"/> <script src="/web_widget_darkroom/static/src/js/widget_darkroom.js"/>
<script src="/web_widget_darkroom/static/src/js/widget_darkroom_modal.js"/> <script src="/web_widget_darkroom/static/src/js/widget_darkroom_modal.js"/>
</xpath> </xpath>

4
web_widget_darkroom/wizards/darkroom_modal.py

@ -2,8 +2,8 @@
# Copyright 2017 LasLabs Inc. # Copyright 2017 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from openerp import api, fields, models
from openerp.exceptions import MissingError
from odoo import api, fields, models
from odoo.exceptions import MissingError
class DarkroomModal(models.TransientModel): class DarkroomModal(models.TransientModel):

Loading…
Cancel
Save