
package de.ivu.elect.presentation.stimmeingabe.action;

import javax.inject.Inject;

import de.ivu.elect.business.security.UseCasePermission;
import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingang;
import de.ivu.elect.presentation.View;
import de.ivu.elect.presentation.dokumente.action.DokumentErzeugenActionEntry;
import de.ivu.elect.presentation.stimmeingabe.ErgebniseingangDokumentErzeugenView;

public class ErgebniseingangDokumentErzeugenAction extends AbstractErgebniseingangAction implements DokumentErzeugenActionEntry {

  private static final long serialVersionUID = 1L;

  @View
  @Inject
  private transient ErgebniseingangDokumentErzeugenView ergebniseingangDokumentErzeugenView;

  public ErgebniseingangDokumentErzeugenAction() {
    super();
  }

  @Override
  protected UseCasePermission getRequiredPermission() {
    return ergebniseingangDokumentErzeugenView.getUseCasePermission();
  }

  @Override
  protected boolean isDisabledInternal(Ergebniseingang ergebniseingang) {
    return false; // Cf. DirektkandidaturWahlvorschlagDokumentErzeugenAction!
  }

  @Override
  protected String doIt(Ergebniseingang ergebniseingang) {
    return ergebniseingangDokumentErzeugenView.initErgebniseingang(ergebniseingang);
  }

  @Override
  public String getLabelKey() {
    return "ergebniseingang.dokument.erzeugen.action";
  }

  @Override
  public String getIcon() {
    return appIcons.getIconDocument();
  }
}
