Activities of "liangshiwei"

Hi,

Sorry, I could not reproduce the problem.

public static class Activities
{
    public const string Default = QaPermissions.GroupName +".Activities";
    public const string Edit = Default + ".Edit";
    public const string Delete = Default + ".Delete";
    public const string Create = Default + ".Create";
    private const string List = Default + ".List";
    public const string ListFull = List + ".Full";
    public const string ListFullLimitedCompaigns = List + ".FullLimitedCompaigns";
     public const string ListFullLimited= List + ".FullLimited";
     private const string Detail = Default + ".Detail";
     public const string DetailFull = Default + ".Full";
     public const string DetailFullLimitedCompaigns = Detail + ".FullLimitedCompaigns";
     public const string DetailFullLimited = Detail + ".FullLimited";
}

public static class SecurityFilters
{
    public const string Default = QaPermissions.GroupName +".SecurityFilters";
    public const string Campaign = Default + ".Campaign";
    public const string CampaignAssigned = Campaign +".Assigned";
    public const string CampaignAll = Campaign +".ALl";
    public const string Prospect = Default +".Prospect";
    public const string ProspectAssigned = Prospect +".Assigned";
    public const string ProspectAll = Prospect +".ALL";
}


var permissionActivities = myGroup.AddPermission(Activities.Default, L("Permission:Activities"));
permissionActivities.AddChild(Activities.Create, L("Create"));
permissionActivities.AddChild(Activities.Delete, L("Delete"));
permissionActivities.AddChild(Activities.Edit, L("Edit"));
permissionActivities.AddChild(Activities.DetailFull, L("DetailFull"));
permissionActivities.AddChild(Activities.DetailFullLimitedCompaigns, L("DetailFullLimitedCompaigns"));
permissionActivities.AddChild(Activities.DetailFullLimited, L("DetailFullLimited"));

var permissionActivitiesListFullLimited = permissionActivities.AddChild(Activities.ListFullLimited, L("ListFullLimited"));
permissionActivitiesListFullLimited.AddChild(Activities.ListFullLimitedCompaigns, L("ListFullLimitedCompaigns"));
permissionActivitiesListFullLimited.AddChild(Activities.ListFull, L("ListFull"));


var securityFilters = myGroup.AddPermission(SecurityFilters.Default, L("SecurityFilters"));
var securityFiltersCampaign = securityFilters.AddChild(SecurityFilters.Campaign, L("Campaign"));
securityFiltersCampaign.AddChild(SecurityFilters.CampaignAssigned, L("CampaignAssigned"));
securityFiltersCampaign.AddChild(SecurityFilters.CampaignAll, L("CampaignAll"));
var securityFiltersProspect = securityFilters.AddChild(SecurityFilters.Prospect, L("Prospect"));
securityFiltersProspect.AddChild(SecurityFilters.ProspectAssigned, L("ProspectAssigned"));
securityFiltersProspect.AddChild(SecurityFilters.ProspectAll, L("ProspectAll"));

Answer

Hi,

Sorry, I don't even know the UI type and ABP version of your project.

This information is not enough to reproduce the problem.

Could you just share a project that can reproduce the problem to make progress? my email is shiwei.liang@volosoft.com Thx

Answer

Could you share the full steps to reproduce? thanks.

But my Activities section still has the problem

Can you share the full steps to reproduce?

Answer

Hi,

What's the content of Program class

You should see a logger configuration like this

Answer

Hi,

You can find logs in the deployed folder.

For example:

Hi,

Will this work for you?

@using Microsoft.Extensions.Localization
@using Volo.Abp.PermissionManagement.Localization
@using Volo.Abp.PermissionManagement.Blazor.Components
@using Volo.Abp.DependencyInjection
@using Volo.Abp.PermissionManagement
@inherits PermissionManagementModal
@attribute [ExposeServices(typeof(PermissionManagementModal))]
@attribute [Dependency(ReplaceServices = true)]


