Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -189,10 +189,16 @@ export class CourseDetailComponent implements OnInit, OnDestroy {
const athenaDetails = this.getAthenaDetails();

const details: Detail[] = [
{ type: DetailType.Text, title: 'artemisApp.course.maxPoints.title', data: { text: this.course.maxPoints } },
{
type: DetailType.Text,
title: 'artemisApp.course.accuracyOfScores',
title: 'artemisApp.course.maxPoints.title',
titleHelpText: 'artemisApp.course.maxPoints.info',
data: { text: this.course.maxPoints },
},
{
type: DetailType.Text,
title: 'artemisApp.course.accuracyOfScores.title',
titleHelpText: 'artemisApp.course.accuracyOfScores.info',
data: { text: this.course.accuracyOfScores },
},
{
Expand Down Expand Up @@ -222,7 +228,6 @@ export class CourseDetailComponent implements OnInit, OnDestroy {
details.splice(4, 0, {
type: DetailType.Text,
title: 'artemisApp.forms.configurationForm.timeZoneInput.label',
titleHelpText: 'artemisApp.forms.configurationForm.timeZoneInput.beta',
data: { text: this.course.timeZone },
});

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
hr {
margin-top: 2rem;
margin-bottom: 2rem;
}

.color-preview {
cursor: pointer;
height: 35px;
Expand Down Expand Up @@ -39,3 +44,21 @@
height: 30px;
box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.1);
}

.nested-form-group-head {
font-weight: bold;
margin-bottom: 0.5rem;
}

.nested-form-group {
margin-left: 1.35rem;
margin-bottom: 0.5rem;
}

.row.nested-form-group {
margin-left: calc(1.35rem - var(--bs-gutter-x) / 2);
}

.nested-form-group.last {
margin-bottom: 1rem;
}
Original file line number Diff line number Diff line change
Expand Up @@ -805,8 +805,9 @@ describe('Course Management Update Component', () => {
});

describe('changeOrganizations', () => {
let organization: Organization;
beforeEach(() => {
const organization = new Organization();
organization = new Organization();
organization.id = 12345;
jest.spyOn(organizationService, 'getOrganizationsByCourse').mockReturnValue(of([organization]));
});
Expand All @@ -816,7 +817,7 @@ describe('Course Management Update Component', () => {
fixture.detectChanges();

const addButton = fixture.debugElement.query(By.css('#addOrganizationButton'));
const removeButton = fixture.debugElement.query(By.css('#removeOrganizationButton'));
const removeButton = fixture.debugElement.query(By.css('#removeOrganizationButton-' + organization.id));

expect(addButton).not.toBeNull();
expect(removeButton).not.toBeNull();
Expand Down
30 changes: 20 additions & 10 deletions src/main/webapp/i18n/de/course.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,23 @@
"courseIcon": "Kursicon",
"shortName": "Kurzname",
"maxComplaints": {
"title": "Maximale Anzahl an Beschwerden pro Student",
"title": "Max. Anzahl an Beschwerden pro Studierende:n",
"description": "Erlaubte Anzahl an Beschwerden von Studierenden setzen. Wenn eine Beschwerde abgelehnt wird, verliert der Studierende sie. Wenn eine Beschwerde akzeptiert wird, behält der Studierende sie. Diese Begrenzung gilt für individuelle Übungen."
},
"maxTeamComplaints": {
"title": "Maximale Anzahl an Beschwerden pro Team",
"title": "Max. Anzahl an Beschwerden pro Team",
"description": "Erlaubte Anzahl an Beschwerden von Teams setzen. Wenn eine Beschwerde abgelehnt wird, verliert das Team sie. Wenn eine Beschwerde akzeptiert wird, behält das Team sie. Diese Begrenzung gilt für Team-Übungen."
},
"maxComplaintTimeDays": {
"title": "Beschwerdefrist in Tagen nach dem Ergebnis",
"description": "Diese Zahl bezieht sich auf die Tage, nachdem das Ergebnis verfügbar ist (Einreichungsfrist der Bewertung oder Ergebnisdatum, je nachdem, welches später liegt). Studierende können sich nach Ablauf dieser Frist nicht mehr beschweren."
},
"maxComplaintTextLimit": {
"title": "Maximale Anzahl von Zeichen pro Beschwerde",
"description": "Diese Nummer gibt an, wie viele Zeichen ein Student maximal pro Beschwerde verwenden darf."
"title": "Max. Zeichenzahl pro Beschwerde",
"description": "Diese Nummer gibt an, wie viele Zeichen maximal pro Beschwerde verwendet werden dürfen."
},
"maxComplaintResponseTextLimit": {
"title": "Maximale Anzahl von Zeichen für Antworten auf Beschwerden",
"title": "Max. Zeichenzahl pro Beschwerdeantwort",
"description": "Diese Nummer gibt an, wie viele Zeichen für die Antwort pro Beschwerde maximal verwendet werden darf."
},
"complaintsEnabled": {
Expand Down Expand Up @@ -96,10 +96,13 @@
"ltiConfiguration": "LTI Konfiguration",
"recentlyAccessed": "Zuletzt verwendet",
"maxPoints": {
"title": "Maximale Punktzahl",
"title": "Max. Punktzahl des Kurses",
"info": "Dieser Wert wird für die Berechnung von Beispielen (z.B. im Notenschlüssel) verwendet und hat keinen Einfluss auf die Noten der Studierenden. Die Noten werden mithilfe der im Kurs erreichbaren Punkte berechnet."
},
"accuracyOfScores": "Anzahl der Nachkommastellen bei der Berechnung von Punktzahlen",
"accuracyOfScores": {
"title": "Nachkommastellen für Ergebnisberechnungen",
"info": "Die Anzahl der Nachkommastellen, die bei der Berechnung von Punktzahlen verwendet werden."
},
"defaultProgrammingLanguage": "Standard-Programmiersprache",
"gradingSystem": "Notenschlüssel",
"testCourse": {
Expand Down Expand Up @@ -148,7 +151,7 @@
"enrollmentConfirmationMessage": "Nachricht zur Bestätigung der Einschreibung",
"unenrollmentEnabled": {
"title": "Austragen aus dem Kurs für Studierende aktiviert",
"description": "Aktiviere diese Checkbox, damit sich Studierende selbstständig vom Kurs austragen können. Du kannst das späteste Datum hierfür einstellen, andernfalls ist es den Studenten bis zum Ende des Kurses möglich sich auszutragen."
"description": "Aktiviere diese Checkbox, damit sich Studierende selbstständig vom Kurs austragen können. Du kannst das späteste Datum hierfür einstellen, andernfalls ist es den Studierenden bis zum Ende des Kurses möglich sich auszutragen."
},
"unenrollmentEndDate": "Spätestes Datum zur Austragung",
"exercises": "Aufgaben",
Expand Down Expand Up @@ -196,6 +199,15 @@
"editor": "Editor:in",
"instructor": "Lehrkraft",
"form": {
"sections": {
"general": "Allgemeine Informationen",
"exercises": "Aufgaben und Bewertungen",
"additionalFeatures": {
"title": "Zusätzliche Kursfunktionen",
"info": "Lerne mehr über die zusätzlichen Kursfunktionen über die Infosymbole neben den Funktionen."
},
"enrollment": "Kurseinschreibung für Studierende"
},
"shortname": {
"minlength": "Der Kurzname muss mindestens 3 Zeichen lang sein.",
"forbidden": "Der Kurzname muss mit einem Buchstaben beginnen und darf keine Sonderzeichen beinhalten."
Expand Down Expand Up @@ -264,8 +276,6 @@
},
"activeStudents": "Aktive Studierende: {{ students }}",
"notStartedYet": "Der Kurs hat noch nicht offiziell begonnen. Offizieller Kursstart:",
"noOrganizations": "Keine Organisationen",
"organizationAddingHint": "Administratoren können Organisationen zu Kursen hinzufügen.",
"imageCropper": {
"title": "Bild zuschneiden",
"uploadTitle": "Ein Bild hinzufügen"
Expand Down
2 changes: 1 addition & 1 deletion src/main/webapp/i18n/de/tutorialGroups.json
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@
},
"configurationForm": {
"timeZoneInput": {
"label": "Zeitzone",
"label": "Übungsgruppen-Zeitzone",
"beta": "Die Zeitzone wird momentan nur in Verbindung mit dem Übungsgruppen-Feature verwendet. Sie hat momentan keinen Einfluss auf andere Bereiche von Artemis",
"changeWarning": "Die Zeitzone wurde geändert. Alle individuell erstellten Sitzungen und freien Tage werden gelöscht. In der neuen Zeitzone werden nur Sitzungen, die einem Zeitplan folgen neu erstellt. Soll das wirklich gemacht werden?",
"placeholder": "Wähle eine Zeitzone aus",
Expand Down
36 changes: 23 additions & 13 deletions src/main/webapp/i18n/en/course.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,39 +49,39 @@
"courseIcon": "Course Icon",
"shortName": "Short Name",
"maxComplaints": {
"title": "Maximum number of complaints per student",
"title": "Max. Number of Complaints per Student",
"description": "Set the maximum number of complaints allowed per student. Accepted complaints do not count toward this quota. This limit applies only to individual exercises."
},
"maxTeamComplaints": {
"title": "Maximum number of complaints per team",
"title": "Max. Number of Complaints per Team",
"description": "Set the maximum number of complaints allowed per team. Accepted complaints do not count toward this quota. This limit applies only to team exercises."
},
"maxComplaintTimeDays": {
"title": "Complaint due date in days after result date",
"title": "Complaint Due Date in Days After Result Date",
"description": "This number refers to days after the result is available (assessment due date or result date, depending on which one is later). Students will not be able to submit any more complaints after this due date."
},
"maxComplaintTextLimit": {
"title": "Maximum number of characters per complaint",
"title": "Max. Number of Characters per Complaint",
"description": "This value indicates the maximum number of characters a student may use per complaint."
},
"maxComplaintResponseTextLimit": {
"title": "Maximum number of characters per complaint response",
"title": "Max. Number of Characters per Response",
"description": "This value indicates the maximum number of characters that may be used for the response per complaint."
},
"complaintsEnabled": {
"title": "Enable complaints",
"title": "Enable Complaints",
"description": "Enabling this allows students to complain about assessments."
},
"requestMoreFeedbackEnabled": {
"title": "Enable more feedback requests",
"title": "Enable More Feedback Requests",
"description": "This option allows students to request more feedback without complaining. Asking for further feedback will not count towards the number of complaints, but it will also not allow modification of the assessment. By default, this option is enabled, but it can be disabled if assessment corrections must always be possible."
},
"maxRequestMoreFeedbackTimeDays": {
"title": "More feedback request due date in days after result date",
"description": "This number refers to days after the result is available (assessment due date or result date, depending on which one is later). Students will not be able to request more feedback after this due date."
},
"customizeGroupNames": {
"title": "Customize group names",
"title": "Customize Group Names",
"description": "Customizing the group names should not be necessary and may cause users to lose access to this course. Make sure you have a good reason for customizing the group names."
},
"studentGroupName": "Students",
Expand All @@ -96,10 +96,13 @@
"ltiConfiguration": "LTI Configuration",
"recentlyAccessed": "Recently accessed",
"maxPoints": {
"title": "Maximum number of points for course",
"title": "Max. Points for Course",
"info": "This value is used for example calculations (e.g. in the grading key) and does not influence the students' grades. The grades are calculated based on the points achievable in the course."
},
"accuracyOfScores": "Number of decimal places used for calculating the scores",
"accuracyOfScores": {
"title": "Decimal Places for Score Calculations",
"info": "The number of decimal places used for calculating the scores in this course, determining the accuracy of the scores."
},
"defaultProgrammingLanguage": "Default Programming Language",
"gradingSystem": "Grading Key",
"testCourse": {
Expand Down Expand Up @@ -150,7 +153,7 @@
"title": "Student Course Unenrollment Enabled",
"description": "Activate this checkbox to allow students to unenroll independently in the course. You can specify the latest date for unenrollment, otherwise the students can do so until the end of the course."
},
"unenrollmentEndDate": "Latest date to unenroll",
"unenrollmentEndDate": "Latest Date to Unenroll",
"exercises": "Exercises",
"programmingExercises": "Programming Exercises",
"quizExercises": "Quiz Exercises",
Expand Down Expand Up @@ -196,6 +199,15 @@
"editor": "Editor",
"instructor": "Instructor",
"form": {
"sections": {
"general": "General Information",
"exercises": "Exercises & Grading",
"additionalFeatures": {
"title": "Additional Course Features",
"info": "Learn more about the additional course features with the info buttons next to each feature."
},
"enrollment": "Student Course Enrollment"
},
"shortname": {
"minlength": "Short Name must contain at least 3 characters.",
"forbidden": "Short Name must start with a letter and cannot contain special characters."
Expand Down Expand Up @@ -264,8 +276,6 @@
},
"activeStudents": "Active students: {{ students }}",
"notStartedYet": "The course has not officially started yet. Official course start:",
"noOrganizations": "No Organizations",
"organizationAddingHint": "Administrators can add organizations to courses.",
"imageCropper": {
"title": "Crop your image",
"uploadTitle": "Add an icon"
Expand Down
4 changes: 2 additions & 2 deletions src/main/webapp/i18n/en/tutorialGroups.json
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,9 @@
},
"configurationForm": {
"timeZoneInput": {
"label": "Timezone",
"label": "Tutorial Group Time Zone",
"beta": "The time zone is currently only used in conjunction with the tutorial group feature. It currently has no influence on other areas of Artemis",
"changeWarning": "You have changed the timezone. All individually created sessions and tutorial free days will be deleted. Only schedules sessions will be recreated in the new time zone. Are you absolutely sure you want to do this?",
"changeWarning": "You have changed the time zone. All individually created sessions and tutorial free days will be deleted. Only scheduled sessions will be recreated in the new time zone. Are you absolutely sure you want to do this?",
"placeholder": "Select a time zone",
"explanation": "The time zone in which the tutorial groups occur. This will be used to interpret the start and end times of the tutorial groups. You can search for a time zone by typing into the field.",
"requiredValidationError": "You need to select a time zone!"
Expand Down
Loading