Ok so invoice payment should create payment requests? How it supposed to work for tenants?
Where is integration point here?
There is no invoice implementation in Payment Module. It provides only payment interface in your application. You can create a payment request and redirect users to the payment page and track that payment status with that PaymentRequest entity that you created at the beginning. If you want to create tenant-based custom payments & invoices, you should implement your own logic by using Payment Module or without payment module
Hi kirotech
You can implement custom logic by using the Payment Module. You can create one time payments or create recurring payments. Payment module is just an abstraction over multiple payment providers.
Saas Module has an implementation for tenant-edition registration, that's all. Payment module is only an abstraction and you can crate custom payment links by using it.
Hi christophe.baille
Did you create a localization entry with Theme:lightCustom
key?
Hi
Did you try overriding with CSS like below?
:root .lpx-theme-dim, :root .lpx-theme-dark .lpx-brand-logo {
--lpx-logo: url('/images/logo/leptonx/logo-light.png');
--lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png');
}
:root .lpx-theme-light {
--lpx-logo: url('/images/logo/leptonx/logo-dark.png');
--lpx-logo-icon: url('/images/logo/leptonx/logo-dark-thumbnail.png');
}
dev
branch means v7.0
If your contribution is done & merged before rc1 release, it'll be included in rc1. If not it'll be shipped rc2 or stable version.
Each commit that is pushed into dev
branch after separated a rel-
branch will be shipped into the next major version.
It seems you're on dev
branch.
Localization logic is changed in v7.0 but npm packages aren't published yet. So, if you run abp install-libs
, 6.0 packages will be installed.
You can overcome this issue by replacing abp.js with following file in the dev branch: https://github.com/abpframework/abp/blob/dev/npm/packs/core/src/abp.js
how to prevent a user who has the privilege to manage the users from deleting the Admin user or Sys Role?
You can replace and customize AppService
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IdentityUserAppService))]
public class MyIdenityUserAppService : IdentityUserAppService
{
// base ctor here
public override async Task DeleteAsync(Guid id)
{
var user = await UserManager.FindByIdAsync(id.ToString());
if(user.UserName == "admin")
{
throw new Exception("can not delete admin");
}
(await UserManager.DeleteAsync(user)).CheckErrors();
}
}
Hi, We've investigated your logs and found this:
2022-11-04 10:23:17.696 +02:00 [INF] Content root path: C:\Source\Token Generation API\code\TokenGen\services\administration\src\TokenGen.AdministrationService.HttpApi.Host\
2022-11-04 10:23:17.900 +02:00 [INF] Request starting HTTP/2 GET https://localhost:44367/ - -
2022-11-04 10:23:20.506 +02:00 [INF] Request starting HTTP/1.1 GET https://localhost:44367/api/abp/application-configuration?api-version=1.0 - 0
2022-11-04 10:23:22.153 +02:00 [ERR] An unhandled exception has occurred while executing the request.
Microsoft.AspNetCore.Routing.Matching.AmbiguousMatchException: The request matched multiple endpoints. Matches:
TokenGen.AdministrationService.Controllers.HomeController.Index (TokenGen.AdministrationService.HttpApi.Host)
TokenGen.StsApiService.Controllers.HomeController.Index (TokenGen.StsApiService.HttpApi.Host)
at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ReportAmbiguity(CandidateState[] candidateState)
at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ProcessFinalCandidates(HttpContext httpContext, CandidateState[] candidateState)
at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.Select(HttpContext httpContext, CandidateState[] candidateState)
at Microsoft.AspNetCore.Routing.Matching.DfaMatcher.MatchAsync(HttpContext httpContext)
at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
at Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
It seems TokenGen.AdministrationService.Controllers.HomeController
and TokenGen.StsApiService.Controllers.HomeController
conflicts for the same route (/
).
Make sure your AdministrationService doesn't have a reference to StsApiService directly. Most probably your StsApiService.HttpApi layer is included in your AdministrationService.HttpApi layer. Can you check if there is a reference?