Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ module AuthorizationRequestsManagement

def show
@authorization_request = extract_authorization_request
@main_token = @authorization_request.token.decorate
@other_tokens = @authorization_request.tokens.where.not(id: @main_token.id).decorate
@tokens = @authorization_request.tokens.order(created_at: :desc).decorate
load_delegations_data

render 'shared/authorization_requests/show'
Expand All @@ -22,7 +21,7 @@ def index
.viewable_by_users
.order(
first_submitted_at: :desc
).includes(:active_token)
).includes(:user_authorization_request_roles)

render 'shared/authorization_requests/index'
end
Expand Down
42 changes: 23 additions & 19 deletions site/app/lib/seeds.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
class Seeds
def perform
@user_email = 'user@yopmail.com'
@user = create_main_user

@contact_email = 'contact_technique@yopmail.com'
@contact = create_contact

create_users
create_editor
create_provider_user
create_api_entreprise_admin
Expand Down Expand Up @@ -51,6 +46,7 @@ def create_data_for_api_entreprise
create_api_entreprise_token_blacklisted
create_api_entreprise_token_expired
create_api_entreprise_authorization_refused
create_api_entreprise_contact_technique_only
end

def create_data_for_api_particulier
Expand All @@ -63,20 +59,12 @@ def create_data_shared
create_magic_link
end

def create_main_user
create_user(
email: @user_email,
first_name: 'Jean',
last_name: 'Dupont'
)
end
def create_users
@user_email = 'user@yopmail.com'
@user = create_user(email: @user_email, first_name: 'Jean', last_name: 'Dupont')

def create_contact
create_user(
email: @contact_email,
first_name: 'Justine',
last_name: 'Martin'
)
@contact_email = 'contact_technique@yopmail.com'
@contact = create_user(email: @contact_email, first_name: 'Justine', last_name: 'Martin')
end

def create_editor
Expand Down Expand Up @@ -230,6 +218,22 @@ def create_api_entreprise_authorization_refused
)
end

def create_api_entreprise_contact_technique_only
create_token(
@scopes_entreprise.sample(3),
'entreprise',
demandeur: @contact,
contact_technique: @user,
authorization_request_params: {
intitule: 'Mairie de Nantes',
external_id: 107,
status: :validated,
validated_at: 1.month.ago,
first_submitted_at: 1.month.ago
}
)
end

