package hu.sch.web.wicket.components.tables;

import hu.sch.domain.Membership;
import hu.sch.domain.ValuationData;
import hu.sch.web.wicket.components.SvieMembershipDetailsIcon;
import hu.sch.web.wicket.components.customlinks.UserLink;
import java.util.List;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

/**
 * Értékelési táblázat, amely neveket, pont- és belépőkérelmeket tartalmaz. Ezt
 * használjuk egy kör korábbi értékeléseinek megjelenítéséhez.
 *
 * @author messo
 * @since 2.3.1
 */
public class ValuationTableForGroup extends ValuationTable {

    public ValuationTableForGroup(String id, List<ValuationData> items, int rowsPerPage,
            final boolean showSvieColumn) {

        super(id, items, rowsPerPage, showSvieColumn);
        provider.setSort(MySortableDataProvider.SORT_BY_POINT, SortOrder.DESCENDING);
    }

    public ValuationTableForGroup(String id, List<ValuationData> items,
            final boolean showSvieColumn) {

        this(id, items, 20, showSvieColumn);
    }

    @Override
    protected void populateColumns(List<IColumn<ValuationData, String>> columns) {
        columns.add(new PanelColumn<ValuationData>("Név", MySortableDataProvider.SORT_BY_USER) {

            @Override
            protected Panel getPanel(String componentId, ValuationData vd) {
                return new UserLink(componentId, vd.getUser());
            }
        });

        if (isShowSvieColumn) {
            columns.add(new PanelColumn<ValuationData>("SVIE") {

                @Override
                protected Panel getPanel(final String componentId, final ValuationData vd) {
                    final Membership ms = membershipManager.findMembership(vd.getGroup().getId(),
                            vd.getUser().getId());

                    if (ms != null) {
                        return new SvieMembershipDetailsIcon(componentId, ms);
                    }

                    // törölt körtagságból eredő értékelés
                    return new SvieMembershipDetailsIcon(componentId, vd.getUser());
                }
            });
        }

        columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Pont"),
                MySortableDataProvider.SORT_BY_POINT, "pointRequest.point"));

        columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Belépő típusa"),
                MySortableDataProvider.SORT_BY_ENTRANT, "entrantRequest.entrantType"));

        columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Szöveges értékelés"),
                "entrantRequest.valuationText") {

            @Override
            public void populateItem(Item<ICellPopulator<ValuationData>> item, String componentId, IModel<ValuationData> rowModel) {
                super.populateItem(item, componentId, rowModel);
                item.add(AttributeModifier.replace("style", "width: 400px"));
            }
        });
    }
}

@@ -292,24 +292,67 @@
 teModifier;%0A
+import org.apache.wicket.cdi.CdiContainer;%0A
 import org.a
@@ -1270,24 +1270,91 @@
 vieColumn);%0A
+        CdiContainer.get().getNonContextualManager().inject(this);%0A
         prov

Fix injection in ValuationTableForGroup class (fixes #56)