Thanks @maliming
Now I know to check base class interfaces and included them in the [ExposeServices] attribute.
Also, LeptonErrorViewComponent's Invoke method is not overridable (virual) so the component cannot be replaced.
We are looking to change only the html on the error page. So we followed the instructions here: https://docs.abp.io/en/abp/latest/UI/AspNetCore/Customization-User-Interface#overriding-a-razor-page-cshtml
In following those instructions, we created a modified Default.cshtml under the same folder structure in our project as defined in Abp (see below). The problem is though that we don't see our changes and the Abp error page still shows. Any ideas?
Thanks for confirming the fix in the next version. The workaround for now works as expected.
Hi @maliming,
We are using Lepton.
Hi @maliming,
You can reproduce 3 sorting issues using the https://github.com/balessi75/FM.Test project.
No property or field 'RoleNames' exists in type 'IdentityUser' (at index 24)
UserManagementTableColumns
.AddRange(new TableColumn[]
{
...
new TableColumn {
Title = L["Roles"],
Data = nameof(IdentityUserDto.RoleNames),
ValueConverter = (data) =>
{
var roleNames = (data as IdentityUserDto)?.RoleNames;
return roleNames == null ? string.Empty : string.Join(", ", roleNames);
},
Sortable = true
}
...
Is sorting with paged result sets supported with this kind of calculated column?
Hi @maliming,
Just wanted to thank you for the quick turnaround on this issue. Your solution worked perfectly. Thank you, we appreciate the support!
Hi @maliming,
I sent you a direct email with details for reproducing/troubleshooting...
hi
I will check and find a way.
Excellent, thank you @mailiming
Hi @maliming,
We are not having any success. We successfully replaced TenantManagment.razor. From there, it wasn't exactly clear to us on how to correctly add the tenant's domain to the action of ImpersonationForm, so for a proof of concept, we hardcoded the action URL as follows:
Once we did this and then attempted to impersonate the tenant, we are directed to the login screen for that tenant (instead of instantly being logged in as the tenant). When we then try to login to the tenant, we receive the following error:
Impersonating a user within a tenant works fine because everything is under the same sub domain URL.
We also tried overriding the OnPostAsync()
method of ImpersonateTenantModel
and changed return Redirect("~/");
to direct to the tenant's sub domain URL, and this seems to work, but the 'return to impersonator' link no longer appears and were not sure this is the correct way of implementing tenant impersonation with each tenant having it's own subdomain.