Bugfixes for editing publications
parent
30a01f2df3
commit
8aef004c17
|
|
@ -3,7 +3,6 @@ package org.scientificcms.publications.ui.contenttypes;
|
|||
import org.libreccm.api.Identifier;
|
||||
import org.libreccm.api.IdentifierParser;
|
||||
import org.libreccm.l10n.GlobalizationHelper;
|
||||
import org.libreccm.security.AuthorizationRequired;
|
||||
import org.libreccm.ui.BaseUrl;
|
||||
import org.librecms.assets.Person;
|
||||
import org.librecms.assets.PersonRepository;
|
||||
|
|
@ -36,9 +35,6 @@ import javax.servlet.http.HttpServletRequest;
|
|||
import javax.transaction.Transactional;
|
||||
import javax.ws.rs.DefaultValue;
|
||||
import javax.ws.rs.FormParam;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package org.scientificcms.publications.ui.contenttypes;
|
|||
|
||||
import org.libreccm.api.Identifier;
|
||||
import org.libreccm.api.IdentifierParser;
|
||||
import org.libreccm.security.AuthorizationRequired;
|
||||
import org.librecms.contentsection.Asset;
|
||||
import org.librecms.contentsection.AssetRepository;
|
||||
import org.librecms.ui.contentsections.ContentSectionNotFoundException;
|
||||
|
|
@ -22,8 +21,6 @@ import javax.inject.Inject;
|
|||
import javax.mvc.Models;
|
||||
import javax.transaction.Transactional;
|
||||
import javax.ws.rs.FormParam;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import org.librecms.ui.contentsections.documents.DocumentNotFoundException;
|
|||
import org.librecms.ui.contentsections.documents.DocumentUi;
|
||||
import org.librecms.ui.contentsections.documents.MvcAuthoringStepDef;
|
||||
import org.librecms.ui.contentsections.documents.MvcAuthoringSteps;
|
||||
import org.librecms.ui.contenttypes.event.EventStepsConstants;
|
||||
import org.scientificcms.publications.Monograph;
|
||||
import org.scientificcms.publications.contenttypes.MonographItem;
|
||||
import org.scientificcms.publications.ui.SciPublicationsUiConstants;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public class PublicationAuthoringSteps implements MvcAuthoringSteps {
|
|||
@Override
|
||||
public Set<Class<?>> getResourceClasses() {
|
||||
return Set.of(
|
||||
PublicationItemAuthors.class,
|
||||
PublicationAbstractStepResources.class,
|
||||
PublicationMiscStepResources.class
|
||||
);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,108 @@
|
|||
package org.scientificcms.publications.ui.contenttypes;
|
||||
|
||||
import org.librecms.contentsection.ContentItem;
|
||||
import org.librecms.contentsection.ContentItemRepository;
|
||||
import org.librecms.contentsection.ContentSection;
|
||||
import org.librecms.ui.contentsections.ContentSectionsUi;
|
||||
import org.librecms.ui.contentsections.documents.MvcAuthoringSteps;
|
||||
import org.scientificcms.publications.Authorship;
|
||||
import org.scientificcms.publications.Publication;
|
||||
import org.scientificcms.publications.PublicationRepository;
|
||||
import org.scientificcms.publications.contenttypes.PublicationItem;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.NotFoundException;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
@Path(MvcAuthoringSteps.PATH_PREFIX + "publication-authors")
|
||||
public class PublicationItemAuthors {
|
||||
|
||||
@Inject
|
||||
private ContentItemRepository itemRepo;
|
||||
|
||||
@Inject
|
||||
private ContentSectionsUi sectionsUi;
|
||||
|
||||
@Inject
|
||||
private PublicationRepository publicationRepo;
|
||||
|
||||
@POST
|
||||
@Path("/save-order")
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public Response saveOrder(
|
||||
@PathParam(MvcAuthoringSteps.SECTION_IDENTIFIER_PATH_PARAM)
|
||||
final String sectionIdentifier,
|
||||
@PathParam(MvcAuthoringSteps.DOCUMENT_PATH_PATH_PARAM_NAME)
|
||||
final String documentPath,
|
||||
final List<String> order
|
||||
) {
|
||||
final ContentSection section = sectionsUi
|
||||
.findContentSection(sectionIdentifier)
|
||||
.orElseThrow(
|
||||
() -> new NotFoundException(
|
||||
String.format(
|
||||
"ContentSection %s not found.",
|
||||
sectionIdentifier
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
final ContentItem item = itemRepo
|
||||
.findByPath(section, documentPath)
|
||||
.orElseThrow(
|
||||
() -> new NotFoundException(
|
||||
String.format(
|
||||
"ContentItem %s not found.",
|
||||
documentPath
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
if (!(item instanceof PublicationItem)) {
|
||||
throw new NotFoundException(
|
||||
String.format(
|
||||
"ContentItem %s is not a publication item.",
|
||||
documentPath
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
final Map<Long, Long> orderMap = new HashMap<>();
|
||||
for (int i = 0; i < order.size(); i++) {
|
||||
orderMap.put(Long.parseLong(order.get(i)), (long) i);
|
||||
}
|
||||
|
||||
final PublicationItem<?> publicationItem = (PublicationItem<?>) item;
|
||||
final Publication publication = publicationItem.getPublication();
|
||||
|
||||
for(final Authorship authorship : publication.getAuthorships()) {
|
||||
authorship.setAuthorOrder(
|
||||
orderMap.get(
|
||||
authorship.getAuthorshipId()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
publicationRepo.save(publication);
|
||||
|
||||
return Response.ok().build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -30,27 +30,34 @@
|
|||
formParamName="publisherIdentifier"
|
||||
/>
|
||||
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherPlace != null}">
|
||||
#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherName}, #{SciCmsPublicationWithPublisherPropertiesStepModel.publisherPlace}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherName}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test="#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherUuid != null}">
|
||||
<libreccm:deleteDialog
|
||||
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@collectedvolume-edit/publisher/@remove"
|
||||
buttonText="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.remove.label']}"
|
||||
cancelLabel="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.cancel']}"
|
||||
confirmLabel="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.confirm']}"
|
||||
dialogId="publisher-remove"
|
||||
dialogTitle="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.title']}"
|
||||
message="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.message']}"
|
||||
/>
|
||||
</c:if>
|
||||
</p>
|
||||
<c:choose>
|
||||
<c:when test="#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherName == null}">
|
||||
<p>#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.none']}</p>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherPlace != null}">
|
||||
#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherName}, #{SciCmsPublicationWithPublisherPropertiesStepModel.publisherPlace}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherName}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test="#{SciCmsPublicationWithPublisherPropertiesStepModel.publisherUuid != null}">
|
||||
<libreccm:deleteDialog
|
||||
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@collectedvolume-edit/publisher/@remove"
|
||||
buttonText="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.remove.label']}"
|
||||
cancelLabel="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.cancel']}"
|
||||
confirmLabel="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.confirm']}"
|
||||
dialogId="publisher-remove"
|
||||
dialogTitle="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.title']}"
|
||||
message="#{SciPublicationsUiMessageBundle['publicationwithpublisher.publisher.message']}"
|
||||
/>
|
||||
</c:if>
|
||||
</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<ui:insert name="publicationWithPublisherProperties" />
|
||||
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@
|
|||
name="yearOfPublication"
|
||||
value="#{SciCmsPublicationPropertiesStepModel.yearOfPublication}"
|
||||
/>
|
||||
|
||||
|
||||
<ui:insert name="publicationBasicPropertiesForm" />
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
|
@ -247,7 +247,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<librecms:assetPicker
|
||||
actionUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}/authors"
|
||||
actionUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}/authors"
|
||||
assetType="#{SciCmsCollectedVolumeAssetEditStepModel.authorType}"
|
||||
assetPickerId="authors-picker"
|
||||
baseUrl="#{SciCmsPublicationPropertiesStepModel.baseUrl}"
|
||||
|
|
@ -261,127 +261,134 @@
|
|||
name="editor"
|
||||
/>
|
||||
</librecms:assetPicker>
|
||||
<button class="btn btn-secondary authors-save-order-button"
|
||||
disabled="disabled"
|
||||
type="button">
|
||||
<span class="save-icon">
|
||||
<bootstrap:svgIcon icon="save" />
|
||||
</span>
|
||||
<span class="save-spinner d-none">
|
||||
<span aria-hidden="true"
|
||||
class="spinner-border spinner-border-sm"
|
||||
role="status"></span>
|
||||
<span class="sr-only">#{SciPublicationsUiMessageBundle['authors.order.save.inprogress']}</span>
|
||||
</span>
|
||||
<span>#{SciPublicationsUiMessageBundle['authors.order.save']}</span>
|
||||
</button>
|
||||
<table id="authors-table"
|
||||
data-saveUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}-authors/save-order">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#{SciPublicationsUiMessageBundle['basicproperties.authors.table.name']}</th>
|
||||
<th>
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.editor']}
|
||||
</th>
|
||||
<th colspan="2">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.actions']}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="#{SciCmsPublicationPropertiesStepModel.authors}"
|
||||
var="author">
|
||||
<tr class="publication-author"
|
||||
id="#{author.authorshipId}"
|
||||
data-id="#{author.authorshipId}">
|
||||
<td>
|
||||
<button class="btn btn-secondary cms-sort-handle mr-2"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="arrows-move" />
|
||||
<span class="sr-only">#{SciPublicationsUiMessageBundle['basicproperties.authors.move']}</span>
|
||||
</button>
|
||||
#{author.authorName}
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="#{author.editor}">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.editor.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.editor.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-secondary"
|
||||
data-toggle="modal"
|
||||
data-target="#authorship-edit-#{author.authorshipUuid}"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="pen" />
|
||||
<span class="sr-only">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.edit.label']}
|
||||
</span>
|
||||
</button>
|
||||
<div aria-hidden="true"
|
||||
aria-labelledby="authorship-edit-#{author.authorshipUuid}-title"
|
||||
class="modal fade"
|
||||
id="authorship-edit-#{author.authorshipUuid}"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}/authors/#{author.authorshipUuid}"
|
||||
class="modal-content"
|
||||
method="post">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"
|
||||
id="authorship-edit-#{author.authorshipUuid}-title">
|
||||
#{SciPublicationsUiMessageBundle.getMessage('basicproperties.authors.editdialog.title', [author.authorName])}
|
||||
</h4>
|
||||
<button aria-label="{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.cancel']}"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="x" />
|
||||
</button>
|
||||
<c:choose>
|
||||
<c:when test="#{SciCmsPublicationPropertiesStepModel.authors.isEmpty()}">
|
||||
<p>#{SciPublicationsUiMessageBundle['basicproperties.authors.none']}</p>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button class="btn btn-secondary authors-save-order-button"
|
||||
disabled="disabled"
|
||||
type="button">
|
||||
<span class="save-icon">
|
||||
<bootstrap:svgIcon icon="save" />
|
||||
</span>
|
||||
<span class="save-spinner d-none">
|
||||
<span aria-hidden="true"
|
||||
class="spinner-border spinner-border-sm"
|
||||
role="status"></span>
|
||||
<span class="sr-only">#{SciPublicationsUiMessageBundle['authors.order.save.inprogress']}</span>
|
||||
</span>
|
||||
<span>#{SciPublicationsUiMessageBundle['authors.order.save']}</span>
|
||||
</button>
|
||||
<table id="authors-table"
|
||||
data-saveUrl="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@publication-authors/save-order">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#{SciPublicationsUiMessageBundle['basicproperties.authors.table.name']}</th>
|
||||
<th>
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.editor']}
|
||||
</th>
|
||||
<th colspan="2">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.actions']}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="#{SciCmsPublicationPropertiesStepModel.authors}"
|
||||
var="author">
|
||||
<tr class="publication-author"
|
||||
id="#{author.authorshipId}"
|
||||
data-id="#{author.authorshipId}">
|
||||
<td>
|
||||
<button class="btn btn-secondary cms-sort-handle mr-2"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="arrows-move" />
|
||||
<span class="sr-only">#{SciPublicationsUiMessageBundle['basicproperties.authors.move']}</span>
|
||||
</button>
|
||||
#{author.authorName}
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="#{author.editor}">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.editor.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.table.editor.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-secondary"
|
||||
data-toggle="modal"
|
||||
data-target="#authorship-edit-#{author.authorshipUuid}"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="pen" />
|
||||
<span class="sr-only">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.edit.label']}
|
||||
</span>
|
||||
</button>
|
||||
<div aria-hidden="true"
|
||||
aria-labelledby="authorship-edit-#{author.authorshipUuid}-title"
|
||||
class="modal fade"
|
||||
id="authorship-edit-#{author.authorshipUuid}"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}/authors/#{author.authorshipUuid}"
|
||||
class="modal-content"
|
||||
method="post">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"
|
||||
id="authorship-edit-#{author.authorshipUuid}-title">
|
||||
#{SciPublicationsUiMessageBundle.getMessage('basicproperties.authors.editdialog.title', [author.authorName])}
|
||||
</h4>
|
||||
<button aria-label="{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.cancel']}"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
<bootstrap:svgIcon icon="x" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<bootstrap:formCheck
|
||||
checked="#{author.editor}"
|
||||
inputId="#{author.authorshipUuid}-editor"
|
||||
label="#{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.editor.label']}"
|
||||
name="editor"
|
||||
value="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-warning"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.cancel']}
|
||||
</button>
|
||||
<button class="btn btn-success"
|
||||
type="submit">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.submit']}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<bootstrap:formCheck
|
||||
checked="#{author.editor}"
|
||||
inputId="#{author.authorshipUuid}-editor"
|
||||
label="#{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.editor.label']}"
|
||||
name="editor"
|
||||
value="true"
|
||||
/>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-warning"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.cancel']}
|
||||
</button>
|
||||
<button class="btn btn-success"
|
||||
type="submit">
|
||||
#{SciPublicationsUiMessageBundle['basicproperties.authors.editdialog.submit']}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<libreccm:deleteDialog
|
||||
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}/authors/#{author.authorshipUuid}/remove"
|
||||
buttonText="#{SciPublicationsUiMessageBundle['basicproperties.authors.remove.label']}"
|
||||
cancelLabel="#{SciPublicationsUiMessageBundle['basicproperties.authors.remove.cancel']}"
|
||||
confirmLabel="#{SciPublicationsUiMessageBundle['basicproperties.authors.remove.confirm']}"
|
||||
dialogId="remove-author-#{author.authorshipUuid}"
|
||||
dialogTitle="#{SciPublicationsUiMessageBundle.getMessage('basicproperties.authors.remove.title', [author.authorName])}"
|
||||
message="#{SciPublicationsUiMessageBundle.getMessage('basicproperties.authors.remove.text', [author.authorName])}"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<libreccm:deleteDialog
|
||||
actionTarget="#{mvc.basePath}/#{ContentSectionModel.sectionName}/documents/#{CmsSelectedDocumentModel.itemPath}/@#{SciCmsPublicationPropertiesStepModel.editStepUrlFragment}/authors/#{author.authorshipUuid}/remove"
|
||||
buttonText="#{SciPublicationsUiMessageBundle['basicproperties.authors.remove.label']}"
|
||||
cancelLabel="#{SciPublicationsUiMessageBundle['basicproperties.authors.remove.cancel']}"
|
||||
confirmLabel="#{SciPublicationsUiMessageBundle['basicproperties.authors.remove.confirm']}"
|
||||
dialogId="remove-author-#{author.authorshipUuid}"
|
||||
dialogTitle="#{SciPublicationsUiMessageBundle.getMessage('basicproperties.authors.remove.title', [author.authorName])}"
|
||||
message="#{SciPublicationsUiMessageBundle.getMessage('basicproperties.authors.remove.text', [author.authorName])}"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
|
||||
<ui:insert name="publicationProperties" />
|
||||
|
|
|
|||
|
|
@ -377,3 +377,6 @@ editsteps.misc.step_back=Back
|
|||
editsteps.misc.header_view=Miscellaneous information
|
||||
editsteps.misc.edit=Edit
|
||||
editsteps.misc.header_edit=Edit miscellaneous information
|
||||
basicproperties.authors.none=No authors assigned yet.
|
||||
publicationwithpublisher.publisher.none=No publisher assigned yet.
|
||||
basicproperties.authors.remove.confirm=Remove
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ basicproperties.authors.table.name=Name
|
|||
basicproperties.authors.table.editor=Herausgeber:in
|
||||
basicproperties.authors.table.actions=Aktionen
|
||||
basicproperties.authors.move=Verschieben
|
||||
basicproperties.authors.table.editor.yes=No
|
||||
basicproperties.authors.table.editor.yes=Ja
|
||||
basicproperties.authors.table.editor.no=Nein
|
||||
basicproperties.authors.edit.label=Autorenschaft bearbeiten
|
||||
basicproperties.authors.editdialog.title=Autorenschaft von {0} bearbeiten
|
||||
|
|
@ -377,3 +377,6 @@ editsteps.misc.step_back=Zur\u00fcck
|
|||
editsteps.misc.header_view=Weitere Informationen
|
||||
editsteps.misc.edit=Bearbeiten
|
||||
editsteps.misc.header_edit=Weitere Informationen bearbeiten
|
||||
basicproperties.authors.none=Es wurden noch keine Autoren eingetragen.
|
||||
publicationwithpublisher.publisher.none=Es wurde noch kein Verlag zugewiesen.
|
||||
basicproperties.authors.remove.confirm=Entfernen
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ module.exports = {
|
|||
entry: {
|
||||
"collectedvolume-asset-authors": "./src/main/typescript/collectedvolume-asset-authors.ts",
|
||||
"proceedings-asset-authors": "./src/main/typescript/proceedings-asset-authors",
|
||||
"publications-authors.ts": "./src/main/typescript/publication-authors.ts"
|
||||
"publication-authors": "./src/main/typescript/publication-authors.ts"
|
||||
},
|
||||
output: {
|
||||
filename: "[name].js",
|
||||
|
|
|
|||
Loading…
Reference in New Issue