208 } |
208 } |
209 } |
209 } |
210 } |
210 } |
211 |
211 |
212 private fun projectForm(http: HttpRequest, dao: DataAccessObject) { |
212 private fun projectForm(http: HttpRequest, dao: DataAccessObject) { |
213 val projectInfo = obtainProjectInfo(http, dao) |
213 if (!http.pathParams.containsKey("project")) { |
214 if (projectInfo == null) { |
214 http.view = ProjectEditView(Project(-1), dao.listUsers()) |
215 http.response.sendError(404) |
215 http.navigationMenu = projectNavMenu(dao.listProjects()) |
216 return |
216 } else { |
217 } |
217 val projectInfo = obtainProjectInfo(http, dao) |
218 |
218 if (projectInfo == null) { |
219 with(http) { |
219 http.response.sendError(404) |
220 view = ProjectEditView(projectInfo.project, dao.listUsers()) |
220 return |
221 navigationMenu = activeProjectNavMenu( |
221 } |
|
222 http.view = ProjectEditView(projectInfo.project, dao.listUsers()) |
|
223 http.navigationMenu = activeProjectNavMenu( |
222 dao.listProjects(), |
224 dao.listProjects(), |
223 projectInfo |
225 projectInfo |
224 ) |
226 ) |
225 styleSheets = listOf("projects") |
227 } |
226 render("project-form") |
228 http.styleSheets = listOf("projects") |
227 } |
229 http.render("project-form") |
228 } |
230 } |
229 |
231 |
230 private fun projectCommit(http: HttpRequest, dao: DataAccessObject) { |
232 private fun projectCommit(http: HttpRequest, dao: DataAccessObject) { |
231 // TODO: replace defaults with throwing validator exceptions |
233 // TODO: replace defaults with throwing validator exceptions |
232 val project = Project(http.param("id")?.toIntOrNull() ?: -1).apply { |
234 val project = Project(http.param("id")?.toIntOrNull() ?: -1).apply { |