package de.ivu.elect.presentation.wahllokalsystem;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.security.UseCasePermission;
import de.ivu.elect.business.wahllokalsystem.entity.WahllokalsystemStatus;
import de.ivu.elect.jee.presentation.dynamicform.FormBuilder;
import de.ivu.elect.presentation.View;
import de.ivu.elect.presentation.gebietsbaum.GebietNummerFormatter;
import de.ivu.elect.presentation.hilfe.OnlineHilfeId;
import de.ivu.elect.presentation.wahllokalsystem.form.WahllokalsystemStatusViewFormBuilder;

@RequestScoped
@Named(AbstractWahllokalsystemStatusEditNoScopeView.COMPONENT_NAME)
@View(viewId = AbstractWahllokalsystemStatusEditNoScopeView.VIEW_ID, useCase = UseCasePermission.WAHLLOKALSYSTEM_STATUS_EDIT)
@OnlineHilfeId(value = "762")
public class WahllokalsystemStatusEditView extends AbstractWahllokalsystemStatusEditView {

  @Inject
  private transient GebietNummerFormatter gebietNummerFormatter;

  private static final long serialVersionUID = 1L;

  @Inject
  private transient WahllokalsystemStatusViewFormBuilder viewFormBuilder;

  @Override
  protected void addProperties(FormBuilder formBuilder, WahllokalsystemStatus entity) {
    viewFormBuilder.addProperties(formBuilder, entity);
  }

  @Override
  protected boolean isGebietBearbeitenRechtPruefen() {
    return true;
  }

  public String getGebietName() {
    return gebietNummerFormatter.getNameMitNummer(getGebiet());
  }


  protected Gebiet getGebiet() {
    return getEntity().getGebiet();
  }
}