<Modal @ref="_modal" Closing="@ClosingModal">
    <ModalContent Size="ModalSize.Large" Centered="true">
        <ModalHeader>
            <ModalTitle>@L["Permissions"] - @_entityDisplayName</ModalTitle>
            <CloseButton Clicked="CloseModal" />
        </ModalHeader>
        <ModalBody MaxHeight="50">
            
            <Field>
                <Check Disabled="_selectAllDisabled" Cursor="Cursor.Pointer" @bind-Checked="@GrantAll" TValue="bool">
                    @L["SelectAllInAllTabs"]
                </Check>
            </Field>
            
            <Divider />
            
            @if (_groups != null)
            {
                <Tabs TabPosition="TabPosition.Start" Pills="true" @bind-SelectedTab="@_selectedTabName">
                    <Items>
                        @foreach (var group in _groups)
                        {
                            <Tab Name="@GetNormalizedGroupName(group.Name)">
                                @if (group.Permissions.Any(x => x.IsGranted))
                                {
                                    <span>
                                        <b>@group.DisplayName ( @(group.Permissions.Count(x => x.IsGranted)) )</b>
                                    </span>
                                }
                                else
                                {
                                    <span>
                                        @group.DisplayName ( @(group.Permissions.Count(x => x.IsGranted)) )
                                    </span>
                                }
                            </Tab>
                        }
                    </Items>
                    <Content>
                        @foreach (var group in _groups)
                        {
                            <TabPanel Name="@GetNormalizedGroupName(group.Name)">
                                <h4>@group.DisplayName</h4>
                                
                                <Divider />
                                
                                <Field>
                                    <Check
                                        Disabled="@(IsPermissionGroupDisabled(group))"
                                        Checked="@(group.Permissions.All(x => x.IsGranted))"
                                        Cursor="Cursor.Pointer"
                                        CheckedChanged="@(b => GroupGrantAllChanged(b, group))"
                                        TValue="bool">
                                        @L["SelectAllInThisTab"]
                                    </Check>
                                </Field>

                                <Divider />
                                
                                @foreach (var permission in group.Permissions)
                                {
                                    <Field Style="@GetMarginStyle(group.Permissions, permission.ParentName)">
                                        <Check
                                            Disabled="@(IsDisabledPermission(permission))"
                                            Cursor="Cursor.Pointer"
                                            Checked="@permission.IsGranted"
                                            CheckedChanged="@(b => PermissionChanged(b, group, permission))"
                                            TValue="bool">
                                            @GetShownName(permission)
                                        </Check>
                                    </Field>
                                }
                                
                            </TabPanel>
                        }
                    </Content>
                </Tabs>
            }
        </ModalBody>
        <ModalFooter>
            <Button Color="Color.Secondary" Clicked="CloseModal">@L["Cancel"]</Button>
            <Button Color="Color.Primary" Clicked="SaveAsync">@L["Save"]</Button>
        </ModalFooter>
    </ModalContent>
</Modal>

@code{

    protected virtual string GetMarginStyle(List<Volo.Abp.PermissionManagement.PermissionGrantInfoDto> permissions, string currentParent)
    {
        var currentDepth = GetDepth(permissions, currentParent, 0);

        return $"margin-inline-start: {currentDepth * 20}px;";
    }

    private int GetDepth(List<Volo.Abp.PermissionManagement.PermissionGrantInfoDto> permissions, string currentParent, int currentDepth)
    {
        foreach (var item in permissions)
        {
            if (item.Name == currentParent)
            {
                currentDepth++;
                if (item.ParentName != null)
                {
                    currentDepth = GetDepth(permissions, item.ParentName, currentDepth);
                }

            }
        }

        return currentDepth;
    }

    protected override void PermissionChanged(bool value, PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
    {
        SetPermissionGrant(permission, value);

        if (value)
        {
            SetParentPermissionGrant(permissionGroup, permission);
        }
        else if (value == false)
        {
            var childPermissions = GetChildPermissions(permissionGroup, permission);

            foreach (var childPermission in childPermissions)
            {
                SetPermissionGrant(childPermission, false);
            }
        }
    }

    private void SetParentPermissionGrant(PermissionGroupDto permissionGroup, PermissionGrantInfoDto permission)
    {
        if(permission.ParentName == null)
        {
            return;
        }

        var parentPermission = GetParentPermission(permissionGroup, permission);
        SetPermissionGrant(parentPermission, true);

        SetParentPermissionGrant(permissionGroup, parentPermission);
        
    }

    private void SetPermissionGrant(PermissionGrantInfoDto permission, bool value)
    {
        if (permission.IsGranted == value)
        {
            return;
        }

        if (value)
        {
            _grantedPermissionCount++;
            _notGrantedPermissionCount--;
        }
        else
        {
            _grantedPermissionCount--;
            _notGrantedPermissionCount++;
        }

        permission.IsGranted = value;
    }
} 

Hi,

Ok, I can reproduce it now

Answer

Hi,

Can you share the full app error logs?

Hi,

I could not reproduce the problem.

Showing 2931 to 2940 of 6692 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 12, 2025, 10:20