@ -13,13 +13,16 @@ class DataProtectionConfirmationBannerComponent < ViewComponent::Base
def display_banner?
def display_banner?
return false if user . support? && organisation . blank?
return false if user . support? && organisation . blank?
return true if org_without_dpo?
return true if org_without_dpo?
return false if ! org_or_user_org . holds_own_stock? && org_or_user_org . stock_owners . empty? && org_or_user_org . absorbed_organisations . empty?
! org_or_user_org . data_protection_confirmed ?
! org_or_user_org . organisation_or_stock_owner_signed_dsa_and_holds_own_stock ?
end
end
def header_text
def header_text
if org_without_dpo?
if org_without_dpo?
" To create logs your organisation must state a data protection officer. They must sign the Data Sharing Agreement. "
" To create logs your organisation must state a data protection officer. They must sign the Data Sharing Agreement. "
elsif ! org_or_user_org . holds_own_stock?
" Your organisation does not own stock. To create logs your stock owner(s) must accept the Data Sharing Agreement on CORE. "
elsif user . is_dpo?
elsif user . is_dpo?
" Your organisation must accept the Data Sharing Agreement before you can create any logs. "
" Your organisation must accept the Data Sharing Agreement before you can create any logs. "
else
else
@ -28,7 +31,7 @@ class DataProtectionConfirmationBannerComponent < ViewComponent::Base
end
end
def banner_text
def banner_text
if org_without_dpo? || user . is_dpo?
if org_without_dpo? || user . is_dpo? || ! org_or_user_org . holds_own_stock?
govuk_link_to (
govuk_link_to (
link_text ,
link_text ,
link_href ,
link_href ,
@ -50,13 +53,21 @@ private
def link_text
def link_text
if dpo_required?
if dpo_required?
" Contact helpdesk to assign a data protection officer "
" Contact helpdesk to assign a data protection officer "
elsif ! org_or_user_org . holds_own_stock?
" View or add stock owners "
else
else
" Read the Data Sharing Agreement "
" Read the Data Sharing Agreement "
end
end
end
end
def link_href
def link_href
dpo_required? ? GlobalConstants :: HELPDESK_URL : data_sharing_agreement_organisation_path ( org_or_user_org )
if dpo_required?
GlobalConstants :: HELPDESK_URL
elsif ! org_or_user_org . holds_own_stock?
stock_owners_organisation_path ( org_or_user_org )
else
data_sharing_agreement_organisation_path ( org_or_user_org )
end
end
end
def dpo_required?
def dpo_required?