Bugfixes for LegalMetaData assets
parent
c8bf618eb1
commit
b083446c71
|
|
@ -26,6 +26,7 @@ import org.librecms.ui.contentsections.AssetPermissionsChecker;
|
||||||
import org.librecms.ui.contentsections.ContentSectionNotFoundException;
|
import org.librecms.ui.contentsections.ContentSectionNotFoundException;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
@ -104,6 +105,17 @@ public class LegalMetadataEditStep extends AbstractMvcAssetEditStep {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
final Set<Locale> rightsLocales = legalMetadata
|
||||||
|
.getRights()
|
||||||
|
.getAvailableLocales();
|
||||||
|
editStepModel.setUnusedRightsLocales(
|
||||||
|
globalizationHelper
|
||||||
|
.getAvailableLocales()
|
||||||
|
.stream()
|
||||||
|
.filter(locale -> !rightsLocales.contains(locale))
|
||||||
|
.map(Locale::toString)
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
);
|
||||||
editStepModel.setRightsHolder(legalMetadata.getRightsHolder());
|
editStepModel.setRightsHolder(legalMetadata.getRightsHolder());
|
||||||
} else {
|
} else {
|
||||||
throw new AssetNotFoundException(
|
throw new AssetNotFoundException(
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@ public class LegalMetadataEditStepModel {
|
||||||
|
|
||||||
private Map<String, String> rights;
|
private Map<String, String> rights;
|
||||||
|
|
||||||
|
private List<String> unusedRightsLocales;
|
||||||
|
|
||||||
private String publisher;
|
private String publisher;
|
||||||
|
|
||||||
private String creator;
|
private String creator;
|
||||||
|
|
@ -49,9 +51,19 @@ public class LegalMetadataEditStepModel {
|
||||||
return rightsHolder;
|
return rightsHolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void setRightsHolder(final String rightsHolder) {
|
protected void setRightsHolder(final String rightsHolder) {
|
||||||
this.rightsHolder = rightsHolder;
|
this.rightsHolder = rightsHolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getUnusedRightsLocales() {
|
||||||
|
return Collections.unmodifiableList(unusedRightsLocales);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUnusedRightsLocales(final List<String> unusedRightsLocales) {
|
||||||
|
this.unusedRightsLocales = new ArrayList<>(unusedRightsLocales);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Map<String, String> getRights() {
|
public Map<String, String> getRights() {
|
||||||
return Collections.unmodifiableMap(rights);
|
return Collections.unmodifiableMap(rights);
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
<h3>#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.properties.header']}</h3>
|
<h3>#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.properties.header']}</h3>
|
||||||
|
|
||||||
<c:if test="#{CmsLegalMetadataEditStep.canEdit}">
|
<c:if test="#{MvcAssetEditStepModel.canEdit}">
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<button class="btn btn-primary"
|
<button class="btn btn-primary"
|
||||||
data-toggle="modal"
|
data-toggle="modal"
|
||||||
|
|
@ -55,22 +55,25 @@
|
||||||
label="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.rightsholder.label']}"
|
label="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.rightsholder.label']}"
|
||||||
name="rightsHolder"
|
name="rightsHolder"
|
||||||
required="false"
|
required="false"
|
||||||
|
value="#{CmsLegalMetadataEditStepModel.rightsHolder}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupText
|
<bootstrap:formGroupText
|
||||||
help="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.publisher.help']}"
|
help="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.publisher.help']}"
|
||||||
inputId="rightsHolder"
|
inputId="publisher"
|
||||||
label="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.publisher.label']}"
|
label="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.publisher.label']}"
|
||||||
name="rightsHolder"
|
name="publisher"
|
||||||
required="false"
|
required="false"
|
||||||
|
value="#{CmsLegalMetadataEditStepModel.publisher}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<bootstrap:formGroupText
|
<bootstrap:formGroupText
|
||||||
help="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.creator.help']}"
|
help="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.creator.help']}"
|
||||||
inputId="rightsHolder"
|
inputId="creator"
|
||||||
label="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.creator.label']}"
|
label="#{CmsAssetsStepsDefaultMessagesBundle['editform.legalmetadata.creator.label']}"
|
||||||
name="rightsHolder"
|
name="creator"
|
||||||
required="false"
|
required="false"
|
||||||
|
value="#{CmsLegalMetadataEditStepModel.creator}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
|
|
@ -112,34 +115,34 @@
|
||||||
addDialogTitle="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.add.header']}"
|
addDialogTitle="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.add.header']}"
|
||||||
addDialogValueHelp="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.add.value.help']}"
|
addDialogValueHelp="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.add.value.help']}"
|
||||||
addDialogValueLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.add.value.label']}"
|
addDialogValueLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.add.value.label']}"
|
||||||
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/rights/@add"
|
addMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/rights/add"
|
||||||
editButtonLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit']}"
|
editButtonLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit']}"
|
||||||
editDialogCancelLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.cancel']}"
|
editDialogCancelLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.cancel']}"
|
||||||
editDialogSubmitLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.submit']}"
|
editDialogSubmitLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.submit']}"
|
||||||
editDialogTitle="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.header']}"
|
editDialogTitle="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.header']}"
|
||||||
editDialogValueHelp="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.value.help']}"
|
editDialogValueHelp="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.value.help']}"
|
||||||
editDialogValueLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.value.label']}"
|
editDialogValueLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.edit.value.label']}"
|
||||||
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/rights/@edit"
|
editMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/rights/edit"
|
||||||
editorId="rights-editor"
|
editorId="rights-editor"
|
||||||
hasUnusedLocales="#{!CmsLegalMetadataEditStep.unusedTitleLocales.isEmpty()}"
|
hasUnusedLocales="#{!CmsLegalMetadataEditStepModel.unusedRightsLocales.isEmpty()}"
|
||||||
headingLevel="3"
|
headingLevel="3"
|
||||||
objectIdentifier="#{CmsSelectedAssetModel.assetPath}"
|
objectIdentifier="#{CmsSelectedAssetModel.assetPath}"
|
||||||
readOnly="#{!CmsLegalMetadataEditStep.canEdit}"
|
readOnly="#{!MvcAssetEditStepModel.canEdit}"
|
||||||
removeButtonLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove']}"
|
removeButtonLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove']}"
|
||||||
removeDialogCancelLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.cancel']}"
|
removeDialogCancelLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.cancel']}"
|
||||||
removeDialogSubmitLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.submit']}"
|
removeDialogSubmitLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.submit']}"
|
||||||
removeDialogText="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.text']}"
|
removeDialogText="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.text']}"
|
||||||
removeDialogTitle="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.rights']}"
|
removeDialogTitle="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.remove.rights']}"
|
||||||
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/rights/@remove"
|
removeMethod="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/rights/remove"
|
||||||
title="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.header']}"
|
title="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.rights.header']}"
|
||||||
unusedLocales="#{CmsLegalMetadataEditStep.unusedTitleLocales}"
|
unusedLocales="#{CmsLegalMetadataEditStepModel.unusedRightsLocales}"
|
||||||
useTextarea="true"
|
useTextarea="true"
|
||||||
values="#{CmsLegalMetadataEditStep.rightsValues}"
|
values="#{CmsLegalMetadataEditStepModel.rights}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<h3>#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.header']}</h3>
|
<h3>#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.header']}</h3>
|
||||||
|
|
||||||
<c:if test="#{CmsLegalMetadataEditStepModel.contributors}">
|
<c:if test="#{MvcAssetEditStepModel.canEdit}">
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<button class="btn btn-primary"
|
<button class="btn btn-primary"
|
||||||
data-toggle="modal"
|
data-toggle="modal"
|
||||||
|
|
@ -149,7 +152,7 @@
|
||||||
<span class="sr-only">#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.add.button.label']}</span>
|
<span class="sr-only">#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.add.button.label']}</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="aria-hidden"
|
<div aria-hidden="true"
|
||||||
aria-labelledby="contributors-add-dialog"
|
aria-labelledby="contributors-add-dialog"
|
||||||
class="modal fade"
|
class="modal fade"
|
||||||
id="contributors-add-dialog"
|
id="contributors-add-dialog"
|
||||||
|
|
@ -204,17 +207,17 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach items="#{CmsLegalMetadataEditStepModel.contributors}"
|
<c:forEach items="#{CmsLegalMetadataEditStepModel.contributors}"
|
||||||
var="contributor"
|
var="contributor"
|
||||||
varStatus="index">
|
varStatus="status">
|
||||||
<tr>
|
<tr>
|
||||||
<td>#{contributor}</td>
|
<td>#{contributor}</td>
|
||||||
<td>
|
<td>
|
||||||
<c:if test="#{CmsLegalMetadataEditStep.canEdit}">
|
<c:if test="#{MvcAssetEditStepModel.canEdit}">
|
||||||
<libreccm:deleteDialog
|
<libreccm:deleteDialog
|
||||||
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/contributors/remove/#{index}"
|
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@legalmetadata-edit/contributors/remove/#{status.index}"
|
||||||
buttonText="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.remove.label']}"
|
buttonText="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.remove.label']}"
|
||||||
cancelLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.remove.cancel']}"
|
cancelLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.remove.cancel']}"
|
||||||
confirmLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.remove.confirm']}"
|
confirmLabel="#{CmsAssetsStepsDefaultMessagesBundle['editstep.legalmetadata.contributors.remove.confirm']}"
|
||||||
dialogId="remove-contributor-#{index}"
|
dialogId="remove-contributor-#{status.index}"
|
||||||
dialogTitle="#{CmsAssetsStepsDefaultMessagesBundle.getMessage('editstep.legalmetadata.contributors.remove.title', [contributor])}"
|
dialogTitle="#{CmsAssetsStepsDefaultMessagesBundle.getMessage('editstep.legalmetadata.contributors.remove.title', [contributor])}"
|
||||||
message="#{CmsAssetsStepsDefaultMessagesBundle.getMessage('editstep.legalmetadata.contributors.remove.message', [contributor])}"
|
message="#{CmsAssetsStepsDefaultMessagesBundle.getMessage('editstep.legalmetadata.contributors.remove.message', [contributor])}"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue