Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Individual invisibility of menu items for a subset of based-on users #1734

Closed
oleh-maikovych opened this issue Sep 1, 2021 · 0 comments · Fixed by #1740
Closed

Individual invisibility of menu items for a subset of based-on users #1734

oleh-maikovych opened this issue Sep 1, 2021 · 0 comments · Fixed by #1740

Comments

@oleh-maikovych
Copy link
Contributor

oleh-maikovych commented Sep 1, 2021

Description

In TG-based applications base users (aka profile users) determine what module menu items are visible to their based-on user. All module menu items are visible by default and base users need to explicitly uncheck menu items for them to become invisible -- invisible for all of their based-on users.

There are situation where a more find grained control is required, where it is necessary to "hide" some menu items for a subset of based-on users that are based on the same base user. This can be achieved by enhancing the current mechanism to introducing "exclusions" to the rule of "all based-on users see everything that their base users did not mark a invisible". Effectively, it should be possible for a base user to specify who of their based-on users should be excluded from the "visibility" of a menu item (i.e., no simply "all").

From the UI interaction point of view, there should be an action on the righthand side of the visibility checkbox, available for each module menu item and visible only to base users. This action should open a master with a collectional property editor, listing all users based on the current base user. The base user can use this master to specify users who should not see a menu item by unselecting them from the list.

image

The algorithm for determining what menu items are visible for a based-on user should be enhanced to take into account the menu invisibility information for both the base user (as presently) and the individual based-on user.

If a based-on user is rebased to a different base user, they should inherit the menu visibility from that user, and all their existing individual exclusions should be removed.

Expected outcome

Flexible mechanism for configuring visibility of menu items for individual based-on users by extending the current approach with based-on users.

@oleh-maikovych oleh-maikovych self-assigned this Sep 1, 2021
oleh-maikovych added a commit that referenced this issue Sep 1, 2021
…r base user and specific one. Also Implemented logic that determines visible and not visible group menu items
@01es 01es modified the milestones: v.1.4.5 M14, v.1.4.5 M15 Sep 2, 2021
@01es 01es changed the title Visibility of menu items for specific non base users should be controlled individually by base user Individual invisibility of menu items for a subset based-on users Sep 2, 2021
oleh-maikovych added a commit that referenced this issue Sep 2, 2021
… entries for non base user that changes it's base user
oleh-maikovych added a commit that referenced this issue Sep 2, 2021
…r specific users. Also added producer and controller for this entity
oleh-maikovych added a commit that referenced this issue Sep 3, 2021
…s the master with available users to make menu item invisible for them. Implemented save and producer for that master.
oleh-maikovych added a commit that referenced this issue Sep 6, 2021
…ed from the list of users those see specific menu item
oleh-maikovych added a commit that referenced this issue Sep 7, 2021
oleh-maikovych added a commit that referenced this issue Sep 8, 2021
… invisibility menu items in case if base user has made some menu items invisible for all based on users.
oleh-maikovych added a commit that referenced this issue Sep 8, 2021
…entities in the iron-list when it arrives.
oleh-maikovych added a commit that referenced this issue Sep 9, 2021
… item invisibility for new non base and active users + unit tests
@01es 01es modified the milestones: v.1.4.5 M14, v.1.4.5 M15 Sep 22, 2021
01es added a commit that referenced this issue Nov 25, 2021
# Conflicts:
#	platform-dao/src/main/java/ua/com/fielden/platform/security/user/UserDao.java
01es added a commit that referenced this issue Nov 25, 2021
01es added a commit that referenced this issue Nov 25, 2021
This results in users being displayed in the collectional editor in the alphabetical order.
01es added a commit that referenced this issue Nov 25, 2021
…cess the fetch model.

The default fetch models can be accessed statically, which is a simple and the preferred approach.
@01es 01es changed the title Individual invisibility of menu items for a subset based-on users Individual invisibility of menu items for a subset of based-on users Dec 1, 2021
01es added a commit that referenced this issue Dec 2, 2021
01es added a commit that referenced this issue Dec 2, 2021
01es added a commit that referenced this issue Dec 2, 2021
Static fields for error messages should start with ERR_;
The nomenclature is "based on" users as opposed to "non base" users.
01es added a commit that referenced this issue Dec 2, 2021
01es added a commit that referenced this issue Dec 2, 2021
01es added a commit that referenced this issue Dec 2, 2021
@01es 01es closed this as completed in #1740 Dec 2, 2021
01es added a commit that referenced this issue Dec 2, 2021
@01es 01es removed the Pull request label Dec 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants