delete message now works

This commit is contained in:
fred-fri 2012-09-03 12:41:37 +09:00
parent 356f252337
commit 196c427c54
2 changed files with 34 additions and 5 deletions
src/main/java/se/su/dsv/scipro/admin/pages

@ -18,7 +18,7 @@ import se.su.dsv.scipro.security.auth.roles.Roles;
@Authorization(authorizedRoles = { Roles.SYSADMIN })
public abstract class AbstractAdminMatchPage extends AbstractAdminPage {
private Component feedBackPanel;
public Component feedBackPanel;
public Component getFeedBackPanel() {
return feedBackPanel;

@ -18,15 +18,19 @@ import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.odlabs.wiquery.ui.dialog.Dialog;
import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.admin.pages.AbstractAdminMatchPage;
import se.su.dsv.scipro.admin.panels.AdminEditProject;
import se.su.dsv.scipro.data.dataobjects.Project;
import se.su.dsv.scipro.datatables.ClickableIconColumn;
import se.su.dsv.scipro.datatables.ClickableTitleColumn;
import se.su.dsv.scipro.datatables.DateColumn;
import se.su.dsv.scipro.datatables.GenericDataPanel;
import se.su.dsv.scipro.datatables.keyword.KeywordLazyDeletePanel;
import se.su.dsv.scipro.icons.ImageIcon;
import se.su.dsv.scipro.match.dataobject.Keyword;
import se.su.dsv.scipro.match.panel.KeywordEditPanel;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.springdata.services.GenericService;
import se.su.dsv.scipro.springdata.services.KeywordService;
@ -38,7 +42,6 @@ public class AdminKeywordPage extends AbstractAdminMatchPage {
private AjaxLink<Void> createNewLink;
private Dialog dialog;
private FeedbackPanel feedback;
private GenericDataPanel<Keyword> dp;
public AdminKeywordPage(PageParameters pp) {
@ -47,8 +50,8 @@ public class AdminKeywordPage extends AbstractAdminMatchPage {
dialog = new Dialog("dialog");
dialog.setModal(true);
dialog.setAutoOpen(false);
dialog.setWidth(550);
dialog.setHeight(700);
// dialog.setWidth(380);
// dialog.setHeight(100);
add(dialog);
dialog.add(new EmptyPanel("editPanel"));
@ -79,7 +82,7 @@ public class AdminKeywordPage extends AbstractAdminMatchPage {
@Override
public IColumn[] getColumns() {
IColumn[] columns = new IColumn[3];
IColumn[] columns = new IColumn[5];
columns[0] = new DateColumn<Keyword>(Model.of("Date created"), "dateCreated", "dateCreated");
columns[1] = new PropertyColumn<Keyword>(Model.of("Keyword"), "keyword", "keyword");
// columns[2] = new PropertyColumn<Keyword>(Model.of("Active"), "isDeleted");
@ -94,6 +97,32 @@ public class AdminKeywordPage extends AbstractAdminMatchPage {
});
}
};
columns[3] = new ClickableIconColumn<Keyword>(Model.of("Edit"), null, ImageIcon.ICON_EDIT) {
@Override
protected void onClick(IModel<Keyword> clicked, AjaxRequestTarget target) {
target.addComponent(dialog);
dialog.setTitle("Edit keyword: " + clicked.getObject().getKeyword());
dialog.replace(new KeywordEditPanel("editPanel", clicked));
dialog.open(target);
target.addComponent(getWMC());
}
};
columns[4] = new ClickableIconColumn<Keyword>(Model.of("Delete"), null, ImageIcon.ICON_DELETE) {
@Override
protected void onClick(IModel<Keyword> clicked, AjaxRequestTarget target) {
try {
keywordService.delete(clicked.getObject().getId());
info("Keyword deleted");
} catch (Exception e){
error("Could not delete keyword, it is being used");
}
target.addComponent(getWMC());
target.addComponent(feedBackPanel);
}
};
return columns;
}
});