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 213d01ff7c..4ee110a917 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 @@ -75,9 +75,11 @@ public class CheckListTemplateDataPanel extends Panel { protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target, boolean up) { System.out.println(up); if (up){ - + checklistTemplateService.upChecklistTemplate(clicked.getObject()); + target.addComponent(table); } else { - + checklistTemplateService.downChecklistTemplate(clicked.getObject()); + target.addComponent(table); } } }; diff --git a/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java b/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java index 2cde2f65fa..bdee65bb50 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java +++ b/src/main/java/se/su/dsv/scipro/springdata/repos/ChecklistTemplateRepo.java @@ -12,6 +12,6 @@ import se.su.dsv.scipro.data.dataobjects.CheckListTemplate; @Transactional(readOnly = true) public interface ChecklistTemplateRepo extends JpaRepository<CheckListTemplate, Long>, QueryDslPredicateExecutor<CheckListTemplate> { - //nothing here yet + CheckListTemplate findByTemplateNumber(int templateNumber); } diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java index 8f34bc70e1..fb42b2cebd 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ChecklistTemplateServiceImpl.java @@ -59,6 +59,40 @@ public class ChecklistTemplateServiceImpl extends AbstractQueryService<CheckList } } + @Transactional ( readOnly = false ) + @Override + public void upChecklistTemplate(CheckListTemplate checkListTemplate) { + //if there is one above + if (checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() + 1) !=null){ + //find the one with value 1 higher + CheckListTemplate downChecklistTemplate = checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() + 1); + //give that one the one to be upped's value + downChecklistTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber()); + //increase the value of the one to be upped with 1 + checkListTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber() + 1); + //save both + checklistTemplateRepo.save(downChecklistTemplate); + checklistTemplateRepo.save(checkListTemplate); + } + } + + @Transactional ( readOnly = false ) + @Override + public void downChecklistTemplate(CheckListTemplate checkListTemplate) { + //if there is one below + if (checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() -1) != null){ + //find the one with value 1 lower + CheckListTemplate upChecklistTemplate = checklistTemplateRepo.findByTemplateNumber(checkListTemplate.getTemplateNumber() -1); + //give that one the one to be downed's value + upChecklistTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber()); + //decrease the value of the one to be downed with 1 + checkListTemplate.setTemplateNumber(checkListTemplate.getTemplateNumber() -1); + //save both + checklistTemplateRepo.save(upChecklistTemplate); + checklistTemplateRepo.save(checkListTemplate); + } + } + private BooleanExpression filterStringIsCreatorName(String filterString){ return QCheckListTemplate.checkListTemplate.creator.firstName.contains(filterString).or(QCheckListTemplate.checkListTemplate.creator.lastName.contains(filterString)); } diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java index 7f81eff83a..91b506aee9 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java +++ b/src/main/java/se/su/dsv/scipro/springdata/services/ChecklistTemplateService.java @@ -14,4 +14,5 @@ public interface ChecklistTemplateService extends CrudService<CheckListTemplate, Page<CheckListTemplate> find(String filterString, Pageable pageable); Long count(String filterString); void upChecklistTemplate(CheckListTemplate checkListTemplate); + void downChecklistTemplate(CheckListTemplate checkListTemplate); }