/**
* 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.wikilegis.ui.panels;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import br.gov.camara.edemocracia.portlets.wikilegis.service.WikiLegisServiceUtil;
import br.gov.camara.edemocracia.portlets.wikilegis.ui.model.ContribuicaoDisplay;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
public class AlterarContribuicaoBoxPanel extends Panel{
private static final long serialVersionUID = 1L;
private static final Log LOG = LogFactoryUtil.getLog(AlterarContribuicaoBoxPanel.class);
private Form<Void> formEdicao;
private TextArea<String> editTextoArtigo;
private TextArea<String> editDescricao;
private long contribuicaoId;
public AlterarContribuicaoBoxPanel(String id) {
super(id);
init();
}
private void init(){
initFormEdicao();
initEditTextoArtigo();
initEditDescricao();
}
private void initFormEdicao() {
formEdicao = new Form<Void>("formEdicao"){
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit() {
gravarAlteracoes();
}
};
add(formEdicao);
}
private void initEditTextoArtigo() {
editTextoArtigo = new TextArea<String>("editTextoArtigo",Model.of(""));
editTextoArtigo.setOutputMarkupId(true);
formEdicao.add(editTextoArtigo);
}
private void initEditDescricao() {
editDescricao = new TextArea<String>("editDescricao",Model.of(""));
editDescricao.setOutputMarkupId(true);
formEdicao.add(editDescricao);
}
public void editarArtigo(ContribuicaoDisplay contribuicao){
editTextoArtigo.setModelObject(contribuicao.getTexto());
editDescricao.setModelObject(contribuicao.getDescricao());
contribuicaoId = contribuicao.getContribuicaoId();
}
private void gravarAlteracoes(){
String textoArtigo = editTextoArtigo.getModelObject();
String descricao = editDescricao.getDefaultModelObjectAsString();
try {
WikiLegisServiceUtil.atualizaContribuicao(contribuicaoId, textoArtigo, descricao);
} catch (PortalException e) {
LOG.error("Erro ao atualizar contribuicao.", e);
} catch (SystemException e) {
LOG.error("Erro ao atualizar contribuicao.", e);
}
}
}