Aktivity „roberto.fiocchi@mcsi.it“

  • ABP Framework version: v7.4.5
  • UI Type: Blazor WASM
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): no
  • Exception message and full stack trace: none

Steps to reproduce the issue:

  • Create a new Blazor Wasm solution using abp suite
  • Define the three levels of permission in the Permissions.cs:
public static class Level
{
    public const string FirstLevel = GroupName + ".FirstLevel";
    public const string SecondLevel = FirstLevel + ".SecondLevel";
    public const string ThirdLevel = SecondLevel + ".ThirdLevel";
}
  • Add the permissions to the PermissionDefinitionProvider.cs:
var firstLevelPermission = myGroup.AddPermission(PermissionsIssuePermissions.Level.FirstLevel, L("Permission:FirstLevel"));
var secondLevelPermission = firstLevelPermission.AddChild(PermissionsIssuePermissions.Level.SecondLevel, L("Permission:SecondLevel"));
var thirdLevelPermission = secondLevelPermission.AddChild(PermissionsIssuePermissions.Level.ThirdLevel, L("Permission:ThirdLevel"));
  • Run the application and open the Permissions modal on the "admin" role:
  • Notice how the "SecondLevel" and "ThirdLevel" permissions look to be on the same permission level even tho the "ThirdLevel" permission is a child of "SecondLevel" permission
Odpoveď

In the 8.0.0 version of Abp Suite with the new version of EntityFramework that supports the DateOnly and TimeOnly types, it would be useful to add them to the list of types that can be used to create a property in an entity.

Hi, yes you are right the other filters should also be passed to the parameter and the filtering should work for them as well. I have created an internal issue (#15729) for this and will fix it asap.

Also, is it not wiser to use a POST request rather then a GET because the query parameters in a GET requests has a 2048 character limit and could possibly go over if i have enough filters?

I understand your intent but since we are getting a result back and not adding or updating any record to a datastore, and instead just collecting the result and returning it GET request seems more proper, according to REST API guides.

Hi, Thanks so much for the help and understanding! We'll wait for the fix.

P.S: We don't know if its intended but we also noticed that with ABP 7.4.2 under HttpApi project a "TestModel.cs" is created when initializing the project with Abp Suite

Hello roberto.fiocchi@mcsi.it ,

The issue you're encountering is that the FilterText property is the only one being passed to the URL when generating the Excel download link. This is because the DownloadAsExcelAsync method only explicitly passes the FilterText property. To include the other filter properties, you'll need to modify the method to explicitly pass them as well.

Thanks,

Hi, I think there might have been a misunderstanding, i was reporting a bug since it should be Abp Suite's job to add those filters when the code is generated like it does with the Page Filters. If i have an entity that has a lot of filters it would take me a while to add all of them manually, time that can be saved if automated with Abp Suite.

Also, is it not wiser to use a POST request rather then a GET because the query parameters in a GET requests has a 2048 character limit and could possibly go over if i have enough filters?

  • ABP Framework version: v7.4.2
  • UI Type: Blazor WASM
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): no
  • Exception message and full stack trace: none
  • Steps to reproduce the issue:
    • Create a new solution using Abp Suite.
    • Create a new Entity called "Book" using Abp Suite and generate the code.
    • Notice how the filters are present in the BookExcelDownloadDto, but in the razor page's code only the FilterText filter has been passed:

BookExcelDownloadDto.cs:

public class BookExcelDownloadDto
{
    public string DownloadToken { get; set; } = null!;

    public string? FilterText { get; set; }

    public string? Title { get; set; }
    public DateTime? PublishDateMin { get; set; }
    public DateTime? PublishDateMax { get; set; }
    public bool? InInventory { get; set; }

    public BookExcelDownloadDto()
    {

    }
}

Books.razor.cs:

public partial class Books
{
	// OTHER PAGE CODE HERE
	private  async Task DownloadAsExcelAsync()
	{
		var token = (await BooksAppService.GetDownloadTokenAsync()).Token;
		var remoteService = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultOrNullAsync("ExcelTest") ??
		await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultOrNullAsync("Default");
		NavigationManager.NavigateTo($"{remoteService?.BaseUrl.EnsureEndsWith('/') ?? string.Empty}api/app/books/as-excel-file?DownloadToken={token}&FilterText={Filter.FilterText}", forceLoad: true);
	}
	// OTHER PAGE CODE HERE
}
Odpoveď

Yes, I have updated abp suite and created a new project.
There is the fix for advanced filters that were not generated before, but in abp suite there is no check box to choose which fields to use.

Maybe I didn't explain myself well.
I expected to have the "Advanced Filter" checkbox in the field properties

Thanks for your patience

Oh you mean you want to have the advanced filter optionally generated (for all UI types)

Yes, like RadTool does on AspNetZero Thanks

Odpoveď

Yes, I have updated abp suite and created a new project. There is the fix for advanced filters that were not generated before, but in abp suite there is no check box to choose which fields to use.

Maybe I didn't explain myself well. I expected to have the "Advanced Filter" checkbox in the field properties

Thanks for your patience

Odpoveď

Add the features present in AspNetZero RadTool to Abp Suite as the section "Other" where we can set "Advanced Filter", "List in UI" and "Create and Update".

And, if possible, reduce the number of template files used by Abp Suite also giving the possibility to indicate the sub-path where to save the files as it could be done in AspNetZero RadTool.

Thanks,
Roberto

yes this is on the roadmap , we'll implement it.

this feature is included in ABP v7.2 release.

@alper The Advanced Filter is still missing on the Blazor WASM UI template 7.4 rc2. When will it be released? Thanks

https://docs.abp.io/en/commercial/latest/startup-templates/application/deployment-iis?UI=Blazor&DB=EF&Tiered=No

Write the guide for deployment on IIS also indicating how to publish Blazor WASM (frontend and backend project) from VS2022 with different environments (DEVELOP/STAGING/PRODUCTION)

Thanks

I'll try, but I think I'll get a warning like https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0436?f1url=%3FappId%3Droslyn%26k%3Dk(CS0436)

Thanks

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