src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java

changeset 128
947d0f6a6a83
parent 124
ed2e7aef2a3e
child 129
a09d5c59351a
     1.1 --- a/src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java	Thu Oct 15 12:27:05 2020 +0200
     1.2 +++ b/src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java	Thu Oct 15 13:31:52 2020 +0200
     1.3 @@ -238,13 +238,7 @@
     1.4              return ResponseType.NONE;
     1.5          }
     1.6  
     1.7 -        if (viewModel.getVersionFilter() == null) {
     1.8 -            final var version = new Version(-1);
     1.9 -            version.setProject(viewModel.getProjectInfo().getProject());
    1.10 -            viewModel.setVersion(version);
    1.11 -        } else {
    1.12 -            viewModel.setVersion(viewModel.getVersionFilter());
    1.13 -        }
    1.14 +        viewModel.setVersion(Optional.ofNullable(viewModel.getVersionFilter()).orElse(new Version(-1)));
    1.15  
    1.16          return forwardView(req, viewModel, "version-form");
    1.17      }
    1.18 @@ -254,15 +248,14 @@
    1.19  
    1.20          var version = new Version(-1);
    1.21          try {
    1.22 +            final var project = new Project(getParameter(req, Integer.class, "pid").orElseThrow());
    1.23              version = new Version(getParameter(req, Integer.class, "id").orElseThrow());
    1.24 -            version.setProject(new Project(getParameter(req, Integer.class, "pid").orElseThrow()));
    1.25              version.setName(getParameter(req, String.class, "name").orElseThrow());
    1.26              getParameter(req, Integer.class, "ordinal").ifPresent(version::setOrdinal);
    1.27              version.setStatus(VersionStatus.valueOf(getParameter(req, String.class, "status").orElseThrow()));
    1.28 -            dao.getVersionDao().saveOrUpdate(version);
    1.29 +            dao.getVersionDao().saveOrUpdate(version, project);
    1.30  
    1.31 -            // specifying the pid parameter will purposely reset the session selected version!
    1.32 -            setRedirectLocation(req, "./projects/versions?pid=" + version.getProject().getId());
    1.33 +            setRedirectLocation(req, "./projects/versions?pid=" + project.getId());
    1.34              setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL);
    1.35          } catch (NoSuchElementException | IllegalArgumentException | SQLException ex) {
    1.36              LOG.warn("Form validation failure: {}", ex.getMessage());
    1.37 @@ -332,7 +325,7 @@
    1.38                              stream.map(Version::new).collect(Collectors.toList())
    1.39                      ).ifPresent(issue::setResolvedVersions);
    1.40  
    1.41 -            dao.getIssueDao().saveOrUpdate(issue);
    1.42 +            dao.getIssueDao().saveOrUpdate(issue, issue.getProject());
    1.43  
    1.44              // specifying the issue parameter keeps the edited issue as menu item
    1.45              setRedirectLocation(req, "./projects/view?pid=" + issue.getProject().getId());

mercurial