Skip to content

Commit

Permalink
#8600 delete clone on cancel
Browse files Browse the repository at this point in the history
  • Loading branch information
sekmiller committed May 19, 2022
1 parent 1376eda commit a9861fb
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public String cloneTemplate(Template templateIn) {
saveDataverse("");
String msg = BundleUtil.getStringFromBundle("template.clone");//"The template has been copied";
JsfHelper.addFlashMessage(msg);
return "/template.xhtml?id=" + created.getId() + "&ownerId=" + dataverse.getId() + "&editMode=METADATA&faces-redirect=true";
return "/template.xhtml?id=" + created.getId() + "&ownerId=" + dataverse.getId() + "&editMode=CLONE&faces-redirect=true";
} catch (CommandException ex) {
JH.addMessage(FacesMessage.SEVERITY_FATAL, BundleUtil.getStringFromBundle("template.clone.error"));//"Template could not be copied. "
}
Expand Down
19 changes: 18 additions & 1 deletion src/main/java/edu/harvard/iq/dataverse/TemplatePage.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import edu.harvard.iq.dataverse.engine.command.Command;
import edu.harvard.iq.dataverse.engine.command.exception.CommandException;
import edu.harvard.iq.dataverse.engine.command.impl.CreateTemplateCommand;
import edu.harvard.iq.dataverse.engine.command.impl.DeleteTemplateCommand;
import edu.harvard.iq.dataverse.engine.command.impl.UpdateDataverseCommand;
import edu.harvard.iq.dataverse.engine.command.impl.UpdateDataverseTemplateCommand;
import edu.harvard.iq.dataverse.license.LicenseServiceBean;
Expand All @@ -12,6 +13,7 @@
import static edu.harvard.iq.dataverse.util.JsfHelper.JH;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.EJBException;
import javax.faces.application.FacesMessage;
Expand Down Expand Up @@ -53,7 +55,7 @@ public class TemplatePage implements java.io.Serializable {

public enum EditMode {

CREATE, METADATA, LICENSE, LICENSEADD
CREATE, METADATA, LICENSE, LICENSEADD, CLONE
};

private Template template;
Expand Down Expand Up @@ -236,5 +238,20 @@ public String save(String redirectPage) {
public void cancel() {
editMode = null;
}

public String deleteTemplate(Long templateId) {
List <Dataverse> dataverseWDefaultTemplate = null;
Template doomed = templateService.find(templateId);
dataverse.getTemplates().remove(doomed);
dataverseWDefaultTemplate = templateService.findDataversesByDefaultTemplateId(doomed.getId());
try {
commandEngine.submit(new DeleteTemplateCommand(dvRequestService.getDataverseRequest(), getDataverse(), doomed, dataverseWDefaultTemplate ));
JsfHelper.addFlashMessage(BundleUtil.getStringFromBundle("template.delete"));//("The template has been deleted");
} catch (CommandException ex) {
String failMessage = BundleUtil.getStringFromBundle("template.delete.error");//"The dataset template cannot be deleted.";
JH.addMessage(FacesMessage.SEVERITY_FATAL, failMessage);
}
return "/manage-templates.xhtml?dataverseId=" + dataverse.getId() + "&faces-redirect=true";
}

}
8 changes: 5 additions & 3 deletions src/main/webapp/template.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
</div>
</div>
</div>
<ui:fragment rendered="#{TemplatePage.editMode == 'METADATA' or TemplatePage.editMode == 'CREATE'}">
<ui:fragment rendered="#{TemplatePage.editMode == 'METADATA' or TemplatePage.editMode == 'CLONE' or TemplatePage.editMode == 'CREATE'}">
<ui:include src="metadataFragment.xhtml" >
<ui:param name="datasetPage" value="false"/>
<ui:param name="templatePage" value="true"/>
Expand All @@ -118,11 +118,13 @@
</p:commandButton>
<p:commandButton styleClass="btn btn-default" action="#{TemplatePage.save('')}" update="@form,messagePanel"
value="#{TemplatePage.editMode == 'LICENSEADD' ? bundle['dataset.manageTemplates.saveNewTerms'] : bundle.saveChanges}"
rendered="#{TemplatePage.editMode == 'METADATA' or TemplatePage.editMode == 'LICENSE' or TemplatePage.editMode == 'LICENSEADD'}">
rendered="#{TemplatePage.editMode == 'METADATA' or TemplatePage.editMode == 'CLONE' or TemplatePage.editMode == 'LICENSE' or TemplatePage.editMode == 'LICENSEADD'}">
<f:ajax onerror="window.scrollTo(0, 0)"/>
</p:commandButton>
<h:button styleClass="btn btn-link" value="#{bundle.cancel}"
<h:button styleClass="btn btn-link" value="#{bundle.cancel}" rendered="#{TemplatePage.editMode != 'CLONE'}"
outcome="/manage-templates.xhtml?dataverseId=#{TemplatePage.dataverse.id}"></h:button>
<p:commandButton styleClass="btn btn-link" value="#{bundle.cancel}" rendered="#{TemplatePage.editMode == 'CLONE'}"
action="#{TemplatePage.deleteTemplate(TemplatePage.templateId)}" ></p:commandButton>
</div>
</h:form>
</ui:define>
Expand Down

0 comments on commit a9861fb

Please sign in to comment.