Při vkládání nového požadavku se nabízí pouze střediska nastavená u

daného typu požadavku.
closes #130
multitenant
Josef Rokos 10 years ago
parent 60accd156c
commit 31d5892200

@ -1,10 +1,14 @@
package info.bukova.isspst.services.requirement;
import info.bukova.isspst.data.RequirementType;
import info.bukova.isspst.data.Workgroup;
import info.bukova.isspst.services.Service;
import java.util.List;
public interface RequirementTypeService extends Service<RequirementType> {
public RequirementType getTypeById(String id);
public List<Workgroup> filterCentres(RequirementType reqType, List<Workgroup> source);
}

@ -1,8 +1,12 @@
package info.bukova.isspst.services.requirement;
import java.util.ArrayList;
import java.util.List;
import org.springframework.transaction.annotation.Transactional;
import info.bukova.isspst.data.RequirementType;
import info.bukova.isspst.data.Workgroup;
import info.bukova.isspst.services.AbstractOwnedService;
public class RequirementTypeServiceImpl extends AbstractOwnedService<RequirementType> implements RequirementTypeService {
@ -13,4 +17,23 @@ public class RequirementTypeServiceImpl extends AbstractOwnedService<Requiremen
return selectSingle("from RequirementType where type = '" + id + "'");
}
@Override
public List<Workgroup> filterCentres(RequirementType reqType,
List<Workgroup> source) {
if (!reqType.getLimitCentres()) {
return source;
}
List<Workgroup> filtered = new ArrayList<Workgroup>();
for (Workgroup wg : source) {
if (reqType.getOfferedCentres().contains(wg)) {
filtered.add(wg);
}
}
return filtered;
}
}

@ -5,6 +5,7 @@ import info.bukova.isspst.data.Requirement;
import info.bukova.isspst.data.RequirementItem;
import info.bukova.isspst.data.RequirementSubject;
import info.bukova.isspst.data.Workgroup;
import info.bukova.isspst.services.requirement.RequirementTypeService;
import info.bukova.isspst.services.users.UserService;
import info.bukova.isspst.services.workgroups.WorkgroupService;
import info.bukova.isspst.ui.BigDecimalConverter;
@ -37,6 +38,9 @@ public class RequirementForm extends FormViewModel<Requirement>
@WireVariable
private WorkgroupService workgroupService;
@WireVariable
private RequirementTypeService reqTypeService;
private RequirementItem selectedItem;
private int selItemIndex;
@ -47,9 +51,11 @@ public class RequirementForm extends FormViewModel<Requirement>
private List<RequirementItem> syncItems;
private List<Workgroup> centres;
public List<Workgroup> getCentres()
{
return workgroupService.getUserCentres(userService.getCurrent());
return centres;
}
public RequirementItem getSelectedItem()
@ -99,6 +105,7 @@ public class RequirementForm extends FormViewModel<Requirement>
this.setBigDecimalConverter(new BigDecimalConverter());
this.setRequirementFormValidator(new RequirementFormValidator());
this.setSyncItems(this.getDataBean().getItems());
this.centres = reqTypeService.filterCentres(getDataBean().getType(), workgroupService.getUserCentres(userService.getCurrent()));
}
public List<RequirementItem> getSyncItems()

@ -12,6 +12,7 @@ import info.bukova.isspst.data.SettingsData;
import info.bukova.isspst.data.TripRequirement;
import info.bukova.isspst.data.User;
import info.bukova.isspst.data.Workgroup;
import info.bukova.isspst.services.requirement.RequirementTypeService;
import info.bukova.isspst.services.settings.GlobalSettingsService;
import info.bukova.isspst.services.users.UserService;
import info.bukova.isspst.services.workgroups.WorkgroupService;
@ -26,6 +27,8 @@ public class TripRequirementForm extends FormViewModel<TripRequirement> {
private WorkgroupService workgroupService;
@WireVariable
private GlobalSettingsService settingsService;
@WireVariable
private RequirementTypeService reqTypeService;
private List<Workgroup> centres;
private List<User> users;
private List<User> passengers;
@ -34,7 +37,7 @@ public class TripRequirementForm extends FormViewModel<TripRequirement> {
@Init(superclass = true)
public void init() {
centres = workgroupService.getUserCentres(userService.getCurrent());
centres = reqTypeService.filterCentres(getDataBean().getType(), workgroupService.getUserCentres(userService.getCurrent()));
users = userService.getAll();
passengers = getDataBean().getPassengers();
validator = new TripRequirementFormValidator();

Loading…
Cancel
Save