def create_api_particulier_token_valid
create_token(
@scopes_particulier,
Expand Down
2 changes: 1 addition & 1 deletion site/app/models/authorization_request.rb
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def self.ransackable_associations(_)
scope :archived, -> { where(status: 'archived') }
scope :eligible_for_token_creation, -> { where.not(validated_at: nil).where.not(status: %w[archived revoked]) }
scope :for_api, ->(api) { where(api:) }
scope :viewable_by_users, -> { where('status in (?) or validated_at is not null', %w[archived revoked validated]) }
scope :viewable_by_users, -> { where('(status in (?) or validated_at is not null) and status != ?', %w[archived revoked validated], 'refused') }

def token
active_token || most_recent_token
Expand Down
85 changes: 29 additions & 56 deletions site/app/views/shared/authorization_requests/index.html.erb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<div class="fr-container">
<div class="fr-grid-row">
<div class="fr-col-12">
<%= link_to t('.links.profile'), user_profile_path, class: %w(fr-link fr-icon-account-fill fr-link--icon-left fr-text--lg pull-right fr-mb-2w ) %>
<%= link_to t('.links.profile'), user_profile_path, class: %w(fr-link fr-icon-account-fill fr-link--icon-left fr-text--lg pull-right fr-mb-2w) %>
</div>
<div class="fr-col-12">
<h1 class="fr-h1 fr-mb-4w">
Expand All @@ -13,63 +13,36 @@
</h1>
</div>
</div>
<div class="fr-row">
<div class="fr-col-12">
<div class="fr-container fr-container--bordered fr-p-0">
<div class="fr-grid-row fr-p-4v fr-grid-row--middle fr-grid-row--gutters">
<div class="fr-col-12 fr-col-sm-3">
<strong><%= t('.table.head.authorization_request') %></strong>
</div>
<div class="fr-col-12 fr-col-sm-4">
<strong><%= t('.table.head.token') %></strong>
</div>
<div class="fr-col-12 fr-col-sm">
<strong><%= t('.table.head.actions') %></strong>
</div>
<div class="fr-col-12 fr-col-sm">
<strong><%= t('.table.head.detail') %></strong>
</div>
</div>
<% @authorization_requests.each do |authorization_request| %>
<div id="<%= dom_id(authorization_request) %>" class="fr-grid-row fr-grid-row--gutters fr-grid-row--middle fr-p-4v">
<div class="fr-col-12 fr-col-sm-3">
<h2 class="fr-h6 fr-mb-0"><%= authorization_request.intitule %></h2>
<%= authorization_request_status_badge(authorization_request) %>
<span class="fr-hint-text">
<%= link_to t('.links.to_datapass', external_id: authorization_request.external_id).html_safe,
datapass_authorization_request_url(authorization_request),
id: dom_id(authorization_request, :authorization_request_link),
class: %w(fr-link fr-text--sm fr-mt-2v),
target: '_blank'
%>
</span>
<span class="fr-text--xs"><span class="fr-icon-user-fill fr-icon--xs fr-pr-1v" aria-hidden="true"></span>Vous êtes
<%= authorization_request.user_authorization_request_roles.for_user(@current_user).map { |uarr|
I18n.t("user_authorization_request_roles.role.#{uarr.role}")
}.join(', ')
%>
</span>
</div>
<div class="fr-col-12 fr-col-sm-4">
<% displayed_tokens = authorization_request.tokens.active.to_a %>
<% displayed_tokens = [authorization_request.token].compact if displayed_tokens.empty? %>
<% displayed_tokens.each_with_index do |token, index| %>
<div id="<%= dom_id(token) %>" class="<%= 'fr-pt-6v' if index.positive? %>">
<%= render partial: 'shared/tokens/detail_short', locals: { token: token.decorate } %>
</div>
<% end %>
</div>
<div class="fr-col-12 fr-col-sm">
<% authorization_request_expected_actions(authorization_request, current_user).each do |action| %>
<%= render partial: "shared/authorization_requests/actions/#{action[:action]}", locals: { label: action[:label], authorization_request:, to_datapass_reopen: action[:to_datapass_reopen] } %>
<% end %>
</div>
<div class="fr-col-12 fr-col-sm">
<%= link_to "Plus d'informations", authorization_request_path(authorization_request), class: %w[fr-btn fr-btn--tertiary center] %>
<div class="fr-grid-row fr-grid-row--gutters">
<% @authorization_requests.each do |authorization_request| %>
<div class="fr-col-12 fr-col-md-6 fr-col-lg-4">
<div id="<%= dom_id(authorization_request) %>" class="fr-card fr-enlarge-link">
<div class="fr-card__body">
<div class="fr-card__content">
<h2 class="fr-card__title">
<%= link_to authorization_request.intitule, authorization_request_path(authorization_request) %>
</h2>
<p class="fr-card__desc">
<%= t('.links.to_datapass', external_id: authorization_request.external_id).html_safe %>
</p>
<div class="fr-card__start">
<ul class="fr-badges-group">
<li>
<%= authorization_request_status_badge(authorization_request) %>
</li>
</ul>
</div>
<div class="fr-card__end">
<p class="fr-card__detail fr-icon-user-line">
<%= authorization_request.user_authorization_request_roles.select { |uarr| uarr.user_id == current_user.id }.map { |uarr|
I18n.t("user_authorization_request_roles.role.#{uarr.role}")
}.join(', ').capitalize %>
</p>
</div>
</div>
</div>
<% end %>
</div>
</div>
</div>
<% end %>
</div>
</div>
Loading
Loading