-
Notifications
You must be signed in to change notification settings - Fork 530
11914 set template default #11989
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
11914 set template default #11989
Changes from all commits
7ebb100
4c9044a
9460189
097e972
5d7379e
d5aab83
31a2078
76ff3e0
8e72fea
17bb055
04fcb16
72237fb
a86a9ab
924da37
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| ## New Endpoint: POST `/dataverses/{id}/template/default/{templateId}` | ||
|
|
||
| A new endpoint has been implemented to set the default template to a given dataverse collection. | ||
|
|
||
| ### Functionality | ||
| - Sets the default template of the given dataverse collection. | ||
| - You must have edit dataverse permission in the collection in order to use this endpoint. | ||
|
|
||
| ## New Endpoint: DELETE `/dataverses/{id}/template/default` | ||
jp-tosca marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| A new endpoint has been implemented to remove the default template to a given dataverse collection. | ||
|
|
||
| ### Functionality | ||
| - Removes the default template of the given dataverse collection. | ||
| - You must have edit dataverse permission in the collection in order to use this endpoint. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -370,6 +370,20 @@ protected Dataverse findDataverseOrDie( String dvIdtf ) throws WrappedResponse { | |
| } | ||
| return dv; | ||
| } | ||
|
|
||
| protected Template findTemplateOrDie(Long templateId, Dataverse dataverse) throws WrappedResponse { | ||
|
|
||
| Template template = dataverse.getTemplates().stream() | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we need to take into account whether the dataverse is inheriting templates from its parents. |
||
| .filter(t -> Objects.equals(t.getId(), templateId)) | ||
| .findFirst() | ||
| .orElse(null); | ||
|
|
||
| if (template == null) { | ||
| throw new WrappedResponse( | ||
| error(Response.Status.NOT_FOUND, "Can't find template with identifier='" + templateId + "'")); | ||
| } | ||
| return template; | ||
| } | ||
|
|
||
| protected DataverseLinkingDataverse findDataverseLinkingDataverseOrDie(String dataverseId, String linkedDataverseId) throws WrappedResponse { | ||
| DataverseLinkingDataverse dvld; | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,32 @@ | ||||||||
| package edu.harvard.iq.dataverse.engine.command.impl; | ||||||||
|
|
||||||||
| import edu.harvard.iq.dataverse.*; | ||||||||
| import edu.harvard.iq.dataverse.authorization.Permission; | ||||||||
|
|
||||||||
| import edu.harvard.iq.dataverse.engine.command.AbstractCommand; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.CommandContext; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.DataverseRequest; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.RequiredPermissions; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.exception.CommandException; | ||||||||
|
|
||||||||
| /** | ||||||||
| * @author J.P. Tosca | ||||||||
| * Removes the default template {@link Template} for a {@link Dataverse}. | ||||||||
| */ | ||||||||
| @RequiredPermissions(Permission.EditDataverse) | ||||||||
| public class RemoveDefaultDatasetCommand extends AbstractCommand<Dataverse>{ | ||||||||
|
|
||||||||
| private final Dataverse dataverse; | ||||||||
|
|
||||||||
| public RemoveDefaultDatasetCommand(DataverseRequest request, Dataverse dataverse) { | ||||||||
| super(request, dataverse); | ||||||||
| this.dataverse = dataverse; | ||||||||
| } | ||||||||
|
|
||||||||
| @Override | ||||||||
| public Dataverse execute(CommandContext ctxt) throws CommandException { | ||||||||
| dataverse.setDefaultTemplate(null); | ||||||||
| return dataverse; | ||||||||
|
||||||||
| return dataverse; | |
| Dataverse mergedDataverse = ctxt.em().merge(dataverse); | |
| return mergedDataverse; |
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,35 @@ | ||||||||
| package edu.harvard.iq.dataverse.engine.command.impl; | ||||||||
|
|
||||||||
| import edu.harvard.iq.dataverse.*; | ||||||||
| import edu.harvard.iq.dataverse.authorization.Permission; | ||||||||
|
|
||||||||
| import edu.harvard.iq.dataverse.engine.command.AbstractCommand; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.CommandContext; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.DataverseRequest; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.RequiredPermissions; | ||||||||
| import edu.harvard.iq.dataverse.engine.command.exception.CommandException; | ||||||||
| import edu.harvard.iq.dataverse.Template; | ||||||||
|
|
||||||||
| /** | ||||||||
| * @author J.P. Tosca | ||||||||
| * Sets a default template {@link Template} for a {@link Dataverse}. | ||||||||
| */ | ||||||||
| @RequiredPermissions(Permission.EditDataverse) | ||||||||
| public class SetDefaultTemplateCommand extends AbstractCommand<Template> { | ||||||||
|
|
||||||||
| private final Template template; | ||||||||
| private final Dataverse dataverse; | ||||||||
|
|
||||||||
| public SetDefaultTemplateCommand(Template template, DataverseRequest request, Dataverse dataverse) { | ||||||||
| super(request, dataverse); | ||||||||
| this.template = template; | ||||||||
| this.dataverse = dataverse; | ||||||||
| } | ||||||||
|
|
||||||||
| @Override | ||||||||
| public Template execute(CommandContext ctxt) throws CommandException { | ||||||||
| dataverse.setDefaultTemplate(template); | ||||||||
|
||||||||
| dataverse.setDefaultTemplate(template); | |
| dataverse.setDefaultTemplate(template); | |
| ctxt.em().merge(dataverse); |
Uh oh!
There was an error while loading. Please reload this page.