diff --git a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.html b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.html index 316f72bbb5..fb55bf548d 100644 --- a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.html +++ b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.html @@ -6,6 +6,7 @@ <div>Filter by title or creator:</div> <div wicket:id="filterStringPanel"></div> <div>Rows per page: <span wicket:id="numberDropDown"></span></div> + <div><button wicket:id="newLink">Create new</button></div> <table wicket:id="datatable"></table> </wicket:panel> </body> diff --git a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java index 74b20738f2..f30ede3cc3 100644 --- a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java +++ b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java @@ -1,15 +1,21 @@ package se.su.dsv.scipro.datatables.checklist; import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.extensions.markup.html.repeater.data.table.*; import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; +import org.apache.wicket.markup.html.form.Form; +import org.apache.wicket.markup.html.form.RequiredTextField; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.spring.injection.annot.SpringBean; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; +import se.su.dsv.scipro.SciProSession; +import se.su.dsv.scipro.checklists.panels.ChecklistCategoryPanel; import se.su.dsv.scipro.data.dataobjects.CheckListTemplate; +import se.su.dsv.scipro.data.dataobjects.ChecklistCategory; import se.su.dsv.scipro.reusable.AjaxDropDown; import se.su.dsv.scipro.reusable.FilterBooleanPanel; import se.su.dsv.scipro.reusable.FilterStringPanel; @@ -35,6 +41,7 @@ public abstract class CheckListTemplateDataPanel extends Panel { Integer number; AjaxDropDown<Integer> numberDropDown; ChecklistTemplateProvider checklistTemplateProvider; + AjaxLink<Void> newLink; public abstract void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target); @@ -43,6 +50,21 @@ public abstract class CheckListTemplateDataPanel extends Panel { cltdp = this; + newLink = new AjaxLink<Void>("newLink") { + @Override + public void onClick(AjaxRequestTarget target) { + CheckListTemplate clt = new CheckListTemplate("New checklist template (change this to real name)", SciProSession.get().getUser()); + clt.setCategories(new ArrayList<ChecklistCategory>()); + ArrayList<String> questionList = new ArrayList<String>(); + questionList.add(new String("Example question (remove this and add relevant questions)")); + clt.setQuestions(questionList); + clt.setTemplateNumber(safeLongToInt(checklistTemplateService.count() + 1)); + cltdp.onClick(new Model<CheckListTemplate>(clt), target); + } + }; + newLink.setVisible(adminPrivileges); + add(newLink); + filterStringPanel = new FilterStringPanel("filterStringPanel") { @Override public void onUpdateFilter(AjaxRequestTarget target) {