-
Notifications
You must be signed in to change notification settings - Fork 342
General
: Restructure course update page
#11338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
General
: Restructure course update page
#11338
Conversation
WalkthroughSplit course maxPoints and accuracyOfScores into separate detail lines with per-field help text; removed beta help text from timeZone. Reorganized course update form into new sections, added timeZone typeahead with change warning, reworked admin organization UI, updated test selector, added nested-form-group styles, and adjusted EN/DE i18n keys and tutorialGroups labels. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant CU as CourseUpdateComponent
participant TZ as TimeZone Input (typeahead)
participant UI as WarningBanner
User->>CU: Open Edit Course
CU-->>User: Render sections (General, Exercises & Grading, Additional Features, Enrollment)
User->>TZ: Select/change time zone
TZ-->>CU: timeZoneChanged event
CU->>UI: Display change warning / confirmation
Note right of UI: Warns sessions/free days will be deleted and scheduled sessions recreated
sequenceDiagram
autonumber
actor User
participant CD as CourseDetailComponent
participant I18N as Translations
User->>CD: Open Course Details
CD->>I18N: Request titles/info for `maxPoints` and `accuracyOfScores`
I18N-->>CD: Return `title` and `info` keys
CD-->>User: Show separate lines for `maxPoints` and `accuracyOfScores` with help icons
Note right of CD: `timeZone` shown without beta help text
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
…her nitpicks (all CodeRabbit finds)
End-to-End (E2E) Test Results Summary
|
…ributes (CodeRabbit)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
src/main/webapp/app/core/course/manage/update/course-update.component.spec.ts (2)
821-821
: Use template literal for readability (minor).String interpolation is clearer than concatenation in selectors.
-const removeButton = fixture.debugElement.query(By.css('#removeOrganizationButton-' + organization.id)); +const removeButton = fixture.debugElement.query(By.css(`#removeOrganizationButton-${organization.id}`));
826-835
: Align non-admin selector with new dynamic ID.Keep the selector consistent with the per-organization ID pattern to future-proof the test.
-const removeButton = fixture.debugElement.query(By.css('#removeOrganizationButton')); +const removeButton = fixture.debugElement.query(By.css(`#removeOrganizationButton-${organization.id}`));
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
src/main/webapp/app/core/course/manage/update/course-update.component.html
(12 hunks)src/main/webapp/app/core/course/manage/update/course-update.component.spec.ts
(2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- src/main/webapp/app/core/course/manage/update/course-update.component.html
🧰 Additional context used
📓 Path-based instructions (1)
src/main/webapp/**/*.ts
⚙️ CodeRabbit configuration file
Files:
src/main/webapp/app/core/course/manage/update/course-update.component.spec.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Build and Push Docker Image / Build Docker Image for ls1intum/artemis
- GitHub Check: Build and Push Docker Image / Build Docker Image for ls1intum/artemis
- GitHub Check: Build .war artifact
- GitHub Check: client-tests-selected
- GitHub Check: server-tests
- GitHub Check: client-tests
- GitHub Check: client-style
- GitHub Check: server-style
- GitHub Check: Analyse
🔇 Additional comments (1)
src/main/webapp/app/core/course/manage/update/course-update.component.spec.ts (1)
808-813
: Good move to shared test fixture for organization.Scoping
organization
at describe-level and stubbinggetOrganizationsByCourse
in beforeEach keeps both tests consistent with the dynamic button IDs. LGTM.
End-to-End (E2E) Test Results Summary
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on TS1 as instructor. Lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code
There hasn't been any activity on this pull request recently. Therefore, this pull request has been automatically marked as stale and will be closed if no further activity occurs within seven days. Thank you for your contributions. |
End-to-End (E2E) Test Results Summary
|
General
: Reformat and restructure the course update componentGeneral
: Reformat and restructure the course update page
General
: Reformat and restructure the course update pageGeneral
: Restructure course update page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new design looks better 👍
Checklist
General
Client
Motivation and Context
PR for #11050. Changed the course update accordingly, trying to incorporate as much as possible from @florian-glombik's feedback.
Description
This PR introduces sections for the course update form (also used for course creation), improves the wording and capitalization consistency, and adds indentation for nested fields.
Steps for Testing
Instructor & Admin:
Admin only:
Check for German & English.
Testserver States
You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.
Review Progress
Code Review
Manual Tests
Screenshots
Summary by CodeRabbit
New Features
UI/UX
Admin
Localization