Activities of "enisn"

We completed all the configurations in the template and add a section to the documentation about iOS configuration. With the new version, SecureStorage will be used in startup templates.

Go to you .AtuhServer or .HttpApi.Host project and find Module class of that project.

  • Configure that project's layout in ConfigureServices method:
    Configure<LeptonXThemeMvcOptions>(options =>  
    {  
        options.ApplicationLayout = LeptonXMvcLayouts.TopMenu;  
    });  
    

I do not have these projects in the Blazor Server non-tiered solution. But I suppose I have to do this in the .HttpApi project.

Oh, sorry I missed that you're using Blazor-Server single project. So, you should make that MVC configuration in your Blazor.Server project module file.

Hi mateworkx

Subscription logic doesn't support importing in the current version.

All the flow should start like following document: https://docs.abp.io/en/commercial/latest/modules/payment#subscriptions

If you enabled webhooks, all the updates will affect to the application and subscription status.

If you created a tenant-edition subscription, edition of tenant will be automatically updated according to the subscription state. When subscription is canceled, it'll be canceled at the end of the period, or if you change the subscription period in the stripe dashboard, it'll be updated in the application too. https://docs.abp.io/en/commercial/latest/modules/saas#tenant-edition-subscription

Also, what is the "External Id?

ExternalId is PriceId or ProductId according your pricing policy in stripe.

https://docs.abp.io/en/commercial/latest/modules/payment#Configuring-Plans

Go to you .AtuhServer or .HttpApi.Host project and find Module class of that project.

  • Configure that project's layout in ConfigureServices method:
    Configure<LeptonXThemeMvcOptions>(options =>
    {
        options.ApplicationLayout = LeptonXMvcLayouts.TopMenu;
    });
    

Ou... I just found something else related to the TopMenu.

9. TopMenu layout is not consistently applied everywhere: When you go to "My Account" or "Security Logs", the view changes to the SideMenu layout.

In this case; Account & Security logs pages are on AuthServer project which is an different MVC project. You have to configure your AuthServer as TopMenu too.

We have figured out the problem, prioritized and solved it. It'll be included in the next LeptonX release. Thanks for your patience.

Thanks for your feedback, We'll make it more visible in the template and documentation.

Hi @improwise

As mentioned in article, Secure Storage requires platform-specific configuration. Preferences usage is for development purposes. You should replace it for production.

As @woodyarray says

lpx-logo-icon parameter is for the icon for collapsed state.

--lpx-logo-icon: url('/images/logo/logo-icon.svg') !important;

Make sure both Authentication Server and Client Application styles are updated if you're using a tiered architecture

Hi @p.j.keukens

You can override the EntityHistoryHelper in your project to achieve solution in your app on your version.


[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(EntityHistoryHelper))]
public class MyEntityHistoryHelper  : EntityHistoryHelper
{
     protected override List<EntityPropertyChangeInfo> GetPropertyChanges(EntityEntry entityEntry)
    {
        var propertyChanges = new List<EntityPropertyChangeInfo>();
        var properties = entityEntry.Metadata.GetProperties();
        var isCreated = IsCreated(entityEntry);
        var isDeleted = IsDeleted(entityEntry);

        foreach (var property in properties)
        {
            var propertyEntry = entityEntry.Property(property.Name);
            if (ShouldSavePropertyHistory(propertyEntry, isCreated || isDeleted) && !IsSoftDeleted(entityEntry))
            {
                propertyChanges.Add(new EntityPropertyChangeInfo
                {
                    NewValue = isDeleted ? null : JsonSerializer.Serialize(propertyEntry.CurrentValue).TruncateWithPostfix(YOUR_CUSTOM_VALUE),
                    OriginalValue = isCreated ? null : JsonSerializer.Serialize(propertyEntry.OriginalValue).TruncateWithPostfix(YOUR_CUSTOM_VALUE),
                    PropertyName = property.Name,
                    PropertyTypeFullName = property.ClrType.GetFirstGenericArgumentIfNullable().FullName
                });
            }
        }
}

Replace the YOUR_CUSTOM_VALUE with your requirement.

Also you can remove TruncateWithPostfix() method completely.

Showing 211 to 220 of 496 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 11, 2024, 11:11