/*
* Copyright (c) JForum Team. All rights reserved.
*
* The software in this package is published under the terms of the LGPL
* license a copy of which has been included with this distribution in the
* license.txt file.
*
* The JForum Project
* http://www.jforum.net
*/
package net.jforum.controllers;
import net.jforum.actions.helpers.Domain;
import net.jforum.core.SecurityConstraint;
import net.jforum.entities.BadWord;
import net.jforum.repository.BadWordRepository;
import net.jforum.security.AdministrationRule;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
/**
* @author Rafael Steil
*/
@Resource
@Path(Domain.BAD_WORD_ADMIN)
// @InterceptedBy(ActionSecurityInterceptor.class)
@SecurityConstraint(value = AdministrationRule.class, displayLogin = true)
public class BadWordAdminController {
private BadWordRepository repository;
private final Result result;
public BadWordAdminController(Result result, BadWordRepository repository) {
this.result = result;
this.repository = repository;
}
public void delete(int... badWordId) {
if (badWordId != null) {
for (int id : badWordId) {
BadWord word = this.repository.get(id);
this.repository.remove(word);
}
}
this.result.redirectTo(this).list();
}
public void list() {
this.result.include("words", this.repository.getAll());
}
public void add() {
}
public void addSave(BadWord word) {
this.repository.add(word);
this.result.redirectTo(this).list();
}
public void edit(int id) {
BadWord word = this.repository.get(id);
this.result.include("word", word);
this.result.forwardTo(this).add();
}
public void editSave(BadWord word) {
this.repository.update(word);
this.result.redirectTo(this).list();
}
}