package de.ivu.elect.presentation.dokumente;

import javax.annotation.Nullable;

import de.ivu.elect.business.dokumente.entity.DokumentVorlage;
import de.ivu.elect.jee.faces.PreConditionCheck;
import de.ivu.elect.presentation.security.AbstractGebietSecurityFilter;

public abstract class AbstractElectDokumentVorlageSearchView extends AbstractDokumentVorlageSearchView {

  private static final long serialVersionUID = 1L;

  @Nullable
  @PreConditionCheck
  public String checkCondition() {
    // ELECT-7469
    if (!isWahlSelected() && !isWahlterminSelected()) {
      return getStartViewId();
    }

    return null;
  }

  @Override
  public void presetSearchParameters() {
    if (isWahlterminSelected()) {
      searchParameters.setWahltermin(getSelectedWahltermin());
    }

    if (isWahlSelected()) {
      searchParameters.setWahl(getSelectedWahl());
    }
  }

  @Override
  protected AbstractGebietSecurityFilter<DokumentVorlage> getGebietSecurityFilter() {
    return KEIN_GEBIET_SECURITY_FILTER;
  }

}
