Hi, here are the answers to your questions:
#1: Is this the best way to do this or is there an obvious "ABP way" that I'm missing?
To add a new toolbar item, there is a SetToolbarAsync method in your *.razor.cs file, you can also use it to add a new toolbar. (https://abp.io/docs/latest/framework/ui/blazor/page-header#page-toolbar)
Example:
protected virtual ValueTask SetToolbarItemsAsync()
{
Toolbar.AddButton(L["ExportToExcel"], async () =>{ await DownloadAsExcelAsync(); }, IconName.Download);
Toolbar.AddButton(L["NewLead"], async () =>
{
await OpenCreateLeadModalAsync();
}, IconName.Add, requiredPolicyName: Issue9145Permissions.Leads.Create);
return ValueTask.CompletedTask;
}
#2 If it is the best way, how do I disable/hide the default create button (New Lead below)?
You can set the order for page toolbar items in the SetToolbarItemsAsync method. (AddButton method has an optional order parameter)
#3 On create and edit, how do I hide/disable the Dealership selector as we don't want any chance of it being changed before saving.
While establishing a 1-n relationship in ABP Suite, there is no option to hide the UI part for the selector, I guess this is what you are asking. The best option you have, is setting is as not required and manually hide it in the generated code.
Regards.
Hello @EngincanV,
It's kinda similar but that would be a bug them? It seems that ABP Studio is not looking their own Nuget.config from the project but tries to get from global source. Shouldn't ABP Studio add the registered user nuget into the global Nuget.config file them?
What would be the solution if I have more tools installed in my dev machine. Do I need to clear up all my repositories to change ABP Suite version from ABP Studio.
Hi, actually there is no code in the ABP Suite, that checks a path like "Roaming\NuGet\nuget.config", or similar points. As far as I understand, this is a problem of installing dotnet global tools from an external Nuget source and not related to the ABP Studio or ABP Suite itself.
But I'll create an internal issue so we can investigate better.
Done. Slated 9:30 Lisbon time (Tuesday/tomorrow, unfortunately) I'm sure we can step through whatever I don't resolve today quickly. Perhaps today I'll have resolution from Microsoft, etc.
Hi, we got your meeting request and approved it. One of our team members will join you and we will investigate the problem with you.
Thanks for understanding. Best regards.
Switching to Cosmos DB (Mongo version) is very simply, just change connection string. the code seems working. Encryption seems not that easy.
Hi, as @berkansasmaz mentioned we don't have experience with CosmosDB much. But it should be possible because we are only abstracting some key points on the MongoDB side, everything you can do with a plain .NET application with MongoDB provider, you can do it with an ABP-based application.
So, to better assist you, can you share what you've tried so far, what are your steps, and at which point you need our help? (please provide any information that think can help us to guide you better).
Since, this is not an official provider provided by us, these information will help us answer better. Thanks for your understanding and waiting for details from you.
Regards.
Hi Rafael, I’ve just tested the update and was able to successfully upgrade my ABP Suite from v9.1.0 to v9.1.1.
It looks like your issue might be the same as the one described here: https://abp.io/support/questions/1270/Cannot-install-latest-Abp-suite. Could you please try uninstalling ABP Suite first, and then reinstalling it to see if that resolves the problem?
Let me know how it goes.
Hi,
I don't mind using only customised ProfileAppService, but unfortunately breakpoint in the method of CustomProfileAppService has not been hit
Okay, then this means the dependency replacement is not correct. Can you update it as below and try it again?
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IProfileAppService), typeof(ProfileAppService), typeof(CustomProfileAppService))]
public class CustomProfileAppService : ProfileAppService, ICustomProfileAppService, IProfileAppService
{
//ommited for brevity.
}
If your ICustomProfileAppService implements the IProfileAppService, then this should be not needed, but can you confirm please?
Alternatively, in your module class, you can add the following line to replace it manually:
context.Services.Replace(
ServiceDescriptor.Transient<IProfileAppService, CustomProfileAppService>()
);
Please lets set up a call on Monday
Hi, as you mentioned, a quick call would be helpful to check and resolve these issues efficiently—it'll benefit both sides.
Could you please schedule a meeting via https://abp.io/demo? When booking, kindly include the ticket number and a brief description of the problem so we can prepare accordingly and assist you better during the session.
Looking forward to speaking with you. Best regards,
Hi, can you please give me more details?
For example, sharing the app service definitions, the ts file where you send the request to the relevant service, and any additional steps. These information can be extremely helpful for us to better assist you.
Hi, there is a class named IdentityGdprEventHandler in the Identity Pro Module (domain layer) and it's responsible for subscribing to the GdprUserDataDeletionRequestedEto, anonymizing the user and then deleting the user.
Since you're using a microservices architecture, there can be multiple handlers attempting to retrieve and process the same user. To improve this, we’ll enhance the IdentityGdprEventHandler so that it gracefully does nothing if the user cannot be found, instead of causing an error.
I'll check this and fix the problem. Your ticket is refunded. Thanks for reporting.
Best Regards.
Hi, please apply the following steps then your problem should be fixed:
1.-) Close the ABP Studio application 2.-) Clear the local dotnet cache with the following command:
dotnet nuget locals all --clear
3.-) Open the ABP Studio application or run ABP Studio CLI.
Please let me know if it fixes your problem or not. Regards.
Note: This problem seems it occurred because there was a problem in your local dotnet cache. ABP Studio templates come from the related dll and after the first installation of the extension, we use it through the local cache of your PC.