Activities of "Navneet@aol.com.au"

1

You can customize the code templates to add partial keyword. https://docs.abp.io/en/commercial/latest/abp-suite/editing-templates

2

Because there is no such feature definition, you can add feature definitions in your own FeatureDefinitionProvider: https://docs.abp.io/en/abp/latest/Features#featuredefinitionprovider And hide the menu&icon if the feature is not enabled.

4

Replace OpenIddictApplication.cs with myOpenIddictApplication.cs Replace OpenIddictDbContextModelCreatingExtensions.cs with myOpenIddictDbContextModelCreatingExtensions.cs

You can't replace the OpenIddictApplication entity with your own. you can consider using the object extensions system: https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities

last, I want to replace AbpOpenIddictProPermissionDefinitionProvider.cs with my myAbpOpenIddictProPermissionDefinitionProvider

Configure<AbpPermissionOptions>(options => 
{ 
    options.DefinitionProviders.Remove<AbpOpenIddictProPermissionDefinitionProvider>(); 
}); 

5

It's necessary, and it's safe.

6

You can create a separate project and copycat the public project to your solution.

7

public class MyToolbarContributor : IToolbarContributor 
{ 
    public virtual Task ConfigureToolbarAsync(IToolbarConfigurationContext context) 
    { 
        
        if (!context.ServiceProvider.GetRequiredService<ICurrentUser>().IsAuthenticated) 
        { 
            context.Toolbar.Items.Add(new ToolbarItem(typeof(LoginLinkViewComponent))); 
        } 
 
        return Task.CompletedTask; 
    } 
} 
 
Configure<AbpToolbarOptions>(options => 
{ 
    options.Contributors.Add(new MyToolbarContributor()); 
}); 

Thanks liangshiwei

For point 1: Your method will apply to project wide, I have only three entity which I want to change generated by suite, can you please give me some sample code for entity “Book” and “Author” using partial class and using N-N navigation, I will use that sample to replicate in my project for other class.

For point 2: Thanks, I manage to create feature with below code, how to wireup with module so that I can control from FeatureManagement, by hiding icon & menu it does not disable if someone try to navigate manually.

Also, how can I show/hide in Roles --> Permission based on Feature is True/False

    public class DocPaymentDefinitionProvider : FeatureDefinitionProvider
    {
        public override void Define(IFeatureDefinitionContext context)
        {
            var myDocs = context.AddGroup("Docs");
            myDocs.AddFeature("Docs.Allow", defaultValue: "false");

            var myPayment = context.AddGroup("Payment");
            myPayment.AddFeature("Payment.Allow", defaultValue: "false");

        }
    }

For point 4: I need OpenIddictApplication.cs & OpenIddictDbContextModelCreatingExtensions.cs to inherit from my custom Iinterface class. Can you please help?

For point 7: The code you have suggested is already there in my project. On desktop screen login button is visible, however when I use on mobile device, the login button is not visible.

The links you have sent me see changelog, does not have details of change, it has simple summary in 2 or 3 word, how can I understand what is changed?

Regards, Navneet

3

Regarding ABP.Volo.Payment, why tenant has permission to create plan or update plan by default. I am just trying to understand what is the logic to allow tenant to change plans created by host. Is it to allow my tenants to set their own payment Payment Gateway so my tenant can issue their own invoice and received payment from their customers, like B2B2C

It seems there is a logical issue in there, we'll try to enhance this logic in the next version but you can use the following workaround in your application for now;

  • Create a PermissionDefinition provider in your project. (Applcation.Contracts prefferred)

    And set multitenantcy side as Host for each permission in the group.

    public class PaymentFixPermissionDefinitionProvider : PermissionDefinitionProvider 
    { 
        public override void Define(IPermissionDefinitionContext context) 
        { 
            var paymentAdminGroup = context.GetGroupOrNull(PaymentAdminPermissions.GroupName); 
            if (paymentAdminGroup != null) 
            { 
                foreach (var permissionDefinition in paymentAdminGroup.Permissions) 
                { 
                    ConvertToHostSide(permissionDefinition); 
                } 
            } 
        } 
    
        private void ConvertToHostSide(PermissionDefinition permissionDefinition) 
        { 
            permissionDefinition.MultiTenancySide = Abp.MultiTenancy.MultiTenancySides.Host; 
    
            foreach(var childPermissionDefinition in permissionDefinition.Children)  
            { 
                ConvertToHostSide(childPermissionDefinition); 
            } 
        } 
    } 
    

Hi Enisn,

So, does it mean that It's only for Host purpose not Tenant purpose?

Regards, Navneet

Showing 51 to 52 of 52 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11