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 |