Skip to content

Commit

Permalink
Register resources according to Plone best practices.
Browse files Browse the repository at this point in the history
  • Loading branch information
thet committed Dec 19, 2016
1 parent e1f1eff commit 90aff08
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 13 deletions.
3 changes: 2 additions & 1 deletion CHANGES.rst
Expand Up @@ -4,7 +4,8 @@ Changelog
2.0.1 (unreleased)
------------------

- Nothing changed yet.
- Register resources according to Plone best practices.
[thet]

This comment has been minimized.

Copy link
@jensens

jensens Dec 28, 2016

Member

looks good, what about a PR?


2.0 (2016-11-24)
Expand Down
6 changes: 6 additions & 0 deletions src/plone/app/imagecropping/browser/static/bundle.js
@@ -0,0 +1,6 @@
require([
'plone_app_imagecropping_cropperpattern',
'plone_app_imagecropping_cropscaleselect'
], function() {
'use strict';
});
1 change: 1 addition & 0 deletions src/plone/app/imagecropping/browser/static/bundle.less
@@ -0,0 +1 @@
@import url("@{plone_app_imagecropping_cropscaleselect}");
@@ -1,4 +1,4 @@
require([
define([
'pat-base',
'jquery',
'plone_app_imagecropping_cropper' // defines itself as jq plugin: Cropper
Expand Down
@@ -1,4 +1,4 @@
require([
define([
'pat-base',
'jquery'
], function(Base, $) {
Expand Down
@@ -1,6 +1,6 @@
@import "@{bowerPath}/bootstrap/less/variables.less";
@import "@{bowerPath}/bootstrap/less/mixins.less";
@import (inline) 'cropper-dist/cropper.min.css';
@import (inline) "@{plone_app_imagecropping_cropper}";

.pat-imagecrop-scaleselect {
@import "@{bowerPath}/bootstrap/less/labels.less";
Expand Down
4 changes: 1 addition & 3 deletions src/plone/app/imagecropping/profiles/default/metadata.xml
@@ -1,6 +1,4 @@
<?xml version="1.0"?>
<metadata>
<version>2000</version>
<dependencies>
</dependencies>
<version>2001</version>
</metadata>
14 changes: 11 additions & 3 deletions src/plone/app/imagecropping/profiles/default/registry.xml
Expand Up @@ -32,17 +32,25 @@
</value>
</records>

<records
prefix="plone.resources/plone_app_imagecropping"
interface="Products.CMFPlone.interfaces.IResourceRegistry">
<value key="js">++resource++plone.app.imagecropping.static/bundle.js</value>
<value key="css">
<element>++resource++plone.app.imagecropping.static/bundle.less</element>
</value>
</records>

<records
interface="Products.CMFPlone.interfaces.IBundleRegistry"
prefix="plone.bundles/plone_app_imagecropping">
<value key="resources">
<element>plone_app_imagecropping_cropperpattern</element>
<element>plone_app_imagecropping_cropscaleselect</element>
<element>plone_app_imagecropping</element>
</value>
<value key="enabled">True</value>
<value key="jscompilation">++resource++plone.app.imagecropping.static/imagecropping-compiled.js</value>
<value key="csscompilation">++resource++plone.app.imagecropping.static/imagecropping.css</value>
<value key="last_compilation">2016-11-04 00:00:00</value>
<value key="last_compilation">2016-12-19 00:00:00</value>
<value key="compile">True</value>
<value key="depends">plone-logged-in</value>
<value key="expression">python: member is not None</value>
Expand Down
14 changes: 11 additions & 3 deletions src/plone/app/imagecropping/upgrades/configure.zcml
Expand Up @@ -22,21 +22,29 @@
sortkey="1"
title="Upgrade plone.app.imagecropping to profile 0003"
/>

<gs:upgradeSteps
source="0003"
destination="0004"
profile="plone.app.imagecropping:default">

<gs:upgradeStep
handler=".upgradesteps.to_0004"
title="remove stale interface from catalog"
/>

<gs:upgradeDepends
import_profile="plone.app.imagecropping.upgrades:upgrade_0003_to_0004"
run_deps="True"
title="use new marker interface for the object action"
/>

</gs:upgradeSteps>

<gs:upgradeStep
description="Register bundle according to Plone best practices."
source="2000"
destination="2001"
handler=".upgradesteps.migrate2000to2001"
profile="plone.app.imagecropping:default"
title="Upgrade plone.app.imagecropping to profile 2001"
/>

</configure>
16 changes: 16 additions & 0 deletions src/plone/app/imagecropping/upgrades/upgradesteps.py
Expand Up @@ -49,3 +49,19 @@ def migrate0002to0003(context):
settings.default_cropping_for = []
logger.info('Registry cleanup operation performed')
logger.info('Migrated to profile version 0003')


def migrate2000to2001(context):
setup_tool = getToolByName(context, 'portal_setup')
setup_tool.runImportStepFromProfile(PROFILE_ID, 'plone.app.registry')

registry = queryUtility(IRegistry)
settings = registry.forInterface(ISettings, check=False)
if not hasattr(settings, 'constrain_cropping'):
settings.constrain_cropping = False
if not hasattr(settings, 'cropping_for'):
settings.cropping_for = []
if not hasattr(settings, 'default_cropping_for'):
settings.default_cropping_for = []
logger.info('Registry cleanup operation performed')
logger.info('Migrated to profile version 0003')

0 comments on commit 90aff08

Please sign in to comment.