Skip to content

Commit

Permalink
Merge pull request #1163 from sparc-request/jm-email-requester-bug
Browse files Browse the repository at this point in the history
JM- (SPARCRequest) Email "Requester" Column Feature [#151517872]
  • Loading branch information
Stuart-Johnson committed Nov 2, 2017
2 parents 2b044e4 + d7a31f0 commit 309e3b0
Show file tree
Hide file tree
Showing 14 changed files with 131 additions and 90 deletions.
12 changes: 1 addition & 11 deletions app/mailers/notifier.rb
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,10 @@ def notify_user(project_role, service_request, ssr, approval, user_current, audi
@role = project_role.role
@full_name = @identity.full_name
@audit_report = audit_report

@service_requester_id = service_requester_id(@service_request, deleted_ssrs)
@portal_link = Setting.find_by_key("dashboard_link").value + "/protocols/#{@protocol.id}"

if admin_delete_ssr
@ssrs_to_be_displayed = [deleted_ssrs]
@ssrs_to_be_displayed = [@deleted_ssrs]
else
@ssrs_to_be_displayed = individual_ssr ? [ssr] : @service_request.sub_service_requests
end
Expand Down Expand Up @@ -91,8 +89,6 @@ def notify_admin(submission_email_address, user_current, ssr, audit_report=nil,

@role = 'none'
@full_name = submission_email_address

@service_requester_id = service_requester_id(@service_request, ssr)
@ssrs_to_be_displayed = [ssr]

@portal_link = Setting.find_by_key("dashboard_link").value + "/protocols/#{@protocol.id}"
Expand All @@ -119,8 +115,6 @@ def notify_service_provider(service_provider, service_request, user_current, ssr

@role = 'none'
@full_name = service_provider.identity.full_name

@service_requester_id = service_requester_id(@service_request, ssr)
@audit_report = audit_report

@portal_link = Setting.find_by_key("dashboard_link").value + "/protocols/#{@protocol.id}"
Expand Down Expand Up @@ -318,8 +312,4 @@ def email_title(status, protocol, ssr)
t('mailer.email_title.general', email_status: email_status, type: "Protocol", id: protocol.id)
end
end

def service_requester_id(service_request, deleted_ssr)
service_request.sub_service_requests.first.present? ? service_request.sub_service_requests.first.service_requester_id : AuditRecovery.where(auditable_id: deleted_ssr.id, auditable_type: 'SubServiceRequest', action: 'destroy').first.audited_changes['service_requester_id']
end
end
5 changes: 4 additions & 1 deletion app/views/notifier/_deleted_srid_information.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,20 @@
%table.table{cellpadding: 3}
%thead
%tr.skinny-black-border
%td{:colspan => 2}
%td{:colspan => 3}
%strong= t(:notifier)[:srid_info]
%tr
%th.skinny-black-border= t(:notifier)[:sr_id_acronym]
%th.skinny-black-border= t(:notifier)[:organization]
%th.skinny-black-border= t(:notifier)[:requester]
%tbody
- @ssrs_to_be_displayed.each do |ssr|
%tr.skinny-black-border
%td.skinny-black-border.center
%strike= ssr.display_id
%td.skinny-black-border.center
%strike= ssr.org_tree_display
%td.skinny-black-border.center
%strike= ssr.service_requester.try(&:full_name) || 'N/A'
%br
%br
2 changes: 2 additions & 0 deletions app/views/notifier/_srid_information.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
%th.skinny-black-border= t(:notifier)[:sr_id_acronym]
%th.skinny-black-border= t(:notifier)[:organization]
%th.skinny-black-border= t(:notifier)[:status]
%th.skinny-black-border= t(:notifier)[:requester]
%tbody
- @ssrs_to_be_displayed.each do |ssr|
- link = Setting.find_by_key("dashboard_link").value + '/sub_service_requests/' + ssr.id.to_s
Expand All @@ -38,5 +39,6 @@
%td.skinny-black-border.center= ssr.display_id
%td.skinny-black-border.center= ssr.org_tree_display
%td.skinny-black-border.center= PermissibleValue.get_value('status', ssr.reload.status)
%td.skinny-black-border.center= ssr.service_requester.try(&:full_name) || 'N/A'
%br
%br
7 changes: 2 additions & 5 deletions app/views/notifier/_user_information.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,8 @@
- @protocol.project_roles.each do |pr|
%tr.skinny-black-border
%td.skinny-black-border.center= pr.identity.full_name
%td.skinny-black-border.center= pr.identity.email
- if pr.identity.id == @service_requester_id
%td.skinny-black-border.center= pr.role.titleize + " " + t(:notifier)[:requester]
- else
%td.skinny-black-border.center= pr.role.titleize
%td.skinny-black-border.center= pr.identity.email
%td.skinny-black-border.center= pr.role.titleize
- if @protocol.selected_for_epic
%td.skinny-black-border.center= pr.epic_access == true ? "Yes" : "No"
%br
Expand Down
2 changes: 1 addition & 1 deletion config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1528,7 +1528,7 @@ en:
proxy: "Proxy Rights:"
request_amendment: "Request Amendment"
request_amendment_intro: "Services have been added or deleted in SPARCRequest and is awaiting your review in"
requester: "(Requester)"
requester: "Requester"
role: "Role"
s_name: "Sponsor Name"
service: "Service"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@
RSpec.describe Dashboard::SubServiceRequestsController do
describe 'DELETE #destroy' do
before :each do
service_requester = create(:identity)
@logged_in_user = create(:identity)
log_in_dashboard_identity(obj: @logged_in_user)

@protocol = create(:protocol_federally_funded, type: 'Study', primary_pi: @logged_in_user)
@service_request = create(:service_request_without_validations, protocol: @protocol)
@organization = create(:organization)
@sub_service_request = create(:sub_service_request_without_validations, service_request: @service_request, organization: @organization, protocol_id: @protocol.id)
@sub_service_request = create(:sub_service_request_without_validations, service_request: @service_request, organization: @organization, protocol_id: @protocol.id, service_requester: service_requester)
end

#####AUTHORIZATION#####
Expand Down
15 changes: 8 additions & 7 deletions spec/lib/notifier_logic/ssr_deletion_emails_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,23 @@
context '#ssr_deletion_emails(ssr, ssr_destroyed: true, request_amendment: false) for an entire SR' do
context 'deleted an entire SSR' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
@org2 = create(:organization_with_process_ssrs)
@org2 = create(:organization_with_process_ssrs)
### ADMIN EMAIL ###
@org2.submission_emails.create(email: 'hedwig@owlpost.com')
@admin_email = 'hedwig@owlpost.com'
service = create(:service, organization: @org, one_time_fee: true)
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
service = create(:service, organization: @org, one_time_fee: true)
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
@ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc)
@ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: @ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: ssr2, service: service)
li = create(:line_item, service_request: @sr, sub_service_request: @ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: ssr2, service: service)
@service_provider = create(:service_provider, identity: logged_in_user, organization: @org2)
### DELETE LINE ITEM WHICH IN TURNS DELETES SSR ###
# mimics the service_requests_controller remove_service method
Expand Down
35 changes: 21 additions & 14 deletions spec/lib/notifier_logic/update_ssrs_and_send_emails_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
context '#update_ssrs_and_send_emails for an entire SR' do
context 'create a new SR with all new services' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -52,8 +53,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: nil)
### SSR SETUP ###
@ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, submitted_at: nil)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, submitted_at: nil)
@ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, submitted_at: nil, service_requester: service_requester)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, submitted_at: nil, service_requester: service_requester)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: @ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: @ssr2, service: service)
Expand Down Expand Up @@ -119,6 +120,7 @@

