Skip to content

Commit

Permalink
TASK: Rebase media browser on latest master
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebobo committed Nov 23, 2016
1 parent dc4e6f1 commit e76abe2
Show file tree
Hide file tree
Showing 31 changed files with 214 additions and 156 deletions.
6 changes: 6 additions & 0 deletions Neos.Media.Browser/Classes/Controller/AssetController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@
use Doctrine\Common\Persistence\Proxy as DoctrineProxy;
use Doctrine\ORM\EntityNotFoundException;
use TYPO3\Flow\Annotations as Flow;
use TYPO3\Flow\Error\Message;
use TYPO3\Flow\I18n\Translator;
use TYPO3\Flow\Mvc\Controller\ActionController;
use TYPO3\Flow\Package\PackageManagerInterface;
use TYPO3\Flow\Mvc\View\JsonView;
use TYPO3\Flow\Mvc\View\ViewInterface;
use TYPO3\Flow\Property\TypeConverter\PersistentObjectConverter;
use TYPO3\Flow\ResourceManagement\PersistentResource;
use TYPO3\Flow\Utility\Files;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
use Neos\Media\Browser\Controller\Module\Management\AssetController;
use TYPO3\Flow\Annotations as Flow;
use TYPO3\Media\Domain\Repository\AssetRepository;
use TYPO3\Neos\Controller\Module\Management\AssetController;

