package de.ivu.elect.business.security.boundary;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.enterprise.inject.Specializes;

import de.ivu.elect.business.benutzerverwaltung.entity.Benutzer;
import de.ivu.elect.business.mandant.entity.Mandant;
import de.ivu.elect.business.security.control.NlWasRollen;
import de.ivu.elect.jee.faces.DevelopmentStore;

@Stateless
@Specializes
public class NlWasBenutzerCreator extends NlCoreBenutzerCreator {

  @Override
  protected List<Benutzer> getAnzulegendeBenutzer(Mandant mandant) {
    List<Benutzer> result = new ArrayList<>(super.getAnzulegendeBenutzer(mandant));

    if (DevelopmentStore.isDevelopmentStage() || !mandant.getArt().isOhneMandant()) {

      // ELECT-10221
      result.add(createBenutzer("invoer", "invoer", "",NlWasRollen.INVOER.getRolleName()));
      result.add(createBenutzer("invoer2", "invoer2", "",NlWasRollen.INVOER.getRolleName()));
      result.add(createBenutzer("verkiezingsleider", "verkiezingsleider", "", NlWasRollen.VERKIEZINGSLEIDER.getRolleName()));
      result.add(createBenutzer("leider", "leider", "", NlWasRollen.VERKIEZINGSLEIDER.getRolleName()));
      result.add(createBenutzer("alleen_lezen", "alleen_lezen", "", NlWasRollen.ALLEEN_LEZEN.getRolleName()));

    }

    return result;
  }
}