context 'deleted an entire SSR and resubmit SR' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -130,8 +132,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc)
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: ssr2, service: service)
Expand Down Expand Up @@ -206,6 +208,7 @@

context 'added a service to a new SSR, then delete that same service which destroys that SSR and resubmit SR' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -216,8 +219,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: nil, submitted_at: nil)
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: nil, submitted_at: nil, service_requester: service_requester)
@ssr2.update_attribute(:status, 'draft')
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: ssr, service: service)
Expand Down Expand Up @@ -284,6 +287,7 @@

context 'added a service to a new SSR and resubmit SR' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -295,8 +299,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'draft', submitted_at: nil)
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'draft', submitted_at: nil, service_requester: service_requester)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: @ssr2, service: service)
Expand Down Expand Up @@ -367,6 +371,7 @@

context 'previously submitted ssr that has added services' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -378,8 +383,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc)
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: @ssr2, service: service)
Expand Down Expand Up @@ -452,6 +457,7 @@

context 'previously submitted ssr that has deleted services' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -464,8 +470,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc)
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: @ssr2, service: service)
Expand Down Expand Up @@ -544,6 +550,7 @@

context 'previously submitted SSR (existing SSR) that has added and deleted services' do
before :each do
service_requester = create(:identity)
### SR SETUP ###
### PREVIOUSLY SUBMITTED SSR ###
@org = create(:organization_with_process_ssrs)
Expand All @@ -554,8 +561,8 @@
protocol = create(:protocol_federally_funded, primary_pi: logged_in_user, type: 'Study')
@sr = create(:service_request_without_validations, protocol: protocol, submitted_at: Time.now.yesterday.utc)
### SSR SETUP ###
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc)
ssr = create(:sub_service_request_without_validations, service_request: @sr, organization: @org2, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
@ssr2 = create(:sub_service_request_without_validations, service_request: @sr, organization: @org, status: 'submitted', submitted_at: Time.now.yesterday.utc, service_requester: service_requester)
### LINE ITEM SETUP ###
li = create(:line_item, service_request: @sr, sub_service_request: ssr, service: service)
li_1 = create(:line_item, service_request: @sr, sub_service_request: @ssr2, service: service)
Expand Down

0 comments on commit 309e3b0

Please sign in to comment.