diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.cshtml.cs index dbc56d306c..efa1a7a618 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.cshtml.cs @@ -1,5 +1,6 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using NUglify.Helpers; namespace Volo.Abp.Account.Web.Pages.Account; @@ -19,11 +20,26 @@ public class LoggedOutModel : AccountPageModel public virtual Task OnGetAsync() { + NormalizeUrl(); return Task.FromResult(Page()); } public virtual Task OnPostAsync() { + NormalizeUrl(); return Task.FromResult(Page()); } + + protected virtual void NormalizeUrl() + { + if (!PostLogoutRedirectUri.IsNullOrWhiteSpace()) + { + PostLogoutRedirectUri = Url.Content(GetRedirectUrl(PostLogoutRedirectUri)); + } + + if(!SignOutIframeUrl.IsNullOrWhiteSpace()) + { + SignOutIframeUrl = Url.Content(GetRedirectUrl(SignOutIframeUrl)); + } + } } diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.html b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.html index cfd49602b6..38912f7caa 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.html +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.html @@ -4,7 +4,8 @@ {{ 'AbpFeatureManagement::ManageHostFeatures' | abpLocalization }} - + + > + diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts index 3ac018478e..d65b3a74a9 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts @@ -9,9 +9,7 @@ export class FeatureManagementTabComponent { providerKey: string; openFeaturesModal() { - setTimeout(() => { - this.visibleFeatures = true; - }, 0); + this.visibleFeatures = true; } onVisibleFeaturesChange = (value: boolean) => { diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts index c04b4500e2..25d8e76764 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts @@ -55,11 +55,17 @@ export class FeatureManagementComponent } set visible(value: boolean) { - if (this._visible === value) return; + if (this._visible === value) { + return; + } this._visible = value; this.visibleChange.emit(value); - if (value) this.openModal(); + + if (value) { + this.openModal(); + return; + } } @Output() readonly visibleChange = new EventEmitter(); diff --git a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts index ccdf06df24..3c1a3e4c82 100644 --- a/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts +++ b/npm/ng-packs/packages/identity/src/lib/defaults/default-users-form-props.ts @@ -1,7 +1,8 @@ -import { IdentityUserDto } from '@abp/ng.identity/proxy'; +import { Validators } from '@angular/forms'; +import { ConfigStateService, CurrentUserDto } from '@abp/ng.core'; import { getPasswordValidators } from '@abp/ng.theme.shared'; import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions'; -import { Validators } from '@angular/forms'; +import { IdentityUserDto } from '@abp/ng.identity/proxy'; export const DEFAULT_USERS_CREATE_FORM_PROPS = FormProp.createMany([ { @@ -70,5 +71,15 @@ export const DEFAULT_USERS_EDIT_FORM_PROPS = DEFAULT_USERS_CREATE_FORM_PROPS.map validators: (data: any) => [...getPasswordValidators({ get: data.getInjected })], }; } + if (prop.name === 'isActive') { + return { + ...prop, + visible: data => { + const configState = data.getInjected(ConfigStateService); + const currentUserId = configState.getDeep('currentUser.id'); + return currentUserId !== data.record.id; + }, + }; + } return prop; });