package de.flower.rmt.ui.page.blog;
import de.flower.rmt.model.db.entity.BArticle;
import de.flower.rmt.service.IBlogManager;
import de.flower.rmt.ui.panel.RMTBasePanel;
import de.flower.rmt.util.Dates;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import java.util.Date;
/**
* @author flowerrrr
*/
public class ArticlePanel extends RMTBasePanel<BArticle> {
@SpringBean
private IBlogManager blogManager;
public ArticlePanel(final IModel<BArticle> model) {
super(model);
// posting
// add(new Label("heading", new PropertyModel(model, "heading")));
add(new Label("author", new PropertyModel(model, "author.fullname")));
add(DateLabel.forDatePattern("date", new PropertyModel<Date>(getModel(), "createDate"), Dates.DATE_TIME_MEDIUM_SHORT));
add(new ArticleListPanel.NumCommentsLabel("numComments", model, true));
add(new Label("text", new PropertyModel(model, "text")).setEscapeModelStrings(false));
add(new Link("editLink") {
@Override
public void onClick() {
setResponsePage(new ArticleEditPage(model));
}
@Override
public boolean isVisible() {
return securityService.isCurrentUserOrManager(model.getObject().getAuthor());
}
});
// comments
add(new BCommentsPanel(model));
}
}