2017-11-27 11:57:52 +01:00
|
|
|
|
<ion-header>
|
2018-07-13 13:10:55 +02:00
|
|
|
|
<ion-navbar core-back-button>
|
2017-12-08 15:53:27 +01:00
|
|
|
|
<ion-title>{{ 'core.login.login' | translate }}</ion-title>
|
2018-10-03 13:17:26 +02:00
|
|
|
|
|
|
|
|
|
<ion-buttons end>
|
|
|
|
|
<button *ngIf="isFixedUrlSet" ion-button icon-only [navPush]="'CoreSettingsListPage'" [attr.aria-label]="'core.mainmenu.appsettings' | translate">
|
|
|
|
|
<ion-icon name="cog"></ion-icon>
|
|
|
|
|
</button>
|
|
|
|
|
</ion-buttons>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</ion-navbar>
|
|
|
|
|
</ion-header>
|
2017-12-29 18:05:52 +01:00
|
|
|
|
<ion-content class="core-center-view">
|
2017-12-18 10:48:04 +01:00
|
|
|
|
<core-loading [hideUntil]="pageLoaded">
|
|
|
|
|
<div class="box">
|
2018-08-09 17:57:39 +02:00
|
|
|
|
<div text-wrap text-center margin-bottom>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
<!-- Show site logo or a default image. -->
|
|
|
|
|
<img *ngIf="logoUrl" [src]="logoUrl" role="presentation">
|
2017-12-18 10:48:04 +01:00
|
|
|
|
<img *ngIf="!logoUrl" src="assets/img/login_logo.png" class="login-logo" role="presentation">
|
2017-11-27 11:57:52 +01:00
|
|
|
|
|
|
|
|
|
<!-- If no sitename show big siteurl. -->
|
2017-12-29 18:05:52 +01:00
|
|
|
|
<p *ngIf="!siteName" padding class="item-heading core-siteurl">{{siteUrl}}</p>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
<!-- If sitename, show big sitename and small siteurl. -->
|
2018-05-16 14:43:25 +02:00
|
|
|
|
<p *ngIf="siteName" padding class="item-heading core-sitename"><core-format-text [text]="siteName"></core-format-text></p>
|
2017-12-29 18:05:52 +01:00
|
|
|
|
<p *ngIf="siteName" class="core-siteurl">{{siteUrl}}</p>
|
2017-12-18 10:48:04 +01:00
|
|
|
|
</div>
|
2019-06-05 09:54:48 +02:00
|
|
|
|
<form ion-list [formGroup]="credForm" (ngSubmit)="login($event)" class="core-login-form">
|
2017-11-27 11:57:52 +01:00
|
|
|
|
<ion-item *ngIf="siteChecked && !isBrowserSSO">
|
2017-12-08 15:53:27 +01:00
|
|
|
|
<ion-input type="text" name="username" placeholder="{{ 'core.login.username' | translate }}" formControlName="username" autocapitalize="none" autocorrect="off"></ion-input>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</ion-item>
|
2018-08-30 09:51:42 +02:00
|
|
|
|
<ion-item *ngIf="siteChecked && !isBrowserSSO" margin-bottom>
|
2017-11-29 16:03:47 +01:00
|
|
|
|
<core-show-password item-content [name]="'password'">
|
2018-07-16 16:34:12 +02:00
|
|
|
|
<ion-input class="core-ioninput-password" name="password" type="password" placeholder="{{ 'core.login.password' | translate }}" formControlName="password" core-show-password [clearOnEdit]="false"></ion-input>
|
2017-11-29 16:03:47 +01:00
|
|
|
|
</core-show-password>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</ion-item>
|
2017-12-18 10:48:04 +01:00
|
|
|
|
<button ion-button block [disabled]="siteChecked && !isBrowserSSO && !credForm.valid">{{ 'core.login.loginbutton' | translate }}</button>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
<!-- Forgotten password button. -->
|
2019-09-12 16:40:42 +02:00
|
|
|
|
<div padding-top class="core-login-forgotten-password">
|
2017-12-18 10:48:04 +01:00
|
|
|
|
<button ion-button block text-wrap color="light" (click)="forgottenPassword()">{{ 'core.login.forgotten' | translate }}</button>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
2019-09-12 16:40:42 +02:00
|
|
|
|
<ion-list *ngIf="identityProviders && identityProviders.length" padding-top class="core-login-identity-providers">
|
2017-12-18 10:48:04 +01:00
|
|
|
|
<ion-list-header text-wrap>{{ 'core.login.potentialidps' | translate }}</ion-list-header>
|
2017-12-29 18:05:52 +01:00
|
|
|
|
<button ion-item *ngFor="let provider of identityProviders" text-wrap class="core-oauth-icon" (click)="oauthClicked(provider)" title="{{provider.name}}">
|
2018-12-13 16:50:10 +01:00
|
|
|
|
<img [src]="provider.iconurl" alt="" width="32" height="32" item-start>
|
2017-12-18 10:48:04 +01:00
|
|
|
|
{{provider.name}}
|
|
|
|
|
</button>
|
|
|
|
|
</ion-list>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
|
2019-09-12 16:40:42 +02:00
|
|
|
|
<ion-list *ngIf="canSignup" padding-top class="core-login-sign-up">
|
2017-12-18 10:48:04 +01:00
|
|
|
|
<ion-list-header text-wrap>{{ 'core.login.firsttime' | translate }}</ion-list-header>
|
|
|
|
|
<ion-item no-lines text-wrap *ngIf="authInstructions">
|
|
|
|
|
<p><core-format-text [text]="authInstructions"></core-format-text></p>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</ion-item>
|
2017-12-08 15:53:27 +01:00
|
|
|
|
<button ion-button block (click)="signup()">{{ 'core.login.startsignup' | translate }}</button>
|
2017-12-18 10:48:04 +01:00
|
|
|
|
</ion-list>
|
|
|
|
|
</div>
|
2017-11-27 11:57:52 +01:00
|
|
|
|
</core-loading>
|
|
|
|
|
</ion-content>
|