diff --git a/FrontEnd/src/app/groups/group-details/group-details.component.html b/FrontEnd/src/app/groups/group-details/group-details.component.html index 7c9ba16..1b05cea 100644 --- a/FrontEnd/src/app/groups/group-details/group-details.component.html +++ b/FrontEnd/src/app/groups/group-details/group-details.component.html @@ -57,12 +57,12 @@ [contentStyle]="{'min-height':'600px', 'min-width': '800px'}">
Od kiedy test ma być dostępny: - +


Ile minut ma być dostępny ten test:


- +
Ta funkcjonalność pozwala tylko na edycję dostępności testów. diff --git a/FrontEnd/src/app/groups/group-details/group-details.component.ts b/FrontEnd/src/app/groups/group-details/group-details.component.ts index 11789dd..d60485d 100644 --- a/FrontEnd/src/app/groups/group-details/group-details.component.ts +++ b/FrontEnd/src/app/groups/group-details/group-details.component.ts @@ -31,15 +31,17 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { displayAvailability = false; - dateFrom: Date; + dateFrom: Date = new Date(); howLong = 10; testId = 1; + minDate: Date = new Date(); + columnDefs = [ { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.', hide: false }, - { headerName: 'Rozpoczęcie testu', field: 'startDate', headerTooltip: 'Rozpoczęcie testu' }, + { headerName: 'Start', field: 'startDate', headerTooltip: 'Start' }, { headerName: '', suppressMenu: true, @@ -49,6 +51,8 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { ]; timetest: number; + timeout: any; + constructor(private route: ActivatedRoute, private groupService: GroupsService, private router: Router, public snackBar: MatSnackBar) { } @@ -89,7 +93,8 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { success => { this.snackBar.open('Prawidłowo edytowano przedział czasowy.', null, { duration: 3000, verticalPosition: 'top', panelClass: ['snackbar-success'] }); - this.displayAvailability = false; + this.displayAvailability = false; + this.isDisplayed('testów'); }, error => { this.snackBar.open('Wystąpił błąd serwera. Spróbuj ponownie później.', null, @@ -128,7 +133,9 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { const timetest = temp.getTime(); const tempstop = new Date(data['dateTo']); const timeteststop = tempstop.getTime(); - if (timetest < now && now < timeteststop ) { + const currentUsername = JSON.parse(localStorage.getItem('currentUser')).username; + const groupOwnerUsername = localStorage.getItem('groupOwnerUsername'); + if ((groupOwnerUsername === currentUsername) || (timetest < now && now < timeteststop)) { switch (actionType) { case 'remove': return this.onActionRemoveClick(e); @@ -152,7 +159,7 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { } noTime() { - this.snackBar.open('Test jest jeszcze nieaktywny.', null, + this.snackBar.open('Test jest nieaktywny.', null, { duration: 3000, verticalPosition: 'top', panelClass: ['snackbar-error'] }); } @@ -225,32 +232,52 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { } onGridSizeChanged(params) { + const currentUsername = JSON.parse(localStorage.getItem('currentUser')).username; + const groupOwnerUsername = localStorage.getItem('groupOwnerUsername'); if (params.clientWidth < 800) { - this.columnDefs = [ - { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, - { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, - { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.', hide: true }, - { headerName: 'Rozpoczęcie testu', field: 'startDate', headerTooltip: 'Rozpoczęcie testu'}, - { - headerName: '', - suppressMenu: true, - suppressSorting: true, - cellRenderer: this.customCellRendererFunc - } - ]; + if (groupOwnerUsername === currentUsername) { + this.columnDefs = [ + { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, + { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, + { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.', hide: true }, + { headerName: 'Start', field: 'startDate', headerTooltip: 'Start'}, + { + headerName: '', + suppressMenu: true, + suppressSorting: true, + cellRenderer: this.customCellRendererFunc + } + ]; + } else { + this.columnDefs = [ + { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, + { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, + { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.', hide: true }, + { headerName: 'Start', field: 'startDate', headerTooltip: 'Start'}, + ]; + } } else { - this.columnDefs = [ - { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, - { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, - { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.' }, - { headerName: 'Rozpoczęcie testu', field: 'startDate', headerTooltip: 'Rozpoczęcie testu'}, - { - headerName: '', - suppressMenu: true, - suppressSorting: true, - cellRenderer: this.customCellRendererFunc - } - ]; + if (groupOwnerUsername === currentUsername) { + this.columnDefs = [ + { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, + { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, + { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.' }, + { headerName: 'Start', field: 'startDate', headerTooltip: 'Start'}, + { + headerName: '', + suppressMenu: true, + suppressSorting: true, + cellRenderer: this.customCellRendererFunc + } + ]; + } else { + this.columnDefs = [ + { headerName: 'Nazwa', field: 'title', headerTooltip: 'Nazwa' }, + { headerName: 'Ocena', field: 'grade', headerTooltip: 'Ocena' }, + { headerName: 'Max.', field: 'maxScore', headerTooltip: 'Max.' }, + { headerName: 'Start', field: 'startDate', headerTooltip: 'Start'} + ]; + } } params.api.sizeColumnsToFit(); @@ -301,7 +328,10 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { } if (resource === 'testów') { this.localeText.noRowsToShow = 'Brak testów do wyświetlenia'; - setTimeout(() => { + if (this.timeout) { + clearTimeout(this.timeout); + } + this.timeout = setTimeout(() => { this.testsSubscription = this.groupService.getResource(this.id, 'tests').subscribe(data => { this.data = data; data.forEach(x => { @@ -310,11 +340,15 @@ export class GroupDetailsComponent implements OnInit, OnDestroy { x['startDate'] = ''; const hours = temp.getHours(); const minutes = temp.getMinutes(); - const months = ['STY', 'LUT', 'MAR', 'KWI', 'MAJ', 'CZE', 'LIP', 'SIE', 'WRZ', 'PAŹ', 'LIS', 'GRU']; - const year = temp.getFullYear(); - const month = months[temp.getMonth()]; + // const months = ['STY', 'LUT', 'MAR', 'KWI', 'MAJ', 'CZE', 'LIP', 'SIE', 'WRZ', 'PAŹ', 'LIS', 'GRU']; + const year = temp.getFullYear().toString().substring(2); + const monthTemp = (temp.getMonth() + 1); + let month = monthTemp.toString(); + if (monthTemp < 10) { + month = `0${monthTemp}`; + } const date = temp.getDate(); - const time = date + ' ' + month + ' ' + year + ' ' + hours + ':' + minutes; + const time = date + '.' + month + '.' + year + ' ' + hours + ':' + minutes; x['startDate'] += time; }); }); diff --git a/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.html b/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.html index 46162e9..e6240a5 100644 --- a/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.html +++ b/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.html @@ -28,13 +28,13 @@


Od kiedy test ma być dostępny: - +


Ile minut ma być dostępny ten test:


- +
Brak elementów do dodania diff --git a/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.ts b/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.ts index cd1c241..1f37682 100644 --- a/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.ts +++ b/FrontEnd/src/app/groups/sharing-resources-in-groups/sharing-resources-in-groups.component.ts @@ -15,9 +15,9 @@ import { Subscription } from 'rxjs/Subscription'; export class SharingResourcesInGroupsComponent implements OnInit, OnDestroy { public id = 0; - public dateFrom: Date; + public dateFrom: Date = new Date(); public howLong = 10; - public maxDate = new Date(); + public minDate = new Date(); public materialsToAdd: Resource[] = []; public testsToAdd: Resource[] = []; diff --git a/FrontEnd/src/app/login/login.component.css b/FrontEnd/src/app/login/login.component.css index c517f10..bc597e5 100644 --- a/FrontEnd/src/app/login/login.component.css +++ b/FrontEnd/src/app/login/login.component.css @@ -1,5 +1,5 @@ #container-small { - background-color: #181616; + background-color: #28102f; padding: 30px; width: 25%; height: 400px; @@ -10,7 +10,7 @@ text-align: center; } #container-login { - background-color: #181616; + background-color: #28102f; top: 50%; left: 50%; transform: translate(-50%, -50%);