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

Instance Method Details

#collectionsObject



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_groupsObject



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_collectionObject



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_collectionObject



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_groupsObject



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

#nameObject



153
154
155
# File 'app/models/bpluser/user.rb', line 153

def name
  return self.username rescue self.display_name.titleize
end

#populate_attributesObject



169
170
171
# File 'app/models/bpluser/user.rb', line 169

def populate_attributes

end

#superuser?Boolean

Returns:

  • (Boolean)


201
202
203
# File 'app/models/bpluser/user.rb', line 201

def superuser?
  roles.where(name: 'superuser').exists?
end

#to_sObject



149
150
151
# File 'app/models/bpluser/user.rb', line 149

def to_s
  self.username
end

#user_keyObject



157
158
159
# File 'app/models/bpluser/user.rb', line 157

def user_key
  send(Devise.authentication_keys.first)
end