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

changeset 79
f64255a88d66
parent 78
bb4c52bf3439
child 80
27a25f32048e
equal deleted inserted replaced
78:bb4c52bf3439 79:f64255a88d66
47 import java.util.NoSuchElementException; 47 import java.util.NoSuchElementException;
48 import java.util.Objects; 48 import java.util.Objects;
49 49
50 import static de.uapcore.lightpit.Functions.fqn; 50 import static de.uapcore.lightpit.Functions.fqn;
51 51
52 @LightPITModule(
53 bundleBaseName = "localization.projects",
54 modulePath = "projects",
55 defaultPriority = 20
56 )
57 @WebServlet( 52 @WebServlet(
58 name = "ProjectsModule", 53 name = "ProjectsModule",
59 urlPatterns = "/projects/*" 54 urlPatterns = "/projects/*"
60 ) 55 )
61 public final class ProjectsModule extends AbstractLightPITServlet { 56 public final class ProjectsModule extends AbstractLightPITServlet {
147 */ 142 */
148 private List<MenuEntry> getBreadcrumbs(int level, SessionSelection sessionSelection) { 143 private List<MenuEntry> getBreadcrumbs(int level, SessionSelection sessionSelection) {
149 MenuEntry entry; 144 MenuEntry entry;
150 145
151 final var breadcrumbs = new ArrayList<MenuEntry>(); 146 final var breadcrumbs = new ArrayList<MenuEntry>();
152 entry = new MenuEntry(new ResourceKey("localization.projects", "menuLabel"), 147 entry = new MenuEntry(new ResourceKey("localization.lightpit", "menu.projects"),
153 "projects/", 0); 148 "projects/");
154 breadcrumbs.add(entry); 149 breadcrumbs.add(entry);
155 if (level == 0) entry.setActive(true); 150 if (level == 0) entry.setActive(true);
156 151
157 if (sessionSelection.project != null) { 152 if (sessionSelection.project != null) {
158 if (sessionSelection.project.getId() < 0) { 153 if (sessionSelection.project.getId() < 0) {
159 entry = new MenuEntry(new ResourceKey("localization.projects", "button.create"), 154 entry = new MenuEntry(new ResourceKey("localization.projects", "button.create"),
160 "projects/edit", 1); 155 "projects/edit");
161 } else { 156 } else {
162 entry = new MenuEntry(sessionSelection.project.getName(), 157 entry = new MenuEntry(sessionSelection.project.getName(),
163 "projects/view?pid=" + sessionSelection.project.getId(), 1); 158 "projects/view?pid=" + sessionSelection.project.getId());
164 } 159 }
165 if (level == 1) entry.setActive(true); 160 if (level == 1) entry.setActive(true);
166 breadcrumbs.add(entry); 161 breadcrumbs.add(entry);
167 } 162 }
168 163
169 if (sessionSelection.version != null) { 164 if (sessionSelection.version != null) {
170 if (sessionSelection.version.getId() < 0) { 165 if (sessionSelection.version.getId() < 0) {
171 entry = new MenuEntry(new ResourceKey("localization.projects", "button.version.create"), 166 entry = new MenuEntry(new ResourceKey("localization.projects", "button.version.create"),
172 "projects/versions/edit", 2); 167 "projects/versions/edit");
173 } else { 168 } else {
174 entry = new MenuEntry(sessionSelection.version.getName(), 169 entry = new MenuEntry(sessionSelection.version.getName(),
175 // TODO: change link to issue overview for that version 170 // TODO: change link to issue overview for that version
176 "projects/versions/edit?id=" + sessionSelection.version.getId(), 2); 171 "projects/versions/edit?id=" + sessionSelection.version.getId());
177 } 172 }
178 if (level == 2) entry.setActive(true); 173 if (level == 2) entry.setActive(true);
179 breadcrumbs.add(entry); 174 breadcrumbs.add(entry);
180 } 175 }
181 176
182 if (sessionSelection.issue != null) { 177 if (sessionSelection.issue != null) {
183 entry = new MenuEntry(new ResourceKey("localization.projects", "menu.issues"), 178 entry = new MenuEntry(new ResourceKey("localization.projects", "menu.issues"),
184 // TODO: change link to a separate issue view (maybe depending on the selected version) 179 // TODO: change link to a separate issue view (maybe depending on the selected version)
185 "projects/view?pid=" + sessionSelection.issue.getProject().getId(), 3); 180 "projects/view?pid=" + sessionSelection.issue.getProject().getId());
186 breadcrumbs.add(entry); 181 breadcrumbs.add(entry);
187 if (sessionSelection.issue.getId() < 0) { 182 if (sessionSelection.issue.getId() < 0) {
188 entry = new MenuEntry(new ResourceKey("localization.projects", "button.issue.create"), 183 entry = new MenuEntry(new ResourceKey("localization.projects", "button.issue.create"),
189 "projects/issues/edit", 2); 184 "projects/issues/edit");
190 } else { 185 } else {
191 entry = new MenuEntry("#" + sessionSelection.issue.getId(), 186 entry = new MenuEntry("#" + sessionSelection.issue.getId(),
192 // TODO: maybe change link to a view rather than directly opening the editor 187 // TODO: maybe change link to a view rather than directly opening the editor
193 "projects/issues/edit?id=" + sessionSelection.issue.getId(), 4); 188 "projects/issues/edit?id=" + sessionSelection.issue.getId());
194 } 189 }
195 if (level == 3) entry.setActive(true); 190 if (level == 3) entry.setActive(true);
196 breadcrumbs.add(entry); 191 breadcrumbs.add(entry);
197 } 192 }
198 193

mercurial