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
- #email_not_required? ⇒ Boolean
- #existing_folder_item_for(document_id) ⇒ Object
- #get_details_collection ⇒ Object
- #get_uploads_collection ⇒ Object
- #ldap_groups ⇒ Object
- #name ⇒ Object
- #permanent_account? ⇒ Boolean
- #populate_attributes ⇒ Object
- #superuser? ⇒ Boolean
- #to_s ⇒ Object
- #user_key ⇒ Object
Instance Method Details
#collections ⇒ Object
183 184 185 186 |
# File 'app/models/bpluser/user.rb', line 183 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
168 169 170 171 |
# File 'app/models/bpluser/user.rb', line 168 def default_user_groups # # everyone is automatically a member of the group 'public' #['public', 'test'] end |
#email_not_required? ⇒ Boolean
204 205 206 207 208 209 |
# File 'app/models/bpluser/user.rb', line 204 def email_not_required? if self.provider != 'digital_stacks_temporary' and self.provider != 'polaris' return true end return false end |
#existing_folder_item_for(document_id) ⇒ Object
188 189 190 191 192 193 194 |
# File 'app/models/bpluser/user.rb', line 188 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
178 179 180 181 |
# File 'app/models/bpluser/user.rb', line 178 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
173 174 175 176 |
# File 'app/models/bpluser/user.rb', line 173 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
157 158 159 160 161 162 |
# File 'app/models/bpluser/user.rb', line 157 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
148 149 150 |
# File 'app/models/bpluser/user.rb', line 148 def name return self.username rescue self.display_name.titleize end |
#permanent_account? ⇒ Boolean
200 201 202 |
# File 'app/models/bpluser/user.rb', line 200 def permanent_account? return self.provider != 'digital_stacks_temporary' end |
#populate_attributes ⇒ Object
164 165 166 |
# File 'app/models/bpluser/user.rb', line 164 def populate_attributes end |
#superuser? ⇒ Boolean
196 197 198 |
# File 'app/models/bpluser/user.rb', line 196 def superuser? roles.where(name: 'superuser').exists? end |
#to_s ⇒ Object
144 145 146 |
# File 'app/models/bpluser/user.rb', line 144 def to_s self.username end |
#user_key ⇒ Object
152 153 154 |
# File 'app/models/bpluser/user.rb', line 152 def user_key send(Devise.authentication_keys.first) end |