/**
* Controller for asset handling
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use TYPO3\Flow\ResourceManagement\PersistentResource;
use TYPO3\Flow\Security\Context;
use TYPO3\Flow\Utility\MediaTypes;
use TYPO3\Flow\Utility\TypeHandling;
use TYPO3\Media\Domain\Model\AssetCollection;
use TYPO3\Media\Domain\Model\AssetInterface;
use TYPO3\Media\Exception\AssetServiceException;
Expand Down
14 changes: 12 additions & 2 deletions Neos.Media.Browser/Configuration/Policy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,18 @@ privilegeTargets:
matcher: 'method(Neos\Media\Browser\Controller\AssetController->(createAssetCollection|editAssetCollection|updateAssetCollection|deleteAssetCollection)Action())'

'Neos.Media.Browser:Backend.Module.Media.ManageAssets':
matcher: 'method(Neos\Media\Browser\Controller\(Module\Management\Asset|Backend\MediaBrowser|Backend\ImageBrowser)Controller->(index|new|edit|update|initializeCreate|create|initializeUpload|upload|tagAsset|delete|createTag|editTag|updateTag|deleteTag|addAssetToCollection)Action())'
matcher: 'method(Neos\Media\Browser\Controller\(Module\Management\Asset|Backend\MediaBrowser|Backend\ImageBrowser)Controller->(index|new|edit|update|initializeCreate|create|initializeUpload|upload|tagAsset|delete|createTag|editTag|updateTag|deleteTag|addAssetToCollection|relatedNodes)Action())'

'Neos.Media.Browser:Backend.Module.Media.ManageAssetCollections':
matcher: 'method(Neos\Media\Browser\Controller\(Module\Management\Asset|Backend\MediaBrowser|Backend\ImageBrowser)Controller->(createAssetCollection|editAssetCollection|updateAssetCollection|deleteAssetCollection)Action())'

'Neos.Media.Browser:Backend.Module.Media.ReplaceAssetResource':
matcher: 'method(Neos\Media\Browser\Controller\(Module\Management\Asset|Backend\MediaBrowser|Backend\ImageBrowser)Controller->(replaceAssetResource|updateAssetResource)Action())'


roles:

'TYPO3.Neos:Editor':
'TYPO3.Neos:AbstractEditor':
privileges:
-
privilegeTarget: 'Neos.Media.Browser:ManageAssets'
Expand All @@ -30,6 +34,12 @@ roles:
privilegeTarget: 'Neos.Media.Browser:Backend.Module.Media.ManageAssets'
permission: GRANT

'TYPO3.Neos:LivePublisher':
privileges:
-
privilegeTarget: 'Neos.Media.Browser:Backend.Module.Media.ReplaceAssetResource'
permission: GRANT

'TYPO3.Neos:Administrator':
privileges:
-
Expand Down
2 changes: 2 additions & 0 deletions Neos.Media.Browser/Configuration/Routes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
'@package': 'Neos.Media.Browser'
'@controller': 'Backend\MediaBrowser'
'@format': 'html'
'@action': 'index'
appendExceedingArguments: TRUE

-
Expand All @@ -18,4 +19,5 @@
'@package': 'Neos.Media.Browser'
'@controller': 'Backend\ImageBrowser'
'@format': 'html'
'@action': 'index'
appendExceedingArguments: TRUE
12 changes: 10 additions & 2 deletions Neos.Media.Browser/Configuration/Settings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@
# #

Neos:

Media:
Browser:
bodyClasses: 'neos neos-module media-browser media-module'
bodyClasses: 'neos neos-module media-browser'
scripts:
- 'resource://TYPO3.Neos/Public/Library/jquery/jquery-2.0.3.js'
- 'resource://TYPO3.Twitter.Bootstrap/Public/2/js/bootstrap.min.js'
Expand Down Expand Up @@ -47,3 +46,12 @@ TYPO3:
translation:
autoInclude:
'Neos.Media.Browser': ['Modules']

Media:
thumbnailPresets:
'Neos.Media.Browser:Thumbnail':
maximumWidth: 250
maximumHeight: 250
'Neos.Media.Browser:Preview':
maximumWidth: 1000
maximumHeight: 1000
17 changes: 15 additions & 2 deletions Neos.Media.Browser/Configuration/Views.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
-
requestFilter: 'isPackage("Neos.Media.Browser") && isFormat("html") && (isController("Backend\MediaBrowser") || isController("Backend\ImageBrowser"))'
requestFilter: 'parentRequest.isPackage("TYPO3.Neos") && isFormat("html") && isPackage("Neos.Media.Browser")'
options:
layoutRootPaths:
'Neos.Media.Browser': 'resource://Neos.Media.Browser/Private/Layouts'
'Neos.Media.Browser': 'resource://Neos.Media.Browser/Private/Layouts/Module'
'TYPO3.Neos': 'resource://TYPO3.Neos/Private/Layouts'
partialRootPaths:
'TYPO3.Neos': 'resource://TYPO3.Neos/Private/Partials'
'Neos.Media.Browser': 'resource://Neos.Media.Browser/Private/Partials'

templateRootPathPattern: 'resource://Neos.Media.Browser/Private/Templates'
templatePathAndFilenamePattern: '@templateRoot/@subpackage/Module/Management/Asset/@action.@format'

-
requestFilter: 'isPackage("Neos.Media.Browser") && isFormat("html")'
options:
layoutRootPaths:
'Neos.Media.Browser': 'resource://Neos.Media.Browser/Private/Layouts/Inspector'
'TYPO3.Neos': 'resource://TYPO3.Neos/Private/Layouts'
partialRootPaths:
'TYPO3.Neos': 'resource://TYPO3.Neos/Private/Partials'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><f:render section="Title" /></title>

<f:for each="{settings.styles}" as="style">
<link rel="stylesheet" href="{f:uri.resource(path: style)}" />
</f:for>
</head>
<body class="{settings.bodyClasses}">
<div class="neos-media-options">
<f:render section="Options" optional="TRUE" />
</div>
<div class="neos-media-content{f:if(condition: '{tags -> f:count()} > 25', then: ' neos-media-aside-condensed')}">
<div class="neos-media-assets">
<div class="neos-notification-container">
<f:render partial="FlashMessages" />
</div>

<f:render section="Content" />
</div>
<aside class="neos-media-aside">
<f:render section="Sidebar" />
</aside>
</div>
<f:for each="{settings.scripts}" as="script">
<script src="{f:uri.resource(path: script)}"></script>
</f:for>
<f:render section="Scripts" optional="TRUE" />
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><f:render section="Title" /></title>

<f:for each="{settings.styles}" as="style">
<link rel="stylesheet" href="{f:uri.resource(path: style)}" />
</f:for>
</head>
<body class="{settings.bodyClasses}">
<f:render partial="FlashMessages" />

<f:render section="Content" />
<f:for each="{settings.scripts}" as="script">
<script src="{f:uri.resource(path: script)}"></script>
</f:for>
<f:render section="Scripts" optional="TRUE" />
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><f:render section="Title" /></title>

<f:for each="{settings.styles}" as="style">
<link rel="stylesheet" href="{f:uri.resource(path: style)}" />
</f:for>
</head>
<body class="{settings.bodyClasses}">
<div class="neos-row-fluid">
<f:render partial="FlashMessages" />

<f:render section="Content" />
</div>
<f:for each="{settings.scripts}" as="script">
<script src="{f:uri.resource(path: script)}"></script>
</f:for>
<f:render section="Scripts" optional="TRUE" />
</body>
</html>
6 changes: 3 additions & 3 deletions Neos.Media.Browser/Resources/Private/Partials/ListView.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@
<f:for each="{paginatedAssets}" as="asset" iteration="iterator">
<tr class="asset draggable-asset{f:if(condition: '{asset.tags -> f:count()} == 0', then: ' neos-media-untagged')}" data-asset-identifier="{asset -> f:format.identifier()}">
<td>
<div class="neos-list-thumbnail" data-neos-toggle="popover" data-placement="{f:if(condition: '{iterator.index} > 2', then: 'top', else: 'bottom')}" data-trigger="hover" data-title="{f:if(condition: asset.width, then: '{asset.width} x {asset.height}')}" data-html="true" data-content="{m:thumbnail(asset: asset, preset: 'TYPO3.Neos:Thumbnail', alt: asset.label, async: settings.asyncThumbnails) -> f:format.htmlentities()}">
<m:thumbnail asset="{asset}" preset="TYPO3.Neos:Thumbnail" alt="{asset.label}" async="{settings.asyncThumbnails}" />
<div class="neos-list-thumbnail" data-neos-toggle="popover" data-placement="{f:if(condition: '{iterator.index} > 2', then: 'top', else: 'bottom')}" data-trigger="hover" data-title="{f:if(condition: asset.width, then: '{asset.width} x {asset.height}')}" data-html="true" data-content="{m:thumbnail(asset: asset, preset: 'Neos.Media.Browser:Thumbnail', alt: asset.label, async: settings.asyncThumbnails) -> f:format.htmlentities()}">
<m:thumbnail asset="{asset}" preset="Neos.Media.Browser:Thumbnail" alt="{asset.label}" async="{settings.asyncThumbnails}" />
</div>
</td>
<td class="asset-label"><span data-neos-toggle="tooltip" title="{asset.label}"><f:format.crop maxCharacters="50">{asset.label}</f:format.crop></span></td>
Expand All @@ -91,7 +91,7 @@
<i class="icon-edit icon-white"></i> {neos:backend.translate(id: 'edit', package: 'TYPO3.Neos')}
</f:link.action>
</li>
<f:security.ifAccess privilegeTarget="TYPO3.Neos:Backend.Module.Media.ReplaceAssetResource">
<f:security.ifAccess privilegeTarget="Neos.Media.Browser:Backend.Module.Media.ReplaceAssetResource">
<li>
<f:link.action action="replaceAssetResource" arguments="{asset: asset}" title="{replaceAssetResourceLabel}">
<i class="icon-random icon-white"></i> {neos:backend.translate(id: 'media.replaceAssetResource', source: 'Modules', package: 'TYPO3.Neos')}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<li class="asset">
<f:link.action action="edit" title="{neos:backend.translate(id: 'media.tooltip.editAsset', source: 'Modules', package: 'TYPO3.Neos')}" class="neos-thumbnail" arguments="{asset: asset}">
<div class="neos-img-container draggable-asset {f:if(condition: '{asset.tags -> f:count()} == 0', then: ' neos-media-untagged')}" data-asset-identifier="{asset -> f:format.identifier()}">
<m:thumbnail asset="{asset}" preset="TYPO3.Neos:Thumbnail" alt="{asset.label}" async="{settings.asyncThumbnails}" />
<m:thumbnail asset="{asset}" preset="Neos.Media.Browser:Thumbnail" alt="{asset.label}" async="{settings.asyncThumbnails}" />
</div>
</f:link.action>
<div class="neos-img-label">
Expand All @@ -24,7 +24,7 @@
<i class="icon-edit icon-white"></i> {neos:backend.translate(id: 'edit', package: 'TYPO3.Neos')}
</f:link.action>
</li>
<f:security.ifAccess privilegeTarget="TYPO3.Neos:Backend.Module.Media.ReplaceAssetResource">
<f:security.ifAccess privilegeTarget="Neos.Media.Browser:Backend.Module.Media.ReplaceAssetResource">
<li>
<f:link.action action="replaceAssetResource" arguments="{asset: asset}" title="{replaceAssetResourceLabel}">
<i class="icon-random icon-white"></i> {neos:backend.translate(id: 'media.replaceAssetResource', source: 'Modules', package: 'TYPO3.Neos')}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
</div>
<div class="neos-footer">
<f:link.action action="index" class="neos-button neos-action-cancel">{neos:backend.translate(id: 'media.cancel', source: 'Modules', package: 'TYPO3.Neos')}</f:link.action>
<f:security.ifAccess privilegeTarget="TYPO3.Neos:Backend.Module.Media.ReplaceAssetResource">
<f:security.ifAccess privilegeTarget="Neos.Media.Browser:Backend.Module.Media.ReplaceAssetResource">
<f:link.action action="replaceAssetResource" arguments="{asset: asset}" class="neos-button">{neos:backend.translate(id: 'media.replaceAssetResource', source: 'Modules', package: 'TYPO3.Neos')}</f:link.action>
</f:security.ifAccess>
<f:if condition="{asset.inUse}">
Expand Down Expand Up @@ -122,7 +122,7 @@
<label>{neos:backend.translate(id: 'media.preview', source: 'Modules', package: 'TYPO3.Neos')}</label>
<div class="neos-preview-image">
<a href="{f:uri.resource(resource: asset.resource)}" target="_blank">
<m:thumbnail asset="{asset}" preset="TYPO3.Neos:Preview" alt="{asset.label}" async="{settings.asyncThumbnails}" class="img-polaroid" />
<m:thumbnail asset="{asset}" preset="Neos.Media.Browser:Preview" alt="{asset.label}" async="{settings.asyncThumbnails}" class="img-polaroid" />
</a>
</div>
</f:section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<f:section name="Title">Related nodes</f:section>

<f:section name="Content">
<legend>{neos:backend.translate(id: 'media.relatedNodes.referencesTo', source: 'Modules', arguments: {asset: asset.label})}</legend>
<legend>{neos:backend.translate(id: 'media.relatedNodes.referencesTo', source: 'Modules', package: 'TYPO3.Neos', arguments: {asset: asset.label})}</legend>

<table class="neos-table neos-no-hover">
<thead>
Expand Down Expand Up @@ -40,7 +40,7 @@
<i class="{documentNode.node.nodeType.ui.icon}" title="{f:if(condition: documentNode.node.nodeType.label, then: '{neos:backend.translate(id: documentNode.node.nodeType.label)}', else: documentNode.node.nodeType.name)}" data-neos-toggle="tooltip"></i>
</f:if>
<f:if condition="{documentNode.node}">
<span title="{f:render(partial: '../Module/Shared/DocumentBreadcrumb', arguments: {node: documentNode.node})}" data-neos-toggle="tooltip">{documentNode.node.label}</span>
<span title="{f:render(partial: 'Module/Shared/DocumentBreadcrumb', arguments: {node: documentNode.node})}" data-neos-toggle="tooltip">{documentNode.node.label}</span>
</f:if>
</td>
<td>
Expand Down Expand Up @@ -76,7 +76,7 @@
<ul>
<f:for each="{documentNode.nodes}" as="relatedNode">
<li>
<f:render partial="../Module/Shared/NodeContentDimensionsInformation.html" arguments="{contentDimensions: contentDimensions, node: relatedNode.nodeData}" />
<f:render partial="Module/Shared/NodeContentDimensionsInformation.html" arguments="{contentDimensions: contentDimensions, node: relatedNode.nodeData}" />
</li>
</f:for>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,24 @@
<f:section name="Title">Replace view of AssetController</f:section>

<f:section name="Content">
<h2>Replace "{asset.resource.filename}"</h2>
<f:form method="post" arguments="{asset: asset}" action="updateAssetResource" enctype="multipart/form-data">
<div class="neos-row-fluid">
<div class="neos-span8">
<fieldset>
<legend>New file</legend>
<label class="neos-button neos-button-primary" for="resource" title="Max. upload size {humanReadableMaximumFileUploadSize} per file" data-neos-toggle="tooltip">Choose a new file <i class="icon-file"></i></label>
<f:form.upload id="resource" name="resource" additionalAttributes="{required: 'required'}" />
<legend>{neos:backend.translate(id: 'media.replaceAsset.replaceFilename', source: 'Modules', package: 'TYPO3.Neos', arguments: {filename: asset.resource.filename})}</legend>
<p class="neos-buffer-below">
{neos:backend.translate(id: 'media.replaceAsset.description', source: 'Modules', package: 'TYPO3.Neos')}<br/>
<b>{neos:backend.translate(id: 'media.replaceAsset.note', source: 'Modules', package: 'TYPO3.Neos')}: </b> {neos:backend.translate(id: 'media.replaceAsset.noteText', source: 'Modules', package: 'TYPO3.Neos')}
</p>
<span class="neos-file-input">
<label class="neos-button neos-button-primary" for="resource" title="{neos:backend.translate(id: 'media.maxUploadSize', arguments: {0: humanReadableMaximumFileUploadSize}, source: 'Modules', package: 'TYPO3.Neos')}" data-neos-toggle="tooltip">{neos:backend.translate(id: 'media.replaceAsset.chooseNewFile', source: 'Modules', package: 'TYPO3.Neos')} <i class="icon-file"></i></label>
<f:form.upload id="resource" name="resource" additionalAttributes="{required: 'required'}" />
</span>
</fieldset>
<fieldset>
<div>
<label class="neos-checkbox neos-inline">
<f:form.checkbox name="options[keepOriginalFilename]" value="1" /><span></span> {f:translate(id: 'media.replace.options.keepOriginalFilename', arguments: {0: asset.resource.filename}, source: 'Modules', package: 'TYPO3.Neos')}
<f:form.checkbox name="options[keepOriginalFilename]" value="1" /><span></span> {neos:backend.translate(id: 'media.replace.options.keepOriginalFilename', arguments: {0: asset.resource.filename}, source: 'Modules', package: 'TYPO3.Neos')}
</label>
</div>
<f:if condition="{redirectPackageEnabled}">
Expand All @@ -28,21 +33,36 @@ <h2>Replace "{asset.resource.filename}"</h2>
</div>
</f:if>
</fieldset>
<fieldset>
<legend>{neos:backend.translate(id: 'media.relatedNodes.referencesTo', source: 'Modules', package: 'TYPO3.Neos', arguments: {asset: asset.label})}</legend>
<f:if condition="{asset.inUse}">
<f:then>
<p class="neos-buffer-below"><i class="icon-exclamation-sign"></i> {neos:backend.translate(id: 'media.replace.usageCount', arguments: {usageCount: asset.usageCount}, source: 'Modules', package: 'TYPO3.Neos')}</p>
<f:link.action action="relatedNodes" arguments="{asset:asset}" class="neos-button">
{neos:backend.translate(id: 'media.replace.allUsages', source: 'Modules', package: 'TYPO3.Neos')}
</f:link.action>
</f:then>
<f:else>
<p><i class="icon-ok-sign"></i> {neos:backend.translate(id: 'media.replace.notUsed', source: 'Modules', package: 'TYPO3.Neos')}</p>
</f:else>
</f:if>
</fieldset>
</div>

<div class="neos-span4 neos-image-example">
<f:render section="ContentImage" arguments="{_all}" />
</div>
</div>
<div class="neos-footer">
<f:link.action action="index" title="Cancel editing" class="neos-button">Cancel</f:link.action>
<f:form.submit id="import" class="neos-button neos-button-primary" value="Replace" />
<!-- TODO: Find a nicer way to send the referer for a get request -->
<a href="javascript:window.history.back(1);" class="neos-button">{neos:backend.translate(id: 'cancel', source: 'Modules')}</a>
<f:form.submit id="replace" class="neos-button neos-button-primary" value="{neos:backend.translate(id: 'media.replaceAssetResource', source: 'Modules', package: 'TYPO3.Neos')}" />
</div>
</f:form>
</f:section>

<f:section name="ContentImage">
<label>Preview current file</label>
<label>{neos:backend.translate(id: 'media.replace.previewFile', source: 'Modules', package: 'TYPO3.Neos')}</label>
<div class="neos-preview-image">
<a href="{f:uri.resource(resource: asset.resource)}" target="_blank">
<m:thumbnail asset="{asset}" maximumWidth="1000" maximumHeight="1000" alt="{asset.label}" class="img-polaroid" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@
</trans-unit>
<trans-unit id="media.description" xml:space="preserve">
<source>This module allows managing of media assets including pictures, videos, audio and documents.</source>
</trans-unit>
<trans-unit id="media.dragHelp" xml:space="preserve">
<source>Drag and drop an asset on a collection / tag to add them to it.</source>
</trans-unit>
<trans-unit id="media.replace.options.keepOriginalFilename" xml:space="preserve">
<source>Keep the filename "{0}"</source>
</trans-unit>
</body>
</file>
Expand Down
Loading

0 comments on commit e76abe2

Please sign in to comment.