IMultiTenantLocalizationSource
is not injected anywhere, so you can't replace its implementation that way.
MultiTenantLocalizationSource
is instantiated directly in EnableDbLocalization
in LanguageManagementConfig.cs#L40.
You can comment out the following line in your WebCoreModule
and instantiate your own implementation.
//Use database for language management
Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization();
Oh, desktop notification.
It's in angular/src/app/shared/layout/notifications/UserNotificationHelper.ts.
ASP .NET Zero is using Push
and it's not possible to be HTML formatted as per Nickersoft/push.js#35:
According to the official docs, it seems that the body attribute is simply a string that does not resolve any HTML tags. Unfortunately, there is nothing Push itself can do to change this, as its just a robust shim wrapper around the native API calls.
It's in angular/src/assets/abp-web-resources/abp.notify.js.
The message
parameter already accepts HTML formatted string:
abp.notify.error('Some fields have <strong>errors.</strong><br/>Please check and try again.');
Read the paragraph that is right below that image.
... Timezone setting is available only if you are using UTC clock provider. See documentation to switch to UTC. By default ASP .NET Zero uses UnspecifiedClockProvider ...
You can change the used clock provider in the PreInitialize method of your Core module.
Clock.Provider = ClockProviders.Utc;
Reference: https://docs.aspnetzero.com/en/aspnet-core-mvc/latest/Features-Mvc-Core-Host-Settings
ASP .NET Zero 5.1.0 Angular is using SweetAlert v2.
In angular/src/AppPreBootstrap.ts:
abp.event.trigger('abp.dynamicScriptsInitialized');
+ (abp as any).libs.sweetAlert.config.error.button = abp.localization.localize('Ok', 'AbpZeroTemplate');
Replace AbpZeroTemplate
with your project source name.
ASP .NET Zero 6.0.0/6.6.0/8.4.0+ Angular is using SweetAlert2 v7/v8/v9+.
In angular/src/assets/abp-web-resources/abp.sweet-alert.js:
- options.confirmButtonText = options.confirmButtonText || abp.localization.abpWeb('Ok');
+ options.confirmButtonText = options.confirmButtonText || abp.localization.localize('Ok', 'AbpZeroTemplate');
PR for fix: aspnetzero/aspnet-zero-core#3208 (ASP .NET Zero 8.7.0)
And how does ASP NET Zero communicates back to stripe to tell how many ACTIVE users exist on a certain date?
It does not.
Also... Does the same functionality exists for PayPal? If so, can you point me in the right direction?
PayPal has https://developer.paypal.com/docs/subscriptions/#supported-pricing-plans.
ASP .NET Zero does not (and has no plans to) implement recurring payment via PayPal. Related: https://quaderno.io/blog/disadvantages-paypal-for-subscriptions/
Duplicate of:
You can implement the UI and functionality based on https://stripe.com/docs/billing/subscriptions/tiers.
The feature request is tracked in aspnetzero/aspnet-zero-core#731.
Do a data patch:
UPDATE SapphireDb.dbo.AbpOrganizationUnits
SET Discriminator='ExtendedOrganizationUnit'
WHERE Discriminator='';
You can also do SET Discriminator='OrganizationUnit'
if you do not want old OrganizationUnit
entries to be recognised as ExtendedOrganizationUnit
.
Doing _organizationUnitRepository.GetAllListAsync()
will only get those with the Discriminator
value of OrganizationUnit
and its subclasses, i.e. excluding ''
.
From https://docs.aspnetzero.com/en/aspnet-core-mvc/v8.2.0/Extending-Existing-Entities:
Before applying changes to the database, we changed default migration code from:
AddColumn("dbo.AbpEditions", "Price", c => c.Int()); AddColumn("dbo.AbpEditions", "Discriminator", c => c.String(nullable: false, maxLength: 128));
to:
AddColumn("dbo.AbpEditions", "Price", c => c.Int(nullable: false, defaultValue: 0)); AddColumn("dbo.AbpEditions", "Discriminator", c => c.String(nullable: false, maxLength: 128, defaultValue: "MyEdition"));
It appears that you did not change the Discriminator
column's defaultValue
as described.
So rather take a chance in SignalR, instead? Just to do GUI updates on entity changes...
That's as simple as it gets, other than direct long-polling.
Then, would it rather make sense to extent the AbpCommonHub?
From what the sparse documentation tels you should inherit it and extend it plus use yours it in the Startup.cs instead of AbpCommonHub.
...
but from discussions I remember this caused problems somehow. Probably because strong references were made in other opaque code places.
No, the documentation does not tell you to inherit AbpCommonHub. It says "we can inherit AbpHubBase".