Loading src/app/courses/projects/project-config/project-config.component.ts +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ export class ProjectConfigComponent implements OnInit { postSubmitScript: [ this.project.config.post_submit_script ], submissionParameters: [ this.project.config.submission_parameters ], submissionSchedulerConfig: [ this.project.config.submission_scheduler_config ], submissionsAllowedFrom: [ this.datePipe.transform(this.project.config.submissions_allowed_from, 'yyyy-MM-ddTHH:mm') ], submissionsAllowedFrom: [ this.datePipe.transform(this.project.config.submissions_allowed_from, ) ], submissionsAllowedTo: [ this.datePipe.transform(this.project.config.submissions_allowed_to, 'yyyy-MM-ddTHH:mm') ], archiveFrom: [ this.datePipe.transform(this.project.config.archive_from, 'yyyy-MM-ddTHH:mm') ] }); Loading src/app/shared/submissions-table/submissions-table.component.html +65 −50 Original line number Diff line number Diff line <div class="container"> <table class="table" *ngIf="user?.submissions?.length > 0"> <thead> <tr> Loading @@ -6,13 +7,13 @@ <th scope="col">Project</th> <th scope="col">Course</th> <th scope="col">Author</th> <th scope="col">Cancel</th> </tr> </thead> <tbody> <tr *ngFor="let submission of user?.submissions.slice(0, maxEntries)"> <td> <a routerLinkActive="active" [routerLink]="['/submissions/' + submission?.id]"> <a routerLinkActive="active" [routerLink]="['/submissions/' + submission?.id]"> {{submission?.created_at | date:'short'}} </a> </td> Loading Loading @@ -42,9 +43,23 @@ {{submission?.user.username}} </a>--> </td> <td> <button> Cancel </button> </td> </tr> </tbody> </table> <p *ngIf="user?.submissions?.length === 0">No submissions.</p> <p *ngIf="maxEntries >= user?.submissions?.length && user?.submissions?.length > 0">No more submissions to show.</p> <button class="button btn-primary" *ngIf="maxEntries < user?.submissions?.length" (click)="loadMore()">Load more</button> <div> <p *ngIf="user?.submissions?.length === 0"> No submissions. </p> <p *ngIf="maxEntries >= user?.submissions?.length && user?.submissions?.length > 0"> No more submissions to show. </p> <button class="button btn-primary" *ngIf="maxEntries < user?.submissions?.length" (click)="loadMore()"> Load more </button> </div> </div> src/app/shared/top-menu/top-menu.component.html +3 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,9 @@ </ul> <div class="collapse navbar-collapse" id="navbarText"> <ul class="navbar-nav ml-md-auto d-md-flex"> <li class="nav-item"> <a class="btn-success btn" [routerLink]="['/submissions/create']">Create new submission</a> </li> <li class="nav-item"> <a class="nav-link" href="https://gitlab.fi.muni.cz/grp-kontr2/kontr-documentation" target="_blank">Documentation</a> Loading src/app/submissions/submission-create/submission-create.component.html +17 −11 Original line number Diff line number Diff line <div class="container"> <div class="page-header"> <h1>New submission</h1> <hr> </div> <div class="col-md-12 personal-info"> <div class="col-md-12 personal-info" *ngIf="courseOptions.length > 0"> <form [formGroup]="createData" class="form-signin"> <div class="form-group row"> Loading @@ -12,11 +12,13 @@ <div class="col-lg-3"> <select id="course" formControlName="course" class="form-control" placeholder="Course" (ngModelChange)="subscriptions.push(loadProjectOptions($event).subscribe())" required autofocus> <option *ngFor="let course of courseOptions" [ngValue]="course"> <!--[attr.selected]="(createData.controls['course'].value != null && course.id === createData.controls['course'].value?.id)"--> <option *ngFor="let course of courseOptions" [ngValue]="course"> <!--[attr.selected]="(createData.controls['course'].value != null && course.id === createData.controls['course'].value?.id)"--> {{course?.codename}} </option> </select> <div *ngIf="createData.controls['course'].invalid && (createData.controls['course'].dirty || createData.controls['course'].touched)" <div *ngIf="createData.controls['course'].invalid && (createData.controls['course'].dirty || createData.controls['course'].touched)" class="alert alert-danger"> <div *ngIf="createData.controls['course'].errors.required"> Loading @@ -32,7 +34,8 @@ <div class="col-lg-3"> <select id="project" class="form-control" formControlName="project" placeholder="Project" required [attr.disabled]="projectOptions.length !== 0 ? null : true"> <option *ngFor="let project of projectOptions" [ngValue]="project"><!--[attr.selected]="createData.controls['project'].value != null && project.id === createData.controls['project'].value?.id"--> <option *ngFor="let project of projectOptions" [ngValue]="project"> <!--[attr.selected]="createData.controls['project'].value != null && project.id === createData.controls['project'].value?.id"--> {{project?.name}} </option> </select> Loading Loading @@ -101,9 +104,12 @@ type="submit" (click)="doCreate()">Create </button> </div> </form> </div> <div *ngIf="courseOptions.length == 0"> <h3>You are not in any course, you cannot create new submission</h3> </div> </div> Loading src/app/submissions/submission-create/submission-create.component.ts +40 −37 Original line number Diff line number Diff line Loading @@ -44,6 +44,9 @@ export class SubmissionCreateComponent implements OnInit, OnDestroy { let preloadedCourse = data.course; let preloadedProject = data.project; console.log('preloaded data: ', preloadedCourse, preloadedProject); if (!preloadedCourse) { return; } // all courses in which the user has the create_submissions permission const loadCourseOptionsSubscription = this.loadCourseOptions().pipe( map(courses => { Loading Loading @@ -199,7 +202,7 @@ export class SubmissionCreateComponent implements OnInit, OnDestroy { } this.subscriptions.push(this.submissionService.createSubmission(courseId, projectId, {}, fileParams).subscribe( submission => { this.router.navigateByUrl(`/submissions${submission.id}`).then(() => { this.router.navigateByUrl(`/submissions/${submission.id}`).then(() => { this.flashMessagesService.show(`Submission created successfully.`, { cssClass: 'alert-success' }); }); }, (error: any) => { Loading Loading
src/app/courses/projects/project-config/project-config.component.ts +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ export class ProjectConfigComponent implements OnInit { postSubmitScript: [ this.project.config.post_submit_script ], submissionParameters: [ this.project.config.submission_parameters ], submissionSchedulerConfig: [ this.project.config.submission_scheduler_config ], submissionsAllowedFrom: [ this.datePipe.transform(this.project.config.submissions_allowed_from, 'yyyy-MM-ddTHH:mm') ], submissionsAllowedFrom: [ this.datePipe.transform(this.project.config.submissions_allowed_from, ) ], submissionsAllowedTo: [ this.datePipe.transform(this.project.config.submissions_allowed_to, 'yyyy-MM-ddTHH:mm') ], archiveFrom: [ this.datePipe.transform(this.project.config.archive_from, 'yyyy-MM-ddTHH:mm') ] }); Loading
src/app/shared/submissions-table/submissions-table.component.html +65 −50 Original line number Diff line number Diff line <div class="container"> <table class="table" *ngIf="user?.submissions?.length > 0"> <thead> <tr> Loading @@ -6,13 +7,13 @@ <th scope="col">Project</th> <th scope="col">Course</th> <th scope="col">Author</th> <th scope="col">Cancel</th> </tr> </thead> <tbody> <tr *ngFor="let submission of user?.submissions.slice(0, maxEntries)"> <td> <a routerLinkActive="active" [routerLink]="['/submissions/' + submission?.id]"> <a routerLinkActive="active" [routerLink]="['/submissions/' + submission?.id]"> {{submission?.created_at | date:'short'}} </a> </td> Loading Loading @@ -42,9 +43,23 @@ {{submission?.user.username}} </a>--> </td> <td> <button> Cancel </button> </td> </tr> </tbody> </table> <p *ngIf="user?.submissions?.length === 0">No submissions.</p> <p *ngIf="maxEntries >= user?.submissions?.length && user?.submissions?.length > 0">No more submissions to show.</p> <button class="button btn-primary" *ngIf="maxEntries < user?.submissions?.length" (click)="loadMore()">Load more</button> <div> <p *ngIf="user?.submissions?.length === 0"> No submissions. </p> <p *ngIf="maxEntries >= user?.submissions?.length && user?.submissions?.length > 0"> No more submissions to show. </p> <button class="button btn-primary" *ngIf="maxEntries < user?.submissions?.length" (click)="loadMore()"> Load more </button> </div> </div>
src/app/shared/top-menu/top-menu.component.html +3 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,9 @@ </ul> <div class="collapse navbar-collapse" id="navbarText"> <ul class="navbar-nav ml-md-auto d-md-flex"> <li class="nav-item"> <a class="btn-success btn" [routerLink]="['/submissions/create']">Create new submission</a> </li> <li class="nav-item"> <a class="nav-link" href="https://gitlab.fi.muni.cz/grp-kontr2/kontr-documentation" target="_blank">Documentation</a> Loading
src/app/submissions/submission-create/submission-create.component.html +17 −11 Original line number Diff line number Diff line <div class="container"> <div class="page-header"> <h1>New submission</h1> <hr> </div> <div class="col-md-12 personal-info"> <div class="col-md-12 personal-info" *ngIf="courseOptions.length > 0"> <form [formGroup]="createData" class="form-signin"> <div class="form-group row"> Loading @@ -12,11 +12,13 @@ <div class="col-lg-3"> <select id="course" formControlName="course" class="form-control" placeholder="Course" (ngModelChange)="subscriptions.push(loadProjectOptions($event).subscribe())" required autofocus> <option *ngFor="let course of courseOptions" [ngValue]="course"> <!--[attr.selected]="(createData.controls['course'].value != null && course.id === createData.controls['course'].value?.id)"--> <option *ngFor="let course of courseOptions" [ngValue]="course"> <!--[attr.selected]="(createData.controls['course'].value != null && course.id === createData.controls['course'].value?.id)"--> {{course?.codename}} </option> </select> <div *ngIf="createData.controls['course'].invalid && (createData.controls['course'].dirty || createData.controls['course'].touched)" <div *ngIf="createData.controls['course'].invalid && (createData.controls['course'].dirty || createData.controls['course'].touched)" class="alert alert-danger"> <div *ngIf="createData.controls['course'].errors.required"> Loading @@ -32,7 +34,8 @@ <div class="col-lg-3"> <select id="project" class="form-control" formControlName="project" placeholder="Project" required [attr.disabled]="projectOptions.length !== 0 ? null : true"> <option *ngFor="let project of projectOptions" [ngValue]="project"><!--[attr.selected]="createData.controls['project'].value != null && project.id === createData.controls['project'].value?.id"--> <option *ngFor="let project of projectOptions" [ngValue]="project"> <!--[attr.selected]="createData.controls['project'].value != null && project.id === createData.controls['project'].value?.id"--> {{project?.name}} </option> </select> Loading Loading @@ -101,9 +104,12 @@ type="submit" (click)="doCreate()">Create </button> </div> </form> </div> <div *ngIf="courseOptions.length == 0"> <h3>You are not in any course, you cannot create new submission</h3> </div> </div> Loading
src/app/submissions/submission-create/submission-create.component.ts +40 −37 Original line number Diff line number Diff line Loading @@ -44,6 +44,9 @@ export class SubmissionCreateComponent implements OnInit, OnDestroy { let preloadedCourse = data.course; let preloadedProject = data.project; console.log('preloaded data: ', preloadedCourse, preloadedProject); if (!preloadedCourse) { return; } // all courses in which the user has the create_submissions permission const loadCourseOptionsSubscription = this.loadCourseOptions().pipe( map(courses => { Loading Loading @@ -199,7 +202,7 @@ export class SubmissionCreateComponent implements OnInit, OnDestroy { } this.subscriptions.push(this.submissionService.createSubmission(courseId, projectId, {}, fileParams).subscribe( submission => { this.router.navigateByUrl(`/submissions${submission.id}`).then(() => { this.router.navigateByUrl(`/submissions/${submission.id}`).then(() => { this.flashMessagesService.show(`Submission created successfully.`, { cssClass: 'alert-success' }); }); }, (error: any) => { Loading