package de.ivu.elect.presentation.wahl;

import javax.enterprise.inject.Specializes;

import de.ivu.elect.business.security.UseCasePermission;
import de.ivu.elect.business.security.UseCaseSecure;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.WahlterminProperties;
import de.ivu.elect.jee.presentation.dynamicform.FormBuilder;
import de.ivu.elect.jee.presentation.redirect.Redirect;

@Specializes
public class NlWasWahlEditView extends WasWahlEditView{
  private static final long serialVersionUID = 1L;


  @Override
  public void addProperties(FormBuilder formBuilder, Wahl wahl) {
    super.addProperties(formBuilder, wahl);
    // ELECTVAPP-113 formBuilder.globalReadonly(); // bei NL nichts mehr änderbar im WAS (bis zum Beweis des Gegenteils)
  }

  @Override
  public WahlterminProperties.WahldatumProperty getWahlterminWahldatumProperty() {
    WahlterminProperties.WahldatumProperty wahlterminWahldatumProperty = super.getWahlterminWahldatumProperty();
    wahlterminWahldatumProperty.setReadonly(true); // bei NL nichts mehr änderbar im WAS (bis zum Beweis des Gegenteils)
    return wahlterminWahldatumProperty;
  }

  @Override
  public boolean isWahlnummerRendered() {
    return false;
  }

  @Override
  protected String getParentViewId() {
    return getStartViewId();
  }

  @Override
  @Redirect
  @UseCaseSecure(UseCasePermission.WAHL_EDIT)
  public String save() {
    super.save();
    return getStartViewId(); // ELECTVAPP-1556
  }
  
}
