package hu.sch.web.kp.valuation.request.point;
import hu.sch.domain.PointRequest;
import hu.sch.domain.user.User;
import hu.sch.domain.Valuation;
import hu.sch.domain.ValuationStatistic;
import hu.sch.services.GroupManagerLocal;
import hu.sch.services.ValuationManagerLocal;
import hu.sch.web.wicket.components.customlinks.UserLink;
import java.util.List;
import javax.inject.Inject;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.CompoundPropertyModel;
/**
*
* @author hege
* @author messo
*/
public class PointRequestViewer extends Panel {
@Inject
ValuationManagerLocal valuationManager;
@Inject
private GroupManagerLocal groupManager;
public PointRequestViewer(String id, final Valuation val) {
super(id);
// TODO(messo): ehhez valami rendesebb query-t pakoljunk ide, nem kell két query.
// TODO kell ez a változó még?
final List<User> activeMembers = groupManager.findActiveMembers(val.getGroup().getId());
final List<PointRequest> requests = valuationManager.findPontIgenyekForErtekeles(val.getId());
/*/tagok és igények összefésülése
if (requests.isEmpty()) {
for (User f : activeMembers) {
requests.add(new PointRequest(f, 0));
}
}*/
add(new ListView<PointRequest>("requests", requests) {
@Override
protected void populateItem(ListItem<PointRequest> item) {
final PointRequest p = item.getModelObject();
item.setModel(new CompoundPropertyModel<PointRequest>(p));
item.add(new UserLink("userLink", p.getUser()));
item.add(new Label("user.nickName"));
item.add(new Label("point"));
}
});
ValuationStatistic stat = valuationManager.getStatisticForValuation(val.getId());
add(new Label("stat.averagePoint", stat.getAveragePoint().toString()));
add(new Label("stat.sumPoint", stat.getSummaPoint().toString()));
if (requests.isEmpty())
getSession().info(getLocalizer().getString("info.NincsErtekeles", this.getParent() ));
}
}