intermittent commit

This commit is contained in:
Yana De Pauw
2021-09-30 17:01:30 +02:00
committed by Art Lowel
parent 90b706239e
commit 4feccb9989
6 changed files with 138 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<div class="container">
<h3 class="mb-4">{{'grant-deny-request-copy.header' | translate}}</h3>
<p>{{'grant-deny-request-copy.intro' | translate}}</p>
<div class="btn-group ">
<a [routerLink]="'/grant'"
class="btn btn-outline-danger"
title="{{'grant-deny-request-copy.grant' | translate }}">
{{'grant-deny-request-copy.grant' | translate }}
</a>
<a [routerLink]="'/deny'"
class="btn btn-outline-primary"
title="{{'grant-deny-request-copy.deny' | translate }}">
{{'grant-deny-request-copy.deny' | translate }}
</a>
</div>
</div>

View File

@@ -0,0 +1,50 @@
import { Component, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { EPersonDataService } from '../../core/eperson/eperson-data.service';
import { Store } from '@ngrx/store';
import { CoreState } from '../../core/core.reducers';
import { ActivatedRoute, Router } from '@angular/router';
import { FormBuilder } from '@angular/forms';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { EndUserAgreementService } from '../../core/end-user-agreement/end-user-agreement.service';
import { map } from 'rxjs/operators';
import { Registration } from '../../core/shared/registration.model';
import { ItemRequest } from '../../core/shared/item-request.model';
import { Observable } from 'rxjs/internal/Observable';
import { getFirstCompletedRemoteData, redirectOn4xx } from '../../core/shared/operators';
import { RemoteData } from '../../core/data/remote-data';
import { AuthService } from '../../core/auth/auth.service';
@Component({
selector: 'ds-grant-deny-request-copy',
styleUrls: ['./grant-deny-request-copy.component.scss'],
templateUrl: './grant-deny-request-copy.component.html'
})
export class GrantDenyRequestCopyComponent implements OnInit {
private itemRequest$: Observable<RemoteData<ItemRequest>>;
constructor(
private translateService: TranslateService,
private ePersonDataService: EPersonDataService,
private store: Store<CoreState>,
private router: Router,
private route: ActivatedRoute,
private formBuilder: FormBuilder,
private notificationsService: NotificationsService,
private endUserAgreementService: EndUserAgreementService,
private authService: AuthService
) {
}
ngOnInit(): void {
this.itemRequest$ = this.route.data.pipe(
map((data) => data.request as RemoteData<ItemRequest>),
getFirstCompletedRemoteData(),
redirectOn4xx(this.router, this.authService)
);
}
}

View File

@@ -0,0 +1,27 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { EndUserAgreementCookieGuard } from '../core/end-user-agreement/end-user-agreement-cookie.guard';
import { RequestCopyResolver } from './request-copy.resolver';
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
@NgModule({
imports: [
RouterModule.forChild([
{
path: ':token',
component: GrantDenyRequestCopyComponent,
resolve: {request: RequestCopyResolver},
canActivate: [EndUserAgreementCookieGuard]
}
])
],
providers: [
RequestCopyResolver,
GrantDenyRequestCopyComponent
]
})
/**
* Module related to the navigation to components used to register a new user
*/
export class RegisterPageRoutingModule {
}

View File

@@ -0,0 +1,22 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '../shared/shared.module';
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
@NgModule({
imports: [
CommonModule,
SharedModule,
],
declarations: [
GrantDenyRequestCopyComponent
],
providers: []
})
/**
* Module related to components used to register a new user
*/
export class RequestCopyModule {
}

View File

@@ -0,0 +1,19 @@
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';
import { RemoteData } from '../core/data/remote-data';
import { ItemRequest } from '../core/shared/item-request.model';
import { Observable } from 'rxjs/internal/Observable';
import { ItemRequestDataService } from '../core/data/item-request-data.service';
export class RequestCopyResolver implements Resolve<RemoteData<ItemRequest>> {
constructor(
private itemRequestDataService: ItemRequestDataService,
) {
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<RemoteData<ItemRequest>> | Promise<RemoteData<ItemRequest>> | RemoteData<ItemRequest> {
// TODO add method after knowing whether they will change the rest object to be compatible with normal dataservice.
return undefined;
}
}