delete column only added if adminprivileges
This commit is contained in:
parent
c49837da53
commit
246f13b7f6
src/main/java/se/su/dsv/scipro
admin/pages
datatables/checklist
springdata/serviceimpls
@ -39,7 +39,7 @@ public class AdminCheckListPage extends AbstractAdminPage {
|
||||
add(dialog);
|
||||
|
||||
|
||||
add(cltdp = new CheckListTemplateDataPanel("datapanel", true) {
|
||||
add(cltdp = new CheckListTemplateDataPanel("datapanel", false) {
|
||||
@Override
|
||||
public void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
|
||||
System.out.println(clicked.getObject().getCreator());
|
||||
|
@ -20,6 +20,8 @@ import se.su.dsv.scipro.reusable.AjaxDropDown;
|
||||
import se.su.dsv.scipro.reusable.FilterBooleanPanel;
|
||||
import se.su.dsv.scipro.reusable.FilterStringPanel;
|
||||
import se.su.dsv.scipro.springdata.services.ChecklistTemplateService;
|
||||
import se.su.dsv.scipro.util.JavascriptEventConfirmation;
|
||||
import sun.plugin2.message.JavaScriptBaseMessage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
@ -83,7 +85,14 @@ public abstract class CheckListTemplateDataPanel extends Panel {
|
||||
};
|
||||
add(numberDropDown);
|
||||
|
||||
IColumn[] columns = new IColumn[5];
|
||||
IColumn[] columns;
|
||||
if (adminPrivileges){
|
||||
columns = new IColumn[5];
|
||||
}
|
||||
else {
|
||||
columns = new IColumn[4];
|
||||
}
|
||||
|
||||
|
||||
columns[0] = new ClickableTitleColumn<CheckListTemplate>(Model.of("Name"), "name", "name") {
|
||||
@Override
|
||||
@ -108,14 +117,25 @@ public abstract class CheckListTemplateDataPanel extends Panel {
|
||||
}
|
||||
};
|
||||
|
||||
columns[4] = new ClickableDeleteColumn<CheckListTemplate>(Model.of("Delete"), "name") {
|
||||
@Override
|
||||
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
|
||||
checklistTemplateService.lowerTemplateNumbersAbove(clicked.getObject().getTemplateNumber());
|
||||
checklistTemplateService.delete(clicked.getObject().getId());
|
||||
target.addComponent(table);
|
||||
}
|
||||
};
|
||||
if (adminPrivileges){
|
||||
columns[4] = new ClickableDeleteColumn<CheckListTemplate>(Model.of("Delete"), "name") {
|
||||
@Override
|
||||
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
|
||||
boolean isPeer = false;
|
||||
for (ChecklistCategory clc : clicked.getObject().getCategories()){
|
||||
if (clc.getCategoryName().equalsIgnoreCase("peer")){
|
||||
isPeer = true;
|
||||
}
|
||||
}
|
||||
if (!isPeer){
|
||||
checklistTemplateService.lowerTemplateNumbersAbove(clicked.getObject().getTemplateNumber());
|
||||
checklistTemplateService.delete(clicked.getObject().getId());
|
||||
}
|
||||
target.addComponent(table);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
table = new DataTable<CheckListTemplate>("datatable", columns, checklistTemplateProvider = new ChecklistTemplateProvider(), 10);
|
||||
table.setOutputMarkupId(true);
|
||||
|
@ -51,7 +51,6 @@ public abstract class ClickableDeleteColumn<T> extends AbstractColumn<T> {
|
||||
};
|
||||
add(link);
|
||||
link.add(new ImageObject("deleteicon", ImageObject.SIXTEEN + ImageObject.DELETE));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -108,6 +108,7 @@ public class ChecklistTemplateServiceImpl extends AbstractQueryService<CheckList
|
||||
return clt;
|
||||
}
|
||||
|
||||
@Transactional ( readOnly = false )
|
||||
@Override
|
||||
public void lowerTemplateNumbersAbove(int templateNumber) {
|
||||
for (CheckListTemplate clt : checklistTemplateRepo.findAllByTemplateNumberGreaterThan(templateNumber)){
|
||||
|
Loading…
x
Reference in New Issue
Block a user