Module: Bpluser::User::InstanceMethods
- Defined in:
- app/models/bpluser/user.rb
Overview
The following methods will be included in any active model object that calls “is_blacklight_user”
Instance Method Summary collapse
- #collections ⇒ Object
- #default_user_groups ⇒ Object
- #existing_folder_item_for(document_id) ⇒ Object
- #get_details_collection ⇒ Object
- #get_uploads_collection ⇒ Object
- #ldap_groups ⇒ Object
- #name ⇒ Object
- #populate_attributes ⇒ Object
- #superuser? ⇒ Boolean
- #to_s ⇒ Object
- #user_key ⇒ Object
Instance Method Details
#collections ⇒ Object
188 189 190 191 |
# File 'app/models/bpluser/user.rb', line 188 def collections query="rightsMetadata_edit_access_machine_person_t:#{uid} AND NOT title_t:Uploads AND NOT title_t:Details AND has_model_s:info\\:fedora/afmodel\\:DILCollection" ActiveFedora::SolrService.query(query, {:fl=>'id title_t'}) end |
#default_user_groups ⇒ Object
173 174 175 176 |
# File 'app/models/bpluser/user.rb', line 173 def default_user_groups # # everyone is automatically a member of the group 'public' #['public', 'test'] end |
#existing_folder_item_for(document_id) ⇒ Object
193 194 195 196 197 198 199 |
# File 'app/models/bpluser/user.rb', line 193 def existing_folder_item_for (document_id) self.folders.find do |fldr| fldr.folder_items.find do |fldr_itm| return fldr_itm if fldr_itm.document_id == document_id end end end |
#get_details_collection ⇒ Object
183 184 185 186 |
# File 'app/models/bpluser/user.rb', line 183 def get_details_collection query="rightsMetadata_edit_access_machine_person_t:#{uid} AND title_s:Details AND has_model_s:info\\:fedora/afmodel\\:DILCollection" ActiveFedora::SolrService.query(query, {:fl=>'id title_t'}) end |
#get_uploads_collection ⇒ Object
178 179 180 181 |
# File 'app/models/bpluser/user.rb', line 178 def get_uploads_collection query="rightsMetadata_edit_access_machine_person_t:#{uid} AND title_s:Uploads AND has_model_s:info\\:fedora/afmodel\\:DILCollection" ActiveFedora::SolrService.query(query, {:fl=>'id title_t'}) end |
#ldap_groups ⇒ Object
162 163 164 165 166 167 |
# File 'app/models/bpluser/user.rb', line 162 def ldap_groups #Hydra::LDAP.groups_for_user(username + ",dc=psu,dc=edu") #['archivist', 'admin_policy_object_editor'] Hydra::LDAP.groups_for_user(Net::LDAP::Filter.eq('samaccountname', self.username), ['memberOf']) { |result| result.first[:memberOf].select{ |y| y.starts_with? 'CN=' }.map{ |x| x.sub(/^CN=/, '').sub(/,OU=Private Groups,DC=private,DC=bpl,DC=org/, '').sub(/,OU=Distribution Lists/, '').sub(/,OU=Security Groups/, '') } } rescue [] end |
#name ⇒ Object
153 154 155 |
# File 'app/models/bpluser/user.rb', line 153 def name return self.username rescue self.display_name.titleize end |
#populate_attributes ⇒ Object
169 170 171 |
# File 'app/models/bpluser/user.rb', line 169 def populate_attributes end |
#superuser? ⇒ Boolean
201 202 203 |
# File 'app/models/bpluser/user.rb', line 201 def superuser? roles.where(name: 'superuser').exists? end |
#to_s ⇒ Object
149 150 151 |
# File 'app/models/bpluser/user.rb', line 149 def to_s self.username end |
#user_key ⇒ Object
157 158 159 |
# File 'app/models/bpluser/user.rb', line 157 def user_key send(Devise.authentication_keys.first) end |