Add logout view component

- Add component
- Expose site_url in configs to allow to re-direct to login
- Add need styling
-- Make some existing styling more generic
This commit is contained in:
Clemente Raposo 2022-09-16 17:16:02 +01:00
parent 991d0d2e24
commit 4d8a253c0c
8 changed files with 223 additions and 3 deletions

View file

@ -31,3 +31,4 @@ parameters:
ui: true
extensions: true
logout: true
site_url: true

View file

@ -568,6 +568,8 @@ export * from './views/list/store/list-view/list-view.store';
export * from './views/login/components/login/login.component';
export * from './views/login/components/login/login.module';
export * from './views/login/components/login/login.routes';
export * from './views/logout/components/logout/logout.component';
export * from './views/logout/components/logout/logout.module';
export * from './views/record/actions/record-action-manager.service';
export * from './views/record/actions/record.action';
export * from './views/record/actions/async-process/async-process.service';

View file

@ -25,7 +25,7 @@
* the words "Supercharged by SuiteCRM".
*/
-->
<div *ngIf="(vm$ | async) as vm" class="login-view d-flex align-items-center">
<div *ngIf="(vm$ | async) as vm" class="login-view full-height-view d-flex align-items-center">
<!-- Start of login form section -->

View file

@ -0,0 +1,43 @@
<! --
/**
* SuiteCRM is a customer relationship management program developed by SalesAgility Ltd.
* Copyright (C) 2022 SalesAgility Ltd.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SALESAGILITY, SALESAGILITY DISCLAIMS THE
* WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see http://www.gnu.org/licenses.
*
* In accordance with Section 7(b) of the GNU Affero General Public License
* version 3, these Appropriate Legal Notices must retain the display of the
* "Supercharged by SuiteCRM" logo. If the display of the logos is not reasonably
* feasible for technical reasons, the Appropriate Legal Notices must display
* the words "Supercharged by SuiteCRM".
*/
-->
<div class="logged-out-view full-height-view d-flex flex-column align-items-center justify-content-center">
<div class="logo-row full-height-view-row">
<scrm-logo-ui></scrm-logo-ui>
</div>
<div class="mt-3 mb-1 page-title full-height-view-row">
<h2>
<scrm-label labelKey="LBL_LOGGED_OUT_MESSAGE"></scrm-label>
</h2>
</div>
<div class="page-subtitle full-height-view-row">
<h5>
<scrm-label labelKey="LBL_LOGIN_AGAIN"></scrm-label><a class="text-lowercase" [href]="getLoginURL()"><scrm-label labelKey="LBL_CLICK_HERE"></scrm-label></a>
</h5>
</div>
</div>

View file

@ -0,0 +1,44 @@
/**
* SuiteCRM is a customer relationship management program developed by SalesAgility Ltd.
* Copyright (C) 2022 SalesAgility Ltd.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SALESAGILITY, SALESAGILITY DISCLAIMS THE
* WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* In accordance with Section 7(b) of the GNU Affero General Public License
* version 3, these Appropriate Legal Notices must retain the display of the
* "Supercharged by SuiteCRM" logo. If the display of the logos is not reasonably
* feasible for technical reasons, the Appropriate Legal Notices must display
* the words "Supercharged by SuiteCRM".
*/
import {Component} from '@angular/core';
import {SystemConfigStore} from '../../../../store/system-config/system-config.store';
@Component({
selector: 'scrm-logout',
templateUrl: './logout.component.html',
styleUrls: [],
})
export class LogoutComponent {
constructor(protected configs: SystemConfigStore) {
}
getLoginURL(): string {
return './';
}
}

View file

@ -0,0 +1,47 @@
/**
* SuiteCRM is a customer relationship management program developed by SalesAgility Ltd.
* Copyright (C) 2022 SalesAgility Ltd.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SALESAGILITY, SALESAGILITY DISCLAIMS THE
* WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* In accordance with Section 7(b) of the GNU Affero General Public License
* version 3, these Appropriate Legal Notices must retain the display of the
* "Supercharged by SuiteCRM" logo. If the display of the logos is not reasonably
* feasible for technical reasons, the Appropriate Legal Notices must display
* the words "Supercharged by SuiteCRM".
*/
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {LogoutComponent} from './logout.component';
import {LabelModule} from '../../../../components/label/label.module';
import {LogoUiModule} from '../../../../components/logo/logo.module';
@NgModule({
declarations: [
LogoutComponent
],
exports: [
LogoutComponent
],
imports: [
CommonModule,
LabelModule,
LogoUiModule,
]
})
export class LogoutModule {
}

View file

@ -75,8 +75,6 @@
}
.login-view {
min-height: calc(100vh - 3.2em);
.login-form {
padding-top: 4rem;
}

View file

@ -28,6 +28,91 @@
padding-left: 1.6em;
padding-right: 1.6em;
}
.small-font {
font-size: 0.85em;
}
.full-height-view {
min-height: calc(100vh - 3.2em);
.full-height-view-row {
@media all and (min-width: $breakpoint-xsmall) {
max-width: 24em;
.logo img {
max-width: 22em;
}
}
@media all and (max-width: $breakpoint-medium) {
.logo img {
max-width: 20em;
}
}
@media all and (max-width: $breakpoint-xsmall) {
.logo img {
max-width: 20em;
}
}
img {
text-align: center;
max-width: 22em;
}
}
}
.page-title {
color: $shell-grey;
font-size: 1.8rem;
font-weight: 300;
margin: 1em 0.7em;
letter-spacing: .1em;
text-align: center;
@media all and (min-width: $breakpoint-xsmall) {
h2 {
font-size: 2rem;
}
}
@media all and (max-width: $breakpoint-medium) {
h2 {
font-size: 1.4rem;
}
}
@media all and (max-width: $breakpoint-xsmall) {
h2 {
font-size: 1.4rem;
}
}
}
.page-subtitle {
color: $shell-grey;
text-align: center;
@media all and (min-width: $breakpoint-xsmall) {
h5 {
font-size: 1.25rem;
}
}
@media all and (max-width: $breakpoint-medium) {
h5 {
font-size: 1.1rem;
}
}
@media all and (max-width: $breakpoint-xsmall) {
h5 {
font-size: 1.1rem;
}
}
}