Merge pull request #1992 from dpalou/MOBILE-2941
MOBILE-2941 login: Display forgot password button in reconnectmain
commit
7e3b4af288
|
@ -19,7 +19,6 @@ import { CoreAppProvider } from '@providers/app';
|
||||||
import { CoreEventsProvider } from '@providers/events';
|
import { CoreEventsProvider } from '@providers/events';
|
||||||
import { CoreSitesProvider } from '@providers/sites';
|
import { CoreSitesProvider } from '@providers/sites';
|
||||||
import { CoreDomUtilsProvider } from '@providers/utils/dom';
|
import { CoreDomUtilsProvider } from '@providers/utils/dom';
|
||||||
import { CoreUtilsProvider } from '@providers/utils/utils';
|
|
||||||
import { CoreLoginHelperProvider } from '../../providers/helper';
|
import { CoreLoginHelperProvider } from '../../providers/helper';
|
||||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||||
import { CoreConfigConstants } from '../../../../configconstants';
|
import { CoreConfigConstants } from '../../../../configconstants';
|
||||||
|
@ -53,7 +52,7 @@ export class CoreLoginCredentialsPage {
|
||||||
|
|
||||||
constructor(private navCtrl: NavController, navParams: NavParams, fb: FormBuilder, private appProvider: CoreAppProvider,
|
constructor(private navCtrl: NavController, navParams: NavParams, fb: FormBuilder, private appProvider: CoreAppProvider,
|
||||||
private sitesProvider: CoreSitesProvider, private loginHelper: CoreLoginHelperProvider,
|
private sitesProvider: CoreSitesProvider, private loginHelper: CoreLoginHelperProvider,
|
||||||
private domUtils: CoreDomUtilsProvider, private translate: TranslateService, private utils: CoreUtilsProvider,
|
private domUtils: CoreDomUtilsProvider, private translate: TranslateService,
|
||||||
private eventsProvider: CoreEventsProvider) {
|
private eventsProvider: CoreEventsProvider) {
|
||||||
|
|
||||||
this.siteUrl = navParams.get('siteUrl');
|
this.siteUrl = navParams.get('siteUrl');
|
||||||
|
@ -230,26 +229,7 @@ export class CoreLoginCredentialsPage {
|
||||||
* Forgotten password button clicked.
|
* Forgotten password button clicked.
|
||||||
*/
|
*/
|
||||||
forgottenPassword(): void {
|
forgottenPassword(): void {
|
||||||
if (this.siteConfig && this.siteConfig.forgottenpasswordurl) {
|
this.loginHelper.forgottenPasswordClicked(this.navCtrl, this.siteUrl, this.credForm.value.username, this.siteConfig);
|
||||||
// URL set, open it.
|
|
||||||
this.utils.openInApp(this.siteConfig.forgottenpasswordurl);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if password reset can be done through the app.
|
|
||||||
const modal = this.domUtils.showModalLoading();
|
|
||||||
this.loginHelper.canRequestPasswordReset(this.siteUrl).then((canReset) => {
|
|
||||||
if (canReset) {
|
|
||||||
this.navCtrl.push('CoreLoginForgottenPasswordPage', {
|
|
||||||
siteUrl: this.siteUrl, username: this.credForm.value.username
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.loginHelper.openForgottenPassword(this.siteUrl);
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
modal.dismiss();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -49,6 +49,11 @@
|
||||||
</form>
|
</form>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
|
||||||
|
<!-- Forgotten password button. -->
|
||||||
|
<div padding-top>
|
||||||
|
<button ion-button block text-wrap color="light" (click)="forgottenPassword()">{{ 'core.login.forgotten' | translate }}</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Identity providers. -->
|
<!-- Identity providers. -->
|
||||||
<ion-list *ngIf="identityProviders && identityProviders.length" padding-top>
|
<ion-list *ngIf="identityProviders && identityProviders.length" padding-top>
|
||||||
<ion-list-header text-wrap>{{ 'core.login.potentialidps' | translate }}</ion-list-header>
|
<ion-list-header text-wrap>{{ 'core.login.potentialidps' | translate }}</ion-list-header>
|
||||||
|
|
|
@ -161,6 +161,13 @@ export class CoreLoginReconnectPage {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Forgotten password button clicked.
|
||||||
|
*/
|
||||||
|
forgottenPassword(): void {
|
||||||
|
this.loginHelper.forgottenPasswordClicked(this.navCtrl, this.siteUrl, this.credForm.value.username, this.siteConfig);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An OAuth button was clicked.
|
* An OAuth button was clicked.
|
||||||
*
|
*
|
||||||
|
|
|
@ -260,6 +260,38 @@ export class CoreLoginHelperProvider {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function to act when the forgotten password is clicked.
|
||||||
|
*
|
||||||
|
* @param {NavController} navCtrl NavController to use to navigate.
|
||||||
|
* @param {string} siteUrl Site URL.
|
||||||
|
* @param {string} username Username.
|
||||||
|
* @param {any} [siteConfig] Site config.
|
||||||
|
*/
|
||||||
|
forgottenPasswordClicked(navCtrl: NavController, siteUrl: string, username: string, siteConfig?: any): void {
|
||||||
|
if (siteConfig && siteConfig.forgottenpasswordurl) {
|
||||||
|
// URL set, open it.
|
||||||
|
this.utils.openInApp(siteConfig.forgottenpasswordurl);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if password reset can be done through the app.
|
||||||
|
const modal = this.domUtils.showModalLoading();
|
||||||
|
|
||||||
|
this.canRequestPasswordReset(siteUrl).then((canReset) => {
|
||||||
|
if (canReset) {
|
||||||
|
navCtrl.push('CoreLoginForgottenPasswordPage', {
|
||||||
|
siteUrl: siteUrl, username: username
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.openForgottenPassword(siteUrl);
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
modal.dismiss();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format profile fields, filtering the ones that shouldn't be shown on signup and classifying them in categories.
|
* Format profile fields, filtering the ones that shouldn't be shown on signup and classifying them in categories.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue