Aktivity „christophe.baille“

  • ABP Framework version: v5.0.0
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

Our actual solution let the user subscribe to a plan while we create the tenant, once the tenant is created on ABP, we create a new subscription

_subscriptionAppService.CreateSubscriptionAsync(editionId, tenantId);

then redirect to the Stripe payment page

LocalRedirectPreserveMethod("/Payment/GatewaySelection?paymentRequestId=" + paymentRequest.Id);

I had a look on Stripe documentation on how to add a trial period (https://stripe.com/docs/billing/subscriptions/trials) and it is mentionned to add a TrialEnd on SubscriptionCreate options:

var options = new SubscriptionCreateOptions { Customer = "cus_4fdAW5ftNQow1a", Items = items, TrialEnd = DateTimeOffset.FromUnixTimeSeconds(1610403705).UtcDateTime, };

From what I understand, ABP create this subscription with the code I mentionned before

_subscriptionAppService.CreateSubscriptionAsync(editionId, tenantId);

then use this result Id to send to the gateway

My problem here is that this method do not allow to provide a TrialEnd, and all entities related to subscription (Edition, Plan) do not have this property.

The payment request which subscriptionAppService generate do not have anything about it neither, so I guess it is not implemented?

So I would like to know if it is possible to define the TrialEnd period using ABP module? Or any other way to work around about making trial subscription?

Thanks

  • ABP Framework version: v4.3.3
  • UI type: Angular / Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

In version 4.0.0, I wanted to run DbMigrator project with a different appsettings file depending if I was in dev, test or production. It is an angular solution

To make it work, I added a method BuildConfiguration on the class DbMigratorHostedService:

` private static IConfiguration BuildConfiguration() { var configurationBuilder = new ConfigurationBuilder();

        var environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
        if (environmentName != null)
        {
            configurationBuilder.AddJsonFile($"appsettings.{environmentName}.json", true);
        }
        else
        {
            configurationBuilder.AddJsonFile("appsettings.json");
        }

        return configurationBuilder
            .AddEnvironmentVariables()
            .Build();
    }
}`

It was called with options.Services.ReplaceConfiguration(BuildConfiguration()); into AbpApplicationFactory.Create of StartAsync method, it was working well.

Even after updating this solution to ABP 5.0.0, I still do not have this issue.

I afterwards created another solution, using Blazor this time, with version 4.3.3, but I then get this error on the console:

D:\AppAI\src\AppAI.DbMigrator\bin\Debug\net6.0\AppAI.DbMigrator.exe (process 139992) exited with code -42. To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. Press any key to close this window . . .

I updated to ABP 5.0.0 as well, and I still get this issue.

Note: When creating a new solution with version 5.0.0, a DI is now used about IConfiguration options.Services.ReplaceConfiguration(_configuration); I tried to add it on my solution, but I do not see on how to change configuration values, I see production settings, but it's empty, even if I have a appsettings production file.

ABP Framework version: v5.0.0-rc.1 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Separated (Angular): no

Steps to reproduce the issue:

1- Create a new solution 2- Create an entity 3- Open Test explorer

When I right click on EntityFrameworkCore project and select run, all tests fails with the message

Volo.Abp.AbpInitializationException : An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module AppRC.AppRCTestBaseModule, AppRC.TestBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: Undefined feature: Identity.MaxUserCount0 ---- Volo.Abp.AbpException : Undefined feature: Identity.MaxUserCount0

NOTE: This is not every times, but often enoug. It can happens when click on "Run All Tests in View" too. I met the issue now that "Run All Tests in View" do not run all tests anymore too, it skip projects... If run tests one by one, it works well.

I got the error when run on Microsoft DevOps pipeline too

---- Volo.Abp.AbpException : Undefined feature: Identity.MaxUser�

If you're creating a bug/problem report, please include followings:

  • ABP Framework version: v4.4.3

  • UI type: Angular

  • DB provider: EF Core

  • Tiered (MVC) or Identity Server Separated (Angular): no

  • Steps to reproduce the issue:"

If I generatean entity with a required navigation property I get errors when running unit tests

All unit tests fail and get the error Microsoft.Data.Sqlite.SqliteException : SQLite Error 19: 'FOREIGN KEY constraint failed'.

I fixed the issue by adding the required field on my entity test files, but anytime I regenerate my entity I need to fix it again in both test files MyEntitySetAppServiceTests.cs and MyEntitySetDataSeedContributor.cs by adding a value for this required navigation property.

Will it be possible to fix the test generation to add it automatically? Because of this issue, I do not put navigation property required in any of my entities (even if they should), as it will need too much extra work anytimes we regenerate entities. Otherwise, is there any other way to make it works without having to change it after each generation?

Thanks

  • ABP Framework version: v4.4.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

I previously made a feature to add all roles and permission when creating a new tenant which works perfectly. For that I created a class which inherit from IDataSeedContributor on Application project:

On SeedAsync method, I call this CreateRolesAndPermission which create roles, then for each role, I create permission

I get my roles from this class which in in Domain.Shared

To get the list of permission per role, I created an IEnumerable<string> that I create and fill directly on AppPermission class which is on Application.Contract project.

The feature which is not going well for me, is to update permissions when run DbMigrator.

Note/reminder about IDataSeedContributor (from some tests that I did): When creating a new tenant, it will run all classes which inherit from IDataSeedContributor from Application AND Domain projects. When run DbMigrator, it will run all classes which inherit from IDataSeedContributor from Domain projects only.

So, if I want to run something while running DbMigrator, I need to create a class which inherit from IDataSeedContributor on Domain project.

To update roles and pemission, I do something similar than for tenant creation, I get the list of roles from my class AppRoleConsts and check if exists or not on each tenant. To check all permission for each role, I then need to reach the list of permission, which is my issue : as I am now in Domain project, I do not have access to Application.Contract, and to keep a clean architecture, I should not add a reference. What I then tried, was to move my AppPermissions class from Application.Contract to Domain.Shared project. If most of it sounds ok, I got the issue when I want to add permissions from other AbPModule (here it is Blogging) to my IEnumerable<string>

The only way to make it work, it is to add the reference of Blogging.Application.Contracts.Shared to my domain project, which will make the architecture not clean again...

Is there any other way to make DbMigrator updating permission for each tenants without Domain project referencing Application.Contracts? It works on my project for now, but the architecture is a bit wrong now...

Would it not be possible to move all this permission from contract/contract.shared to domain.shared for example? It is just a suggestion/idea, I don't really know if this is wrong or not for your actual architecture actually...

Thanks

  • ABP Framework version: v4.4.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

I want to convert some DateTime UTC of a report entity, not to my "local" timezone but to another which the name will be saved on this same report entity.

I had a look around and it seems do not really understand on how it works.

I checked this doc https://docs.abp.io/en/abp/latest/Timing#clock-options and made some tests. At the moment we use options.Kind = DateTimeKind.Utc, so the DateTime on the database are in UTC, when I show them on my view, it is changed regarding my local DateTime which is fine. I did the test to replace Utc by local, and as expected, I got the same value from the datbase in my UI.

To try to understand more, I put a breakpoint on my code, and I did notice that either Utc or Local, the value coming from the database remain the same, the one from the database, it means the "transformation" have not been done yet. It makes sense actually, as the conversion should be done in front-end to have local timezone if I am right.

I then made a test on my UI, to show my date in 2 "different" ways, one showing the "raw" value, another formatted:

And I got this result:

So we can see that the "raw" value is kept as same as on the database, but when I "format" on date, it will convert to the local timezone.

My question here, is how {{ row.endDateTime | date: 'HH:mm' }} convert to my local time or not depending on the AbpClockOptions kind values? I can not find anything on Angular.

I am looking at ABP doc, but appart the link I shared before, I do not find much. Then from here, I will have a way to convert to the TimeZone I want or it is in some ABP angular packages?

Thanks

I did post this error on the thread Bugs & Issues v4.4.X as well

  • ABP Framework version: v4.4
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

NOTE: In version 4.2 it was working well

1- From login view and press cancel I reach the address http://localhost:4200/?error=access_denied and it doesn't looks good on Forefox only. It looks ok with Chrome.

Firefox:

Chrome:

2- When login, I want to logout, if I do not use english language (I tried Finnish, French and Italian), I get stuck on this view, plus the text on the button is missing:

English ok, I have text on the button then I reach the home page

Other languages, text in button is missing and it stay on this page

  • ABP Framework version: v4.4
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

When I generate and entity with a navigation property required (as below). Units tests are not working anymore, I did investigate and it seems it is a bug from ABP when generate Unit tests. Data for the mandatory field are not provided.

To solve the issue I added manually this mandatory data on both files DataSeedContributor and ApplicationTests. ABP suite should fill this value when generate entity.

  • ABP Framework version: v4.3.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

I added the follwing line on my **HttpApiHostModule class:

options.AddDomainTenantResolver("https://{0}:44348");

I then edited Default.cshtml file about keep seing the switch tenant box.

When I run my solution in local and go to my login page, I have the tenant localhost preseleted which is good.

My issue here is that if I try to change the tenant, once I click save, nothing happens, it keep localhost tenant. It goes through the method as I have the message "Given tenant is not available:..."

I added this lines in **HttpApiHostModule file but it remain the same

            options.TenantResolvers.Add(new QueryStringTenantResolveContributor());
            options.TenantResolvers.Add(new RouteTenantResolveContributor());
            options.TenantResolvers.Add(new HeaderTenantResolveContributor());
            options.TenantResolvers.Add(new CookieTenantResolveContributor());           

Is AddDomainTenantResolver supposed to change the behave of tenant resolve and not let use cookies anymore?

  • ABP Framework version: v4.3.2

  • UI type: Angular

  • DB provider: EF Core

  • Tiered (MVC) or Identity Server Separated (Angular): no

  • Steps to reproduce the issue:"

When I login as host admin and go to Language management/Language texts, I have the button edit which allow me to change the value of the text.

However, when I login as tenant admin, I do not have this button anymore, so I can not edit the text for my tenant:

Is it normal? I did check on my tenant features and do not have option to enable/disable it

What makes me think there is a bug is:

There is a permission for the admin user about "Edit Language Text" and it is checked:

Plus when I open the table I see a field TenantId, which means we should be able to write on this table depending on then tenant:

Thank you

Zobrazených 21 až 30 z 40 záznamov
Made with ❤️ on ABP v8.2.0-preview Updated on marca 25, 2024, 15:11