public void salvarDisponibilidade() {

    for (OfertaDisciplina oferta : ofertasEtapa1) {

      // Regarrega o objeto turma, inicializando a Colecao de Disponibilidades(Lazy)
      oferta = turmasFacade.inicializarColecaoDisponibilidades(oferta);
      //            disponibilidade = new Disponibilidade("", docente, t);
      disponibilidade = new Disponibilidade("", oferta.getFuncao(), docente, oferta);
      disponibilidadeFacade.save(disponibilidade);
    }

    dispdataModel = null;
    dispdataModel2 = null;
  }
  // Usado para o docente definir se ele quer dar teoria, prática ou ambos
  public List<String> getTipoOferta(OfertaDisciplina o) {

    List<String> tp;
    tp = new ArrayList<>();
    tp.add("Selecione");
    if (o.getT() > 0) {
      tp.add("Teoria");
    }
    if (o.getP() > 0) {
      tp.add("Prática");
    }
    if (o.getP() > 0 && o.getT() > 0) {
      tp.add("Teoria & Prática");
    }
    return tp;
  }
  /**
   * Preenche o atributo temporario "funcao" de uma oferta de disciplina que indica se o docente vai
   * dar Teoria, Pratica ou Ambas
   *
   * @param oferta
   */
  public void setFuncaoOferta(OfertaDisciplina oferta) {

    if (selectedOptions == null) {
      oferta.setFuncao("T e P");
    } else {
      if (selectedOptions.size() > 1) {
        oferta.setFuncao("T e P");
      } else {
        if (selectedOptions.get(0).equals("T")) {
          oferta.setFuncao("Teoria");
        } else {
          if (selectedOptions.get(0).equals("P")) {
            oferta.setFuncao("Pratica");
          }
        }
      }
    }
  }
  /**
   * Quando o docente retira uma oferta de disciplina, remove os creditos da teoria e/ou pratica da
   * variavel creditosEscolhidos
   *
   * @param event
   */
  public void removeCredito(UnselectEvent event) {
    OfertaDisciplina oferta = (OfertaDisciplina) event.getObject();

    switch (oferta.getFuncao()) {
      case "Teoria":
        creditosEscolhidos -= oferta.getT();
        break;
      case "Pratica":
        creditosEscolhidos -= oferta.getP();
        break;
      default:
        creditosEscolhidos -= oferta.getT() + oferta.getP();
    }
  }