because making property navigation is not best practise for a module. suite is designed to support both modules and app templates. but easy crm is not a module. if you are not working on a module template, you can change the final output of Suite to support ICollection<OtherEntity> OtherEntities
is it duplicate of https://support.abp.io/QA/Questions/1289/problem-with-navigation-properties-in-abp-suite?
ok. I'll check it again
ICollection<OrderLine> OrderLines
Product Product { get; set; }
these are not navigation properties
There are 2 razor pages used to change the register page.
1- Copy the Register.cshtml to Pages > Account folder of your web project.
2- Copy the Default.cshtml to Themes > Lepton > Layouts > Account folder of your web project.
https://gist.github.com/ebicoglu/bb28666a892646b245b2a525d5760bb7
1- You need to customize the register component to ask user "subdomain" name. and you need to modify the backend to send this data.
The register action URL is /api/account/register . it's in the Account.Pro module. \Volo.Abp.Account.Pro.Public.Application\Volo\Abp\Account\AccountAppService.cs
This is the register method of AccountAppService. You can override this method and add a Subdomain property to RegisterDto. check out https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities
public virtual async Task<IdentityUserDto> RegisterAsync(RegisterDto input)
{
await CheckSelfRegistrationAsync();
if (await UseCaptchaOnRegistration())
{
var reCaptchaValidator = await RecaptchaValidatorFactory.CreateAsync();
await reCaptchaValidator.ValidateAsync(input.CaptchaResponse);
}
await IdentityOptions.SetAsync();
var user = new IdentityUser(GuidGenerator.Create(), input.UserName, input.EmailAddress, CurrentTenant.Id);
input.MapExtraPropertiesTo(user);
(await UserManager.CreateAsync(user, input.Password)).CheckErrors();
(await UserManager.AddDefaultRolesAsync(user)).CheckErrors();
if (!user.EmailConfirmed)
{
await SendEmailConfirmationTokenAsync(user, input.AppName, input.ReturnUrl, input.ReturnUrlHash);
}
return ObjectMapper.Map<IdentityUser, IdentityUserDto>(user);
}
https://community.abp.io/articles/how-to-add-custom-property-to-the-user-entity-6ggxiddr
https://gist.github.com/mehmet-erim/b93759e97bd3f43bf98aca29bdd1fe66 https://support.abp.io/QA/Questions/160/How-to-customize-an-ABP-project
2- You can check out this topic https://support.abp.io/QA/Questions/1340/How-to-removedisable-validation-for-existing-DTO-object . In this topic user is trying to remove validation from an existing DTO. It's similar to your requirement. You are trying to replace an appservice with your own modified one.
sometimes Microsoft also broken!
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-5.0
we already created an internal ticket for this issue
fyi @gterdem
@mehmet received your email. we'll get back to you once we finish