Closed rabeatwork closed 3 months ago
The changes enhance the routing system of the web application by integrating additional routes for repository views and participation in exercises across courses and exams. This involves introducing new components like RepositoryViewComponent
, CommitHistoryComponent
, and CommitDetailsViewComponent
while removing similar configurations from a related module (examParticipationRoute
). Another new modification adds a route for programming-repository-routing.module
enabling users to interact with exercise repositories within course activities.
Files/Paths | Change Summary |
---|---|
src/main/webapp/app/app-routing.module.ts |
Added routes for RepositoryViewComponent , CommitHistoryComponent , CommitDetailsViewComponent , and indicated data configurations and guards. Introduced a route for programming-repository-routing.module . |
src/main/webapp/app/exam/participate/exam-participation.route.ts |
Removed routes and related data configurations and guards for RepositoryViewComponent , CommitHistoryComponent , and CommitDetailsViewComponent . |
sequenceDiagram
participant User
participant AppRoutingModule
participant RepositoryViewComponent
participant CommitHistoryComponent
participant CommitDetailsViewComponent
participant UserRouteAccessService
participant LocalVCGuard
User ->> AppRoutingModule: Access Repository View URL
AppRoutingModule ->> UserRouteAccessService: Check User Access
UserRouteAccessService -->> AppRoutingModule: Access Granted
AppRoutingModule ->> RepositoryViewComponent: Load Repository View
RepositoryViewComponent ->> LocalVCGuard: Check Local VC Guard
LocalVCGuard -->> RepositoryViewComponent: Guard Passed
RepositoryViewComponent -->> User: Display Repository View
User ->> AppRoutingModule: Access Commit History URL
AppRoutingModule ->> UserRouteAccessService: Check User Access
UserRouteAccessService -->> AppRoutingModule: Access Granted
AppRoutingModule ->> CommitHistoryComponent: Load Commit History
CommitHistoryComponent ->> LocalVCGuard: Check Local VC Guard
LocalVCGuard -->> CommitHistoryComponent: Guard Passed
CommitHistoryComponent -->> User: Display Commit History
User ->> AppRoutingModule: Access Commit Details URL
AppRoutingModule ->> UserRouteAccessService: Check User Access
UserRouteAccessService -->> AppRoutingModule: Access Granted
AppRoutingModule ->> CommitDetailsViewComponent: Load Commit Details
CommitDetailsViewComponent ->> LocalVCGuard: Check Local VC Guard
LocalVCGuard -->> CommitDetailsViewComponent: Guard Passed
CommitDetailsViewComponent -->> User: Display Commit Details
sequenceDiagram
participant User
participant AppRoutingModule
participant ArtemisProgrammingRepositoryRoutingModule
User ->> AppRoutingModule: Access Programming Repository URL
AppRoutingModule ->> ArtemisProgrammingRepositoryRoutingModule: Load Programming Repository Module
ArtemisProgrammingRepositoryRoutingModule -->> User: Display Programming Repository Interfaces
src/main/webapp/app/app-routing.module.ts (1)
Pattern `src/main/webapp/**/*.ts`: angular_style:https://angular.io/guide/styleguide;methods_in_html:false;lazy_loading:true;code_reuse:true;tests:meaningful;types:PascalCase;enums:PascalCase;funcs:camelCase;props:camelCase;no_priv_prefix:true;strings:single_quotes;localize:true;btns:functionality;links:navigation;icons_text:newline;labels:associate;code_style:arrow_funcs,curly_braces,open_braces_same_line,indent_4;memory_leak_prevention:true;routes:naming_schema;chart_framework:ngx-charts;responsive_layout:true
src/main/webapp/app/app-routing.module.ts (1)
`104-106`: **Approve the addition of the new route for programming repositories.** The route is correctly configured for lazy loading, which is great for performance. However, consider adding a comment to describe the purpose of this route, enhancing maintainability and readability for future developers. ```diff + // This route allows students to access the programming repository in a read-only mode during exams ```
Checklist
General
Client
authorities
to all new routes and checked the course groups for displaying navigation elements (links, buttons).Motivation and Context
https://github.com/ls1intum/Artemis/issues/8878
Description
When clicking on "Open Repository", "Open Commit History" or a Commit Hash the user was redirected to the exam overview page.
Steps for Testing
Prerequisites:
Testserver States
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Screenshots
https://github.com/ls1intum/Artemis/assets/75392103/63d99ccd-4565-4f0f-97d0-038f17d62d14
Summary by CodeRabbit
New Features
Removals
RepositoryViewComponent
,CommitHistoryComponent
, andCommitDetailsViewComponent
from exam participation routes.