/**
* Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados.
*
* e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro
* dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do
* Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão.
*
* Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA;
* sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
* Veja a Licença Pública Geral Menor GNU para maiores detalhes.
*/
package br.gov.camara.edemocracia.portlets.priorizacao.ui.pages;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.PropertyListView;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.PropertyModel;
import br.gov.camara.edemocracia.portlets.priorizacao.PriorizacaoSumario;
import br.gov.camara.edemocracia.portlets.priorizacao.PropostaSumario;
import br.gov.camara.edemocracia.portlets.priorizacao.service.PriorizacaoServiceUtil;
import br.gov.camara.edemocracia.portlets.priorizacao.service.util.PriorizacaoPermissionsUtil;
import br.gov.camara.edemocracia.portlets.priorizacao.ui.panels.MenuPanel;
import br.gov.camara.edemocracia.portlets.priorizacao.ui.util.UIUtils;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.theme.ThemeDisplay;
/**
* Sumário da priorização
*
* @author robson
*
*/
public class SumarioAleatorioPage extends WebPage {
private boolean podeVerVotos;
@Override
protected void onInitialize() {
super.onInitialize();
initPodeVerVotos();
}
public SumarioAleatorioPage() {
LoadableDetachableModel<PriorizacaoSumario> model = new LoadableDetachableModel<PriorizacaoSumario>() {
@Override
protected PriorizacaoSumario load() {
long groupId = UIUtils.getScopeGroupId();
try {
return PriorizacaoServiceUtil.getSumarioPriorizacao(groupId, null);
} catch (SystemException e) {
throw new RuntimeException(e);
}
}
};
setDefaultModel(new CompoundPropertyModel<PriorizacaoSumario>(model));
add(new MenuPanel("menu"));
add(new Label("totalVotos"));
add(new WebMarkupContainer("colunaVotos").setVisible(podeVerVotos));
add(new PropertyListView<PropostaSumario>("propostas") {
@Override
protected void populateItem(ListItem<PropostaSumario> item) {
item.add(new Label("eixo.nome"));
item.add(new Label("identificador"));
item.add(new Label("nome"));
item.add(new Label("numeroVotos").setVisible(podeVerVotos));
}
});
}
private void initPodeVerVotos(){
ThemeDisplay td = UIUtils.getThemeDisplay();
podeVerVotos = PriorizacaoPermissionsUtil
.hasPermission(td.getPermissionChecker(),td.getScopeGroupId(),"VIEW_VOTE");
}
}