Pull request #217: RED-1392 Enable/disable "forgot password"
Merge in RED/ui from RED-1392 to master * commit '915d6d62f69dfc6d4c4c72e9d04ef4e1126c0c69': link general config with controller service fix dialogs on small screens wip, waiting for backend endpoint
This commit is contained in:
commit
fba73d758e
@ -21,7 +21,37 @@
|
||||
|
||||
<div class="red-content-inner">
|
||||
<div class="content-container">
|
||||
<div class="dialog">
|
||||
<div class="dialog mb-8">
|
||||
<div class="dialog-header">
|
||||
<div class="heading-l" translate="smtp-config-screen.general.title"></div>
|
||||
<div translate="smtp-config-screen.general.subtitle"></div>
|
||||
</div>
|
||||
<div class="dialog-content">
|
||||
<div class="inline-input-group flex-align-items-center">
|
||||
<mat-slide-toggle
|
||||
[(ngModel)]="generalSettings.forgotPasswordFunctionEnabled"
|
||||
color="primary"
|
||||
></mat-slide-toggle>
|
||||
<span
|
||||
translate="smtp-config-screen.general.form.forgot-password"
|
||||
class="ml-8"
|
||||
></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dialog-actions">
|
||||
<button
|
||||
[disabled]="!generalConfigChanged"
|
||||
(click)="saveGeneralConfig()"
|
||||
color="primary"
|
||||
mat-flat-button
|
||||
type="submit"
|
||||
>
|
||||
{{ 'smtp-config-screen.actions.save' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dialog mt-16">
|
||||
<div class="dialog-header">
|
||||
<div class="heading-l" translate="smtp-config-screen.title"></div>
|
||||
<div translate="smtp-config-screen.subtitle"></div>
|
||||
|
||||
@ -4,7 +4,26 @@
|
||||
.content-container {
|
||||
background-color: $grey-2;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@include scroll-bar;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.w-100 {
|
||||
min-width: 100px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.inline-input-group {
|
||||
background-color: rgba($grey-6, 0.8);
|
||||
width: 100%;
|
||||
height: 38px;
|
||||
border-radius: 4px;
|
||||
padding: 1px 11px;
|
||||
}
|
||||
|
||||
.dialog {
|
||||
width: 100%;
|
||||
min-height: unset;
|
||||
}
|
||||
|
||||
@ -2,7 +2,12 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { SmtpConfigurationControllerService, SMTPConfigurationModel } from '@redaction/red-ui-http';
|
||||
import {
|
||||
GeneralConfigurationModel,
|
||||
SmtpConfigurationControllerService,
|
||||
GeneralSettingsControllerService,
|
||||
SMTPConfigurationModel
|
||||
} from '@redaction/red-ui-http';
|
||||
import { NotificationService, NotificationType } from '@services/notification.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
||||
@ -14,7 +19,11 @@ import { TranslateService } from '@ngx-translate/core';
|
||||
export class SmtpConfigScreenComponent implements OnInit {
|
||||
viewReady = false;
|
||||
configForm: FormGroup;
|
||||
generalSettings: GeneralConfigurationModel = {
|
||||
forgotPasswordFunctionEnabled: false
|
||||
};
|
||||
|
||||
private _initialGeneralSettings: GeneralConfigurationModel;
|
||||
private _initialValue: SMTPConfigurationModel;
|
||||
|
||||
constructor(
|
||||
@ -23,7 +32,8 @@ export class SmtpConfigScreenComponent implements OnInit {
|
||||
private readonly _formBuilder: FormBuilder,
|
||||
private readonly _dialogService: AdminDialogService,
|
||||
private readonly _notificationService: NotificationService,
|
||||
private readonly _translateService: TranslateService
|
||||
private readonly _translateService: TranslateService,
|
||||
private readonly _generalSettingsControllerService: GeneralSettingsControllerService
|
||||
) {
|
||||
this.configForm = this._formBuilder.group({
|
||||
host: [undefined, Validators.required],
|
||||
@ -59,8 +69,20 @@ export class SmtpConfigScreenComponent implements OnInit {
|
||||
return false;
|
||||
}
|
||||
|
||||
get generalConfigChanged(): boolean {
|
||||
if (!this._initialGeneralSettings) return false;
|
||||
|
||||
const toBool = key => this.generalSettings[key] !== this._initialGeneralSettings[key];
|
||||
const changes = Object.keys(this.generalSettings).map(toBool);
|
||||
return changes.filter(value => value).length > 0;
|
||||
}
|
||||
|
||||
async ngOnInit() {
|
||||
await this._loadData();
|
||||
this.generalSettings = await this._generalSettingsControllerService
|
||||
.getGeneralConfigurations()
|
||||
.toPromise();
|
||||
this._initialGeneralSettings = Object.assign({}, this.generalSettings);
|
||||
}
|
||||
|
||||
async save() {
|
||||
@ -72,6 +94,14 @@ export class SmtpConfigScreenComponent implements OnInit {
|
||||
this.viewReady = true;
|
||||
}
|
||||
|
||||
async saveGeneralConfig() {
|
||||
this.viewReady = false;
|
||||
await this._generalSettingsControllerService
|
||||
.updateGeneralConfigurations(this.generalSettings)
|
||||
.toPromise();
|
||||
this.viewReady = true;
|
||||
}
|
||||
|
||||
openAuthConfigDialog(skipDisableOnCancel?: boolean) {
|
||||
this._dialogService.openSMTPAuthConfigDialog(this.configForm.getRawValue(), authConfig => {
|
||||
if (authConfig) {
|
||||
|
||||
@ -68,10 +68,6 @@
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.ml-8 {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.ml-2 {
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
@ -1088,6 +1088,13 @@
|
||||
},
|
||||
"configurations": "Configurations",
|
||||
"smtp-config-screen": {
|
||||
"general": {
|
||||
"title": "General Configurations",
|
||||
"subtitle": "",
|
||||
"form": {
|
||||
"forgot-password": "Show Forgot password link on Login screen"
|
||||
}
|
||||
},
|
||||
"title": "Configure SMTP Account",
|
||||
"subtitle": "SMTP (Simple Mail Transfer Protocol) enables you to send your emails through the specified server settings.",
|
||||
"actions": {
|
||||
|
||||
@ -234,7 +234,7 @@ section.settings {
|
||||
}
|
||||
|
||||
.mt-16 {
|
||||
margin-top: 16px;
|
||||
margin-top: 16px !important;
|
||||
}
|
||||
|
||||
.mt-20 {
|
||||
@ -253,6 +253,10 @@ section.settings {
|
||||
margin-bottom: 8px !important;
|
||||
}
|
||||
|
||||
.ml-8 {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.ml-14 {
|
||||
margin-left: 14px;
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import { FileAttributesControllerService } from './fileAttributesController.serv
|
||||
import { SmtpConfigurationControllerService } from './smtpConfigurationController.service';
|
||||
import { ReportTemplateControllerService } from './reportTemplateController.service';
|
||||
import { UploadControllerService } from './uploadController.service';
|
||||
import { GeneralSettingsControllerService } from './generalSettingsController.service';
|
||||
|
||||
export * from './auditController.service';
|
||||
|
||||
@ -74,6 +75,8 @@ export * from './reportTemplateController.service';
|
||||
|
||||
export * from './uploadController.service';
|
||||
|
||||
export * from './generalSettingsController.service';
|
||||
|
||||
export const APIS = [
|
||||
AuditControllerService,
|
||||
DebugControllerService,
|
||||
@ -99,5 +102,6 @@ export const APIS = [
|
||||
FileAttributesControllerService,
|
||||
SmtpConfigurationControllerService,
|
||||
ReportTemplateControllerService,
|
||||
UploadControllerService
|
||||
UploadControllerService,
|
||||
GeneralSettingsControllerService
|
||||
];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user