[#5160] Allowing Profile Edit of Certain Tabs Only

9 years 1 month ago - 9 years 1 month ago #260080 by korireed
Hello,

I'm using the latest versions of Joomla!, CB, CB Privacy, and CB Conditionals.

I want to allow certain users on my website edit access to profiles to edit a specific tab only, without permitting them to update other tabs (such as the system Canvas tab).


No matter how I attempt to do this it seems these plugins have no backend effect if the person is a full blown moderator.

Per my understanding, if I throw someone into Moderators they'll have access to edit the profile (like I want) but will be able to edit all tabs in the profile (not what I want).


Is there some way to achieve what I'm looking for using permissions and these plugins?


Any suggestions greatly appreciated!

Please Log in to join the conversation.

9 years 1 month ago #260092 by krileon
Replied by krileon on topic Allowing Profile Edit of Certain Tabs Only
Install CB Privacy, edit your tabs you don't want to have an edit display in CB > Tab Management, then under Integrations > CB Privacy set "Edit Display" to "No edit display at all". You can also set various tabs to "Moderators only edit display" if you only want moderators to edit certain fields on frontend.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

9 years 1 month ago #260105 by korireed
Replied by korireed on topic Allowing Profile Edit of Certain Tabs Only
Thanks, krileon!

When I do this the plugin makes it apparent to me that the setting does not affect moderators.

So I have two levels of moderators.
Level 2 should have full profile edit access to users, Level 1 should only have access to certain tabs.

What I basically want to do is be able to hide profile tabs from Level 1 moderators and prevent the moderators from being able to access/edit those tabs. Level 2 can edit all tabs as they should be able to.

Another part of my problem which I did not make clear at all (my mistake) is that I want to hide a particular tab on profile edit after a hidden field on the profile has been changed from empty to a value of 1. When I try to set this with CB Conditionals it never affects the backend tab (moderators always see it).

Please Log in to join the conversation.

9 years 1 month ago #260119 by krileon
Replied by krileon on topic Allowing Profile Edit of Certain Tabs Only
"No edit display at all" should hide from moderators as well. As moderator only edit is a separate privacy rule. Means the two are basically behaving the same. So that'd be a bug. Have created a bug ticket to fix for next release.

forge.joomlapolis.com/issues/5160

Another part of my problem which I did not make clear at all (my mistake) is that I want to hide a particular tab on profile edit after a hidden field on the profile has been changed from empty to a value of 1. When I try to set this with CB Conditionals it never affects the backend tab (moderators always see it).

You can't use a dynamic condition for that as it can't find the field for its value. You need to use a Custom Value and substitute in the field so it's a static condition.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

9 years 1 month ago #260127 by korireed
Okay - glad to know it's a bug and happy to help find it.

I wasn't entirely certain I understood what your explanation meant. So I reevaluated the problem and found a partial solution (enough to solve my current issue).

For those who might find it helpful:

PROBLEM
I have two levels of "moderators" that I wish to be able to edit user profiles. The reason is that new user registrations must be approved, and there's an "interview process" that they go through. The first level moderators need to be able to edit the profiles of these "pending users" to fill out the "interview form". They should only have access to their part of the interview form and no other parts of the profile. The same goes for the second level moderators (access their form but not edit any other part of profile). When moderators view the profile of pending users they'll see a special tab which displays the saved information from the "interview" that has been entered.

PARTIAL SOLUTION
CB Conditional has the ability to display/hide tabs based upon usergroups. I made a new usergroup called "Applicant" which holds all new user registrations. Under this group are the two moderator groups, which we will call "Level 1" and "Level 2" for this post. Level 1 and Level 2 are children of Applicant (but not each other). The Registered group is where the members reside, which is a child of Public. See the following for clarification:

Public
...|- Applicant
.......|- Level 1
.......|- Level 2
...|- Registered
...|- Guest
...|- Super Users

[periods used to ensure alignment, consider them spaces]

The special application tab (viewable on front end) contains only Custom HTML fields that read and display data from editable fields stored on restricted tabs. These other tabs are only viewable in the profile edit screen, and only by certain usergroups. The usergroups that can see these tabs are moderators (albeit separate levels). This allows Level 1 moderators to only access their tab while Level 2 can only see theirs.

Level 1, Level 2 and Super Users groups are included in an Access Level called Moderators. This AL is assigned in CB as the Moderators View Access Level in configuration. Level 1 and Level 2 have access to edit user profiles for those in Applicant, however they cannot edit each other as they're on the same level. They also cannot edit Registered as it is outside of their scope (this is desired).

The "partial" in the solution comes in here. They have full edit access to members in Applicant. In profile edit they have full access to all default tabs (Canvas, About, Portrait) plus their special tab. It was desired to have those default tabs hidden on profile edit so that they cannot change this information.

It was definitely possible to hide these tabs using CB Conditional. I could easily set it to "hide on profile edit if usergroups contains Applicant". However, as moderators are children of Applicant (so that they have edit privileges) it also hides their tabs rendering it impossible to edit their profiles (not desired).

HOPEFUL
I'm hopeful there's some way I can rig this to make it work 100% as desired. These plugins are incredibly powerful, it's just a matter of figuring out exactly what combination works. Any further insight would be helpful, but if not you may feel free to mark this as solved.

Please Log in to join the conversation.

9 years 1 month ago #260145 by krileon
CB Conditional ignores moderators when doing its conditions as it needs to be able to show/hide as configured. So CB Conditional is probably your best bet to chain things together. You maybe able to just hide the tab using CB Conditional from Level 1 or Level 2 as needed. As it can hide from view access level instead of just usergroup you'd create a view access level with Level 1 and Level 2 then if the view access level is equal to the selected then hide.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.248 seconds

Facebook Twitter LinkedIn