Developer Question: Visibility
@LeonidS my friend, I am hoping you may know the answer to this.
Is there anyway I can restrict Visibility.
Example. Say I do not want Polls to have Group visibility, so when adding a new poll under Visibility, my groups do not show up.
Is there a way in studio? Database? Custom class overrides?
How can I accomplish this?
Thank you UNA!
- 
    
    - · Corey Dozier
- ·
 Does the settings in Settings >> General >> "Hide post to context for modules in Privacy field" do what you need? 
- 
    
    - · Wise
- ·
 That would exclude all content into that comtext. If I select Groups, then posting videos, etc would not show on the form for video, etc. I'm looking for a more fine grain way of removing some but not all. I have no issue recoding, just need pointed in the direction where these checks are done, where the select box is populated at. 
- 
    
    - · Corey Dozier
- ·
 I have some forms on my site that I hide categories in this way. I use the following Javascript to hide specific options, including the "friends," "me only," etc. <script language="javascript"> const aVars = ['GROUPS']; aVars.forEach(reduce_vars); function reduce_vars (sItem) { $(".sys-privacy-group").children().remove('optgroup[label=' + sItem + ']'); } $(".sys-privacy-group option[value=2]").remove(); $(".sys-privacy-group option[value=3]").remove(); $(".sys-privacy-group option[value=5]").remove(); $(".sys-privacy-group option[value=6]").remove(); $(".sys-privacy-group option[value=7]").remove(); $(".sys-privacy-group option[value=8]").remove(); $(".sys-privacy-group option[value=9]").remove(); $(".sys-privacy-group option[value=c]").remove(); $(".sys-privacy-group option[value=s]").remove(); </script>That kind of what you are looking for? 
- 
    
    - · Wise
- ·
 I will look into that, I don't like using client side unless I absolutely have to, plus, it would change per person, etc. I will do some digging, I'd like to find the code in the core, and add what I need. @Corey Dozier again, thank you for the suggestions. 
- 
    
    - 
     · 
    
        LeonidS
    
- 
     · 
    
     In reply to Wise  
- ·
 Hello @Wise ! Yes, the solution by @Corey Dozier is in the right direction (thnx, mate!) - the JS variant is the simplest solution to get rid off the unnecessary variant(s) in the VIsiblity field. 
- 
     · 
    
        LeonidS
    
- 
    
    - 
     · 
    
        Anton L
    
- ·
 Hello. If it's OK for you to write some custom code and make some changes in DB: INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES ('bx_polls_allow_view_to', 'bx_polls', 'view', '_bx_polls_form_entry_input_allow_view_to', '3', 'bx_polls_entries', 'id', 'author', '', ''); It's privacy object for "Visible to" field in polls. You may use custom class/file here `override_class_name`, `override_class_file`. For now, you may even put the class in the polls/classes/ folder and it won't be overwritten untill UNA decides to do the same in core. Then you need to overwrite 'addSpaces' method in your class. public function addSpaces($aValues, $iOwnerId, $aParams) It's used to add contexts in the list. Something similar you may find in Timeline BxTimelinePrivacy class. Good luck! 
- 
     · 
    
        Anton L
    
- 
    
    - · Wise
- ·
 @Anton L thank you! I will look through the database and code, just needed the direction. 
- 
    
    - 
     · 
    
        Anton L
    
- ·
 You are welcome!🙏 
- 
     · 
    
        Anton L
    
 
            
            
        