Пример #1
0
  public static Integer getJahrFromPaketId(String paketId) {
    // ID setzt sich zusammen aus:
    // - 3./4. Stelle Fahrplanjahr
    Integer jahr = null;

    if (paketId != null && (!"".equals(paketId.trim())) && paketId.trim().length() >= 5) {

      jahr = FrontendHelper.castStringToInteger("20" + paketId.trim().substring(3, 5));
    }
    return jahr;
  }
Пример #2
0
  public static Integer getLfdNrFromPaketId(String paketId) {
    // ID setzt sich zusammen aus:
    // - 5./8. Stelle LfdNr. eindeutig unter Regionalbereich und FplJahr
    Integer lfdNr = null;

    if (paketId != null && (!"".equals(paketId.trim())) && paketId.trim().length() >= 10) {

      lfdNr = FrontendHelper.castStringToInteger(paketId.trim().substring(6, 10));
    }
    return lfdNr;
  }
Пример #3
0
  public static Integer getRegionalbereichFromPaketId(String paketId) {
    // ID setzt sich zusammen aus:
    // - 1./2. Stelle ID Regionalbereich
    Integer regionalbereich = null;

    if (paketId != null && (!"".equals(paketId.trim())) && paketId.trim().length() >= 2) {

      regionalbereich = FrontendHelper.castStringToInteger(paketId.trim().substring(0, 2));
    }
    return regionalbereich;
  }
  @Override
  protected ActionForward run(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    if (log.isDebugEnabled()) log.debug("Entering TopProjektListAction.");

    TqmUser secUser = getSecUser();

    // Rechtepruefung
    if (!secUser.hasAuthorization("ROLE_TOPPROJEKT_LESEN_ALLE")
        && !secUser.hasAuthorization("ROLE_TOPPROJEKT_LESEN_REGIONALBEREICH"))
      return mapping.findForward("ACCESS_DENIED");

    TopProjektFilterForm filterForm = (TopProjektFilterForm) form;

    if (request.getParameter("reset") != null) {
      filterForm.reset();
    }

    Integer listPageNumber = FrontendHelper.castStringToInteger(request.getParameter("page"));
    if (listPageNumber == null) listPageNumber = 1;

    Integer count = PaginatedList.LIST_OBJECTS_PER_PAGE;
    Integer start = (listPageNumber - 1) * count;
    if (request.getParameter(TableTagParameters.PARAMETER_EXPORTING) != null) {
      count = null;
      start = null;
    }

    // ///////////////
    // Sorting
    String listSortColumn = null;
    SortOrderEnum listSortOrder = null;

    if (FrontendHelper.stringNotNullOrEmpty(request.getParameter("sort"))) {
      // Sortierkriterium aus Request verwenden, wenn vorhanden
      listSortColumn = request.getParameter("sort");
    }

    if ("asc".equalsIgnoreCase(request.getParameter("dir"))) {
      listSortOrder = SortOrderEnum.ASCENDING;
    } else if ("desc".equalsIgnoreCase(request.getParameter("dir"))) {
      listSortOrder = SortOrderEnum.DESCENDING;
    }

    // Sortierparameter anpassen
    if (listSortColumn == null) {
      listSortColumn = "name";
      listSortOrder = SortOrderEnum.ASCENDING;
    }

    List<Order> sortOrders = new LinkedList<Order>();

    if (listSortOrder != null) {
      if (listSortOrder == SortOrderEnum.ASCENDING) {
        sortOrders.add(Order.asc(listSortColumn));
      } else if (listSortOrder == SortOrderEnum.DESCENDING) {
        sortOrders.add(Order.desc(listSortColumn));
      }
    }
    // /////////////////////////

    Map<String, Object> searchCriteria = new HashMap<String, Object>();
    if (filterForm.getSapProjektNummer() != null) {
      searchCriteria.put(TopProjektService.SAP_NUMMER, filterForm.getSapProjektNummer());
    }

    PaginatedList<TopProjekt> projekte =
        serviceFactory
            .createTopProjektService()
            .findPaginatedBySort(
                sortOrders,
                searchCriteria,
                start,
                count,
                new Preload[] {new Preload(TopProjekt.class, "regionalbereich")},
                sessionFahrplanjahr);
    projekte.setObjectsPerPage(PaginatedList.LIST_OBJECTS_PER_PAGE);
    projekte.setPageNumber(listPageNumber);
    projekte.setSortDirection(listSortOrder);

    if (FrontendHelper.stringNotNullOrEmpty(listSortColumn)) {
      projekte.setSortCriterion(listSortColumn);
      request.setAttribute("sort", listSortColumn);
    }

    // Sortierung als Parameter zurückgeben, weil Displaytag die Methode
    // baumassnahmeList.getSortDirection nicht korrekt auswertet
    if (listSortOrder == SortOrderEnum.ASCENDING) {
      request.setAttribute("dir", "asc");
    } else if (listSortOrder == SortOrderEnum.DESCENDING) {
      request.setAttribute("dir", "desc");
    }
    request.setAttribute("projekte", projekte);

    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
    SimpleDateFormat dateFormatToCompare = new SimpleDateFormat("yyyy.MM.dd");
    String datumVonToCompare = null;
    String datumBisToCompare = null;

    if (FrontendHelper.castStringToDate(request.getParameter("datumBis")) != null) {
      filterForm.setDatumBis(
          dateFormat.format(FrontendHelper.castStringToDate(request.getParameter("datumBis"))));
      datumBisToCompare =
          dateFormatToCompare.format(
              FrontendHelper.castStringToDate(request.getParameter("datumBis")));
    } else if (filterForm.getDatumBis() != null) {
      datumBisToCompare =
          dateFormatToCompare.format(FrontendHelper.castStringToDate(filterForm.getDatumBis()));
      filterForm.setDatumBis(filterForm.getDatumBis());
    } else {
      filterForm.setDatumBis(dateFormat.format(cal.getTime()));
      datumBisToCompare = dateFormatToCompare.format(cal.getTime());
    }

    if (FrontendHelper.castStringToDate(request.getParameter("datumVon")) != null) {
      filterForm.setDatumVon(
          dateFormat.format(FrontendHelper.castStringToDate(request.getParameter("datumVon"))));
      datumVonToCompare =
          dateFormatToCompare.format(
              FrontendHelper.castStringToDate(request.getParameter("datumVon")));
    } else if (filterForm.getDatumVon() != null) {
      datumVonToCompare =
          dateFormatToCompare.format(FrontendHelper.castStringToDate(filterForm.getDatumVon()));
      filterForm.setDatumVon(filterForm.getDatumVon());

    } else {
      cal.add(Calendar.DAY_OF_MONTH, -7);
      filterForm.setDatumVon(dateFormat.format(cal.getTime()));
      datumVonToCompare = dateFormatToCompare.format(cal.getTime());
    }

    request.setAttribute("datumVonToCompare", datumVonToCompare);
    request.setAttribute("datumBisToCompare", datumBisToCompare);

    return mapping.findForward("SUCCESS");
  }
  @Override
  public Authentication attemptAuthentication(HttpServletRequest request)
      throws AuthenticationException {

    // Fahrplanjahr wird beim Einloggen festgelegt und gilt fuer die gesamte Session
    if (request.getParameter("fahrplanjahr") != null)
      request
          .getSession()
          .setAttribute(
              "session_fahrplanjahr",
              FrontendHelper.castStringToInteger(request.getParameter("fahrplanjahr")));

    String username = obtainUsername(request);
    String password = obtainPassword(request);

    String newPassword = request.getParameter("newpassword");
    String confirmPassword = request.getParameter("confirmpassword");

    List<String> loginErrors = new ArrayList<String>();

    if (username == null) {
      username = "";
    }
    if (password == null) {
      password = "";
    }
    if (newPassword != null) {
      if (confirmPassword == null || !newPassword.equals(confirmPassword))
        loginErrors.add("error.user.password.diff");
      else {
        SecurityAdministrationService administrationService =
            EasyServiceFactory.getInstance().createSecurityAdministrationService();
        SecurityService securityService = EasyServiceFactory.getInstance().createSecurityService();
        TqmUser tqmUser = (TqmUser) securityService.loadUserByUsername(username);
        if (tqmUser != null) {
          // Wenn wir keinen Benutzer finden, fehlt das login ohnehin fehl
          try {
            administrationService.changePassword(tqmUser, password, newPassword);
            password = newPassword;
          } catch (SecurityException e) {
            loginErrors.add("error.security.password.BAD_PASSWORD");
            e.printStackTrace();
          } catch (PasswordException e) {
            switch (e.getDescription()) {
              case EMPTY_PASSWORD:
                loginErrors.add("error.security.password.EMPTY_PASSWORD");
                break;
              case PASSWORD_TO_SHORT:
                loginErrors.add("error.security.password.PASSWORD_TO_SHORT");
                break;
              case REUSED_PASSWORD:
                loginErrors.add("error.security.password.REUSED_PASSWORD");
                break;
              case TRIVIAL_PASSWORD:
                loginErrors.add("error.security.password.TRIVIAL_PASSWORD");
                break;
              case UNSAFE_PASSWORD:
                loginErrors.add("error.security.password.UNSAFE_PASSWORD");
                break;
            }
            e.printStackTrace();
          }
        }
      }
    }

    // Fehlermeldungen werden in Session geschrieben
    request.getSession().setAttribute("loginErrors", loginErrors);

    UsernamePasswordAuthenticationToken authRequest =
        new UsernamePasswordAuthenticationToken(username, password);

    // Place the last username attempted into HttpSession for views
    request.getSession().setAttribute(ACEGI_SECURITY_LAST_USERNAME_KEY, username);

    // Allow subclasses to set the "details" property
    setDetails(request, authRequest);

    return this.getAuthenticationManager().authenticate(authRequest);
  }