Skip to content

Commit

Permalink
Provide access for symws to get proxy email
Browse files Browse the repository at this point in the history
  • Loading branch information
mejackreed committed Aug 19, 2020
1 parent 054a589 commit c07a16f
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 3 deletions.
18 changes: 18 additions & 0 deletions app/models/group.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# frozen_string_literal: true

# Class to model Research group information
class Group < Patron

def sponsor
members.find(&:sponsor?)
end

private

def members
@members ||= begin
members = fields.dig('groupSettings', 'fields', 'group', 'fields', 'memberList') || []
members.map { |member| Patron.new(member) }
end
end
end
11 changes: 11 additions & 0 deletions app/models/patron.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,15 @@ def expired_date
Time.zone.parse(fields['privilegeExpiresDate']) if fields['privilegeExpiresDate']
end

def proxy?
fields.dig('groupSettings', 'fields', 'responsibility', 'key') == 'PROXY'
end

def sponsor?
fields.dig('groupSettings', 'fields', 'responsibility', 'key') == 'SPONSOR'
end

def group
@group ||= Group.new(record)
end
end
2 changes: 1 addition & 1 deletion app/models/request.rb
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ def proxy?
end

def notification_email_address
return user.proxy_access.email_address if proxy? && user.proxy_access.email_address.present?
return user.patron.group.sponsor.email if proxy? && user&.patron&.group&.sponsor&.email&.present?

user.email_address
end
Expand Down
2 changes: 1 addition & 1 deletion app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class User < ActiveRecord::Base
attr_writer :ldap_group_string, :affiliation
attr_accessor :ip_address

delegate :proxy?, :sponsor?, to: :proxy_access
delegate :proxy?, :sponsor?, to: :patron

def to_email_string
if name.present?
Expand Down
2 changes: 1 addition & 1 deletion app/services/symphony_client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ def patron_info(patron_key)
'address1',
'profile{chargeLimit}',
'customInformation{*}',
'groupSettings{*,group{memberList{*}}}'
'groupSettings{*,group{memberList{*,address1}}}'
].join(',')
})

Expand Down

0 comments on commit c07a16f

Please sign in to comment.