@@ -68,10 +68,10 @@ public final String showProject(
6868 model .addAttribute ("message" ,message );
6969 model .addAttribute ("isDeleted" ,isDeleted );
7070 }
71- return "project/show" ;
71+ return "project/id/ show" ;
7272 }
7373
74- @ RequestMapping (path = "/{projectId}/add/new/ project" , method = RequestMethod .GET )
74+ @ RequestMapping (path = "/{projectId}/add/project" , method = RequestMethod .GET )
7575 public final String addNewSubProjectGet (
7676 @ PathVariable long projectId ,
7777 @ ModelAttribute ("userSession" ) UserSessionBean userSession ,
@@ -80,10 +80,10 @@ public final String addNewSubProjectGet(
8080 log .info ("private addNewProjectGet (GET) projectId=" +projectId );
8181 Context context = super .getContext (userSession );
8282 projectControllerService .addNewProject (projectId , userSession , context , locale , model );
83- return "project/add" ;
83+ return "project/id/ add/project " ;
8484 }
8585
86- @ RequestMapping (path = "/{projectId}/add/new/ project" , method = {RequestMethod .POST , RequestMethod .PUT })
86+ @ RequestMapping (path = "/{projectId}/add/project" , method = {RequestMethod .POST , RequestMethod .PUT })
8787 public final String addNewSubProjectPost (
8888 @ PathVariable long projectId ,
8989 @ ModelAttribute ("userSession" ) UserSessionBean userSession ,
@@ -92,12 +92,20 @@ public final String addNewSubProjectPost(
9292 Locale locale , Model model ) {
9393 log .info ("private addNewProjectPost (POST) projectId=" +projectId +" " +project .toString ());
9494 Context context = super .getContext (userSession );
95- return projectControllerService .addNewProjectPersist ( projectId , userSession , project , context ,
96- result , locale , model ,"project/add" );
95+ return projectControllerService .addNewProjectPersist (
96+ projectId ,
97+ userSession ,
98+ project ,
99+ context ,
100+ result ,
101+ locale ,
102+ model ,
103+ "/add/project"
104+ );
97105 }
98106
99107
100- @ RequestMapping (path = "/{thisProjectId}/move/to/{targetProjectId}" , method = RequestMethod .GET )
108+ @ RequestMapping (path = "/{thisProjectId}/move/to/project/ {targetProjectId}" , method = RequestMethod .GET )
101109 public final String moveProject (
102110 @ PathVariable ("thisProjectId" ) Project thisProject ,
103111 @ PathVariable long targetProjectId ,
@@ -128,7 +136,7 @@ public final String editProjectGet(
128136 model .addAttribute ("breadcrumb" , breadcrumb );
129137 model .addAttribute ("thisProject" , thisProject );
130138 model .addAttribute ("project" , thisProject );
131- return "project/edit" ;
139+ return "project/id/ edit" ;
132140 }
133141
134142 @ RequestMapping (path = "/{projectId}/edit" , method = RequestMethod .POST )
@@ -150,7 +158,7 @@ public final String editProjectPost(
150158 Project thisProject = projectService .findByProjectId (projectId );
151159 Breadcrumb breadcrumb = breadcrumbService .getBreadcrumbForShowOneProject (thisProject ,locale );
152160 model .addAttribute ("breadcrumb" , breadcrumb );
153- return "project/edit" ;
161+ return "project/id/ edit" ;
154162 } else {
155163 Project thisProject = projectService .findByProjectId (project .getId ());
156164 thisProject .setName (project .getName ());
@@ -173,47 +181,53 @@ public final String deleteProject(
173181 @ PathVariable ("projectId" ) Project project ,
174182 @ PageableDefault (sort = "title" ) Pageable request ,
175183 @ ModelAttribute ("userSession" ) UserSessionBean userSession ,
176- Locale locale , Model model ) {
184+ Locale locale ,
185+ Model model
186+ ) {
177187 long newProjectId = project .getId ();
178188 Context context = super .getContext (userSession );
179189 userSession .setLastProjectId (project .getId ());
180190 model .addAttribute ("userSession" ,userSession );
181191 UserAccount userAccount = context .getUserAccount ();
182- if (project != null ){
183- boolean hasNoData = taskService .projectHasNoTasks (project );
184- boolean hasNoChildren = project .hasNoChildren ();
185- if (hasNoData && hasNoChildren ) {
186- if (!project .isRootProject ()) {
187- newProjectId = project .getParent ().getId ();
188- } else {
189- newProjectId = 0 ;
190- }
191- projectService .delete (project );
192- String message = "Project is deleted. You see its parent project now." ;
193- model .addAttribute ("message" ,message );
194- model .addAttribute ("isDeleted" ,true );
192+ if (project != null ){
193+ boolean hasNoData = taskService .projectHasNoTasks (project );
194+ boolean hasNoChildren = project .hasNoChildren ();
195+ if (hasNoData && hasNoChildren ) {
196+ if (!project .isRootProject ()) {
197+ newProjectId = project .getParent ().getId ();
195198 } else {
196- StringBuilder s = new StringBuilder ("Deletion rejected for this Project, because " );
197- log .info ("Deletion rejected for Project " + project .getId ());
198- if (!hasNoData ) {
199- log .warn ("Project " + project .getId () + " has actionItem" );
200- s .append ("Project has actionItems." );
201- }
202- if (!hasNoChildren ) {
203- log .info ("Project " + project .getId () + " has children" );
204- s .append ("Project has child categories." );
205- }
206- model .addAttribute ("message" ,s .toString ());
207- model .addAttribute ("isDeleted" ,false );
208- Breadcrumb breadcrumb = breadcrumbService .getBreadcrumbForShowOneProject (project ,locale );
209- Page <Task > taskPage = taskService .findByProject (project , context , request );
210- model .addAttribute ("taskPage" , taskPage );
211- model .addAttribute ("breadcrumb" , breadcrumb );
212- model .addAttribute ("thisProject" , project );
213- return "project/show" ;
199+ newProjectId = 0 ;
200+ }
201+ projectService .delete (project );
202+ String message = "Project is deleted. You see its parent project now." ;
203+ model .addAttribute ("message" ,message );
204+ model .addAttribute ("isDeleted" ,true );
205+ } else {
206+ StringBuilder s = new StringBuilder ("Deletion rejected for this Project, because " );
207+ log .info ("Deletion rejected for Project " + project .getId ());
208+ if (!hasNoData ) {
209+ log .warn ("Project " + project .getId () + " has actionItem" );
210+ s .append ("Project has actionItems." );
214211 }
212+ if (!hasNoChildren ) {
213+ log .info ("Project " + project .getId () + " has children" );
214+ s .append ("Project has child categories." );
215+ }
216+ model .addAttribute ("message" ,s .toString ());
217+ model .addAttribute ("isDeleted" ,false );
218+ Breadcrumb breadcrumb = breadcrumbService .getBreadcrumbForShowOneProject (project ,locale );
219+ Page <Task > taskPage = taskService .findByProject (project , context , request );
220+ model .addAttribute ("taskPage" , taskPage );
221+ model .addAttribute ("breadcrumb" , breadcrumb );
222+ model .addAttribute ("thisProject" , project );
223+ return "project/id/show" ;
215224 }
216- return "redirect:/project/" + newProjectId ;
225+ }
226+ if ( newProjectId == 0 ){
227+ return "redirect:/project/root" ;
228+ } else {
229+ return "redirect:/project/" + newProjectId ;
230+ }
217231 }
218232
219233}
0 commit comments