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

import java.util.Collection;

import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus;
import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingangsart;

public class ErfassungsschrittNiederschriftErfassungMenuItem extends AbstractErfassungsschrittMenuItem{

  private static final long serialVersionUID = 1L;

  @Override
  public String getLabelKey() {
    return "erfassungsschritt.niederschrift.erfassung.menu.item.label";
  }

  @Override
  protected Ergebniseingangsart getExpectedErgebniseingangsart() {
    return Ergebniseingangsart.ENDGUELTIG;
  }

  @Override
  protected String getDialogNameInternal() {
    return null; // action direkt ausführen
  }

  @Override
  protected Collection<Ergebniseingabestatus> getExpectedErgebniseingabestatus() {
    return EINGABE_MOEGLICH_STATUS;
  }

  @Override
  public String doActionInternal() {
    return setzeGebietStatus(Ergebniseingabestatus.EINGABE_MOEGLICH);
  }

  @Override
  public String getContainerStyleClass() {
    return super.getContainerStyleClass() + " steps-niederschrift";
  }

  @Override
  protected boolean isBefore() {
    if (getErgebniseingangsart().isVorlaeufig()) {
      return false;
    }
    return isBeforeErgebniseingabestatus();
  }
}
