package hu.sch.web.kp.valuation.request;
import hu.sch.domain.AbstractValuationRequest;
import hu.sch.domain.user.User;
import hu.sch.domain.Valuation;
import hu.sch.domain.enums.ValuationPeriod;
import hu.sch.services.ValuationManagerLocal;
import hu.sch.web.kp.KorokPage;
import hu.sch.web.kp.valuation.Valuations;
import java.util.Iterator;
import java.util.List;
import javax.inject.Inject;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValueConversionException;
/**
*
* @author messo
*/
public class Requests extends KorokPage {
@Inject
protected ValuationManagerLocal valuationManager;
protected Valuation valuation = null;
protected ValuationPeriod valPeriod = null;
public Requests(PageParameters params) {
Long vid = null;
try {
vid = params.get("vid").toLong();
} catch (StringValueConversionException ex) {
}
// TODO(messo): kapcsoljuk a Valuation mellé a Group-ot is, így kicsit gyorsabb
if (vid == null || (valuation = valuationManager.findErtekelesById(vid)) == null) {
error("Nincs ilyen értékelés!");
setResponsePage(Valuations.class);
return;
}
valPeriod = systemManager.getErtekelesIdoszak();
setDefaultModel(new CompoundPropertyModel<Valuation>(valuation));
add(new Label("group.name"));
add(new Label("semester"));
}
/**
* Removes requests which don't belong to any active member. (In case of
* members changed between requests)
*
* @param requests
* @param actualMembers
*/
public static void cleanOldBoysFromRequests(final List<? extends AbstractValuationRequest> requests,
final List<User> actualMembers) {
for (final Iterator<? extends AbstractValuationRequest> requestIterator = requests.iterator();
requestIterator.hasNext();) {
final AbstractValuationRequest request = requestIterator.next();
if (!actualMembers.contains(request.getUser())) {
requestIterator.remove();
}
}
}
}