diff --git a/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.html b/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.html
index 80060e1e48..627849e525 100644
--- a/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.html
+++ b/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.html
@@ -98,7 +98,7 @@
-
-
touch_app
{{'ocpiendpoints.test_connection' | translate}}
diff --git a/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.ts b/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.ts
index 6e5d6ec086..5722ac5020 100644
--- a/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.ts
+++ b/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.component.ts
@@ -4,14 +4,14 @@ import { MatDialogRef } from '@angular/material/dialog';
import { Router } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { StatusCodes } from 'http-status-codes';
-import { DialogMode } from 'types/Authorization';
-import { OCPIEndpoint } from 'types/ocpi/OCPIEndpoint';
import { CentralServerService } from '../../../../../services/central-server.service';
import { DialogService } from '../../../../../services/dialog.service';
import { MessageService } from '../../../../../services/message.service';
import { SpinnerService } from '../../../../../services/spinner.service';
+import { DialogMode, OcpiEndpointsAuthorizations } from '../../../../../types/Authorization';
import { RestResponse } from '../../../../../types/GlobalType';
+import { OCPIEndpoint } from '../../../../../types/ocpi/OCPIEndpoint';
import { Constants } from '../../../../../utils/Constants';
import { Utils } from '../../../../../utils/Utils';
@@ -24,6 +24,7 @@ export class SettingsOcpiEndpointComponent implements OnInit {
@Input() public currentEndpoint!: OCPIEndpoint;
@Input() public dialogRef!: MatDialogRef;
@Input() public dialogMode!: DialogMode;
+ @Input() public authorizations!: OcpiEndpointsAuthorizations;
public formGroup!: FormGroup;
public id!: AbstractControl;
@@ -37,7 +38,8 @@ export class SettingsOcpiEndpointComponent implements OnInit {
public token!: AbstractControl;
public isBackgroundPatchJobActive!: AbstractControl;
public readOnly = true;
-
+ public canGenerateLocalToken: boolean;
+ public canPing: boolean;
// eslint-disable-next-line no-useless-constructor
public constructor(
@@ -97,6 +99,8 @@ export class SettingsOcpiEndpointComponent implements OnInit {
this.localToken = this.formGroup.controls['localToken'];
this.token = this.formGroup.controls['token'];
this.isBackgroundPatchJobActive = this.formGroup.controls['backgroundPatchJob'];
+ this.canGenerateLocalToken = Utils.convertToBoolean(this.authorizations.canGenerateLocalToken);
+ this.canPing = Utils.convertToBoolean(this.authorizations.canPing);
// Handle Dialog mode
this.readOnly = this.dialogMode === DialogMode.VIEW;
Utils.handleDialogMode(this.dialogMode, this.formGroup);
diff --git a/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.dialog.component.ts b/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.dialog.component.ts
index 18c99a2b08..a786179b6f 100644
--- a/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.dialog.component.ts
+++ b/src/app/pages/settings-integration/ocpi/endpoints/endpoint/settings-ocpi-endpoint.dialog.component.ts
@@ -1,25 +1,26 @@
import { AfterViewInit, Component, Inject, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
-import { DialogMode, DialogParams } from 'types/Authorization';
+import { DialogMode, DialogParamsWithAuth, OcpiEndpointsAuthorizations } from '../../../../../types/Authorization';
import { OCPIEndpoint } from '../../../../../types/ocpi/OCPIEndpoint';
import { Utils } from '../../../../../utils/Utils';
import { SettingsOcpiEndpointComponent } from './settings-ocpi-endpoint.component';
@Component({
- template: '',
+ template: '',
})
export class SettingsOcpiEndpointDialogComponent implements AfterViewInit {
@ViewChild('appRef') public appRef!: SettingsOcpiEndpointComponent;
public currentEndpoint!: OCPIEndpoint;
public dialogMode!: DialogMode;
-
+ public authorizations!: OcpiEndpointsAuthorizations;
public constructor(
public dialogRef: MatDialogRef,
- @Inject(MAT_DIALOG_DATA) dialogParams: DialogParams) {
+ @Inject(MAT_DIALOG_DATA) dialogParams: DialogParamsWithAuth) {
this.currentEndpoint = dialogParams.dialogData;
this.dialogMode = dialogParams.dialogMode;
+ this.authorizations = dialogParams.authorizations;
}
public ngAfterViewInit() {
diff --git a/src/app/pages/settings-integration/ocpi/endpoints/settings-ocpi-endpoints-table-data-source.ts b/src/app/pages/settings-integration/ocpi/endpoints/settings-ocpi-endpoints-table-data-source.ts
index 97c43173c1..f90053f36a 100644
--- a/src/app/pages/settings-integration/ocpi/endpoints/settings-ocpi-endpoints-table-data-source.ts
+++ b/src/app/pages/settings-integration/ocpi/endpoints/settings-ocpi-endpoints-table-data-source.ts
@@ -61,7 +61,9 @@ export class SettingsOcpiEndpointsTableDataSource extends TableDataSource {
// Init auth
this.authorizations = {
- canCreate: Utils.convertToBoolean(ocpiEndpoints.canCreate)
+ canCreate: Utils.convertToBoolean(ocpiEndpoints.canCreate),
+ canGenerateLocalToken: Utils.convertToBoolean(ocpiEndpoints.canGenerateLocalToken),
+ canPing: Utils.convertToBoolean(ocpiEndpoints.canPing),
};
// Set visibility
this.createAction.visible = this.authorizations.canCreate;
@@ -241,7 +243,10 @@ export class SettingsOcpiEndpointsTableDataSource extends TableDataSource