diff --git a/app/views/pages/dashboard.html.erb b/app/views/pages/dashboard.html.erb index 9799c13..6d5e266 100755 --- a/app/views/pages/dashboard.html.erb +++ b/app/views/pages/dashboard.html.erb @@ -39,7 +39,7 @@ <% if current_user.promoter? && @promoter_events.present? %> -
+
@@ -87,6 +87,19 @@
+ + +
+
+
+

Paiements en Attente

+

<%= current_user.payouts.pending.count %>

+
+
+ +
+
+
@@ -147,20 +160,51 @@ <%= event.tickets.where(status: 'active').count %> billets vendus
-
- <%= link_to promoter_event_path(event), class: "text-purple-600 hover:text-purple-800 text-xs font-medium" do %> - Gérer → - <% end %> - <% if event.event_ended? && event.can_request_payout? %> - <% if event.payout_status == "not_requested" %> - <%= link_to "Demander le paiement", promoter_payouts_path(event_id: event.id), method: :post, - class: "text-green-600 hover:text-green-800 text-xs font-medium" %> - <% else %> - <%= link_to "Voir le paiement", promoter_payouts_path, - class: "text-gray-600 hover:text-gray-800 text-xs font-medium" %> +
+ <%= link_to promoter_event_path(event), class: "text-purple-600 hover:text-purple-800 text-xs font-medium" do %> + Gérer → + <% end %> + <% if event.event_ended? && event.can_request_payout? %> + <% if event.payout_status == "not_requested" %> + <%= link_to "Demander le paiement", promoter_payouts_path(event_id: event.id), method: :post, + class: "text-green-600 hover:text-green-800 text-xs font-medium inline-flex items-center", + data: { confirm: "Êtes-vous sûr de vouloir demander le paiement de €#{event.net_earnings_cents / 100.0} ?" } do %> + + Paiement + <% end %> + <% elsif event.payout_status == "requested" %> + <%= link_to "Paiement demandé", promoter_payouts_path, + class: "text-yellow-600 hover:text-yellow-800 text-xs font-medium inline-flex items-center" do %> + + En attente + <% end %> + <% elsif event.payout_status == "processing" %> + <%= link_to "Paiement en cours", promoter_payouts_path, + class: "text-blue-600 hover:text-blue-800 text-xs font-medium inline-flex items-center" do %> + + Traitement + <% end %> + <% elsif event.payout_status == "completed" %> + <%= link_to "Paiement effectué", promoter_payouts_path, + class: "text-green-600 hover:text-green-800 text-xs font-medium inline-flex items-center" do %> + + Complété + <% end %> + <% elsif event.payout_status == "failed" %> + <%= link_to "Paiement échoué", promoter_payouts_path(event_id: event.id), method: :post, + class: "text-red-600 hover:text-red-800 text-xs font-medium inline-flex items-center", + data: { confirm: "Êtes-vous sûr de vouloir redemander le paiement ?" } do %> + + Réessayer <% end %> <% end %> -
+ <% elsif event.event_ended? %> + + + Aucun revenu + + <% end %> +
<% end %> @@ -174,46 +218,88 @@ - -
-
-

Recent Orders

- <%= link_to "View All Payouts", promoter_payouts_path, class: "text-sm font-medium text-indigo-600 hover:text-indigo-500" if current_user.promoter? %> -
- <% if @recent_orders.any? %> -
- + + <% ended_events = @promoter_events.select(&:event_ended?) %> + <% if ended_events.any? %> +
+
+
+

Événements Terminés

+ <%= link_to "Voir tous les paiements", promoter_payouts_path, class: "text-purple-600 hover:text-purple-800 font-medium text-sm" %>
- <% else %> -

No recent orders.

- <% end %> +
+
+
+ <% ended_events.each do |event| %> +
+
+
+

<%= event.name %>

+

Terminé le <%= event.end_time&.strftime("%d %B %Y") || event.start_time&.strftime("%d %B %Y") %>

+
+ + Terminé + +
+
+
+ + <%= event.tickets.where(status: 'active').count %> billets vendus +
+
+ + Revenus: €<%= event.net_earnings_cents / 100.0 %> +
+
+
+ <%= link_to promoter_event_path(event), class: "text-purple-600 hover:text-purple-800 text-xs font-medium" do %> + Voir l'événement → + <% end %> + + <% if event.can_request_payout? %> + <% if event.payout_status == "not_requested" %> + <%= link_to "Demander le paiement", promoter_payouts_path(event_id: event.id), method: :post, + class: "inline-flex items-center px-3 py-1 bg-green-600 text-white text-xs font-medium rounded-lg hover:bg-green-700 transition-colors", + data: { confirm: "Êtes-vous sûr de vouloir demander le paiement de €#{event.net_earnings_cents / 100.0} ?" } do %> + + Demander paiement + <% end %> + <% elsif event.payout_status == "requested" %> + <%= link_to promoter_payouts_path, class: "inline-flex items-center px-3 py-1 bg-yellow-600 text-white text-xs font-medium rounded-lg" do %> + + En attente + <% end %> + <% elsif event.payout_status == "processing" %> + <%= link_to promoter_payouts_path, class: "inline-flex items-center px-3 py-1 bg-blue-600 text-white text-xs font-medium rounded-lg" do %> + + En traitement + <% end %> + <% elsif event.payout_status == "completed" %> + <%= link_to promoter_payouts_path, class: "inline-flex items-center px-3 py-1 bg-green-600 text-white text-xs font-medium rounded-lg" do %> + + Payé + <% end %> + <% elsif event.payout_status == "failed" %> + <%= link_to "Réessayer", promoter_payouts_path(event_id: event.id), method: :post, + class: "inline-flex items-center px-3 py-1 bg-red-600 text-white text-xs font-medium rounded-lg hover:bg-red-700 transition-colors", + data: { confirm: "Êtes-vous sûr de vouloir redemander le paiement ?" } do %> + + Réessayer + <% end %> + <% end %> + <% else %> + + + Aucun revenu + + <% end %> +
+
+ <% end %> +
+
+ <% end %> <% end %> diff --git a/app/views/promoter/events/show.html.erb b/app/views/promoter/events/show.html.erb index f5e9b48..97a1e67 100644 --- a/app/views/promoter/events/show.html.erb +++ b/app/views/promoter/events/show.html.erb @@ -293,46 +293,68 @@ <% if @event.event_ended? && @event.can_request_payout? %>
-
-

Paiement des revenus

-
-

Revenus disponibles : €<%= @event.net_earnings_cents / 100.0 %>

-

Frais de plateforme : €<%= @event.total_fees_cents / 100.0 %>

+
+

Paiement des Revenus

+ + +
+
+

Revenus Bruts

+

€<%= @event.total_earnings_cents / 100.0 %>

+
+ +
+

Frais Plateforme

+

-€<%= @event.total_fees_cents / 100.0 %>

+
+ +
+

Revenus Nets

+

€<%= @event.net_earnings_cents / 100.0 %>

+
- + + + <% if @event.payout_status != "not_requested" %> +
+
+ <% case @event.payout_status %> + <% when "requested" %> + + Paiement Demandé + <% when "processing" %> + + Paiement en Traitement + <% when "completed" %> + + Paiement Complété + <% when "failed" %> + + Paiement Échoué + <% end %> +
+

Votre demande de paiement est en cours de traitement. Vous recevrez un email quand elle sera terminée.

+
+ <% end %> + + <% if @event.payout_status == "not_requested" %> <%= button_to promoter_payouts_path(event_id: @event.id), method: :post, - data: { confirm: "Êtes-vous sûr de vouloir demander le paiement des revenus ?" }, - class: "w-full inline-flex items-center justify-center px-4 py-3 bg-green-600 text-white font-medium text-sm rounded-lg hover:bg-green-700 transition-colors duration-200" do %> - - Demander le paiement + data: { confirm: "Êtes-vous sûr de vouloir demander un paiement de €#{@event.net_earnings_cents / 100.0} ? Cette action ne peut pas être annulée." }, + class: "payout-action-button primary" do %> + + Demander le Paiement de €<%= @event.net_earnings_cents / 100.0 %> <% end %> - <% elsif @event.payout_status == "requested" %> -
- - Paiement demandé -
- <% elsif @event.payout_status == "processing" %> -
- - Paiement en cours -
- <% elsif @event.payout_status == "completed" %> -
- - Paiement effectué -
<% elsif @event.payout_status == "failed" %> -
- - Paiement échoué -
<%= button_to promoter_payouts_path(event_id: @event.id), method: :post, - data: { confirm: "Êtes-vous sûr de vouloir redemander le paiement des revenus ?" }, - class: "w-full inline-flex items-center justify-center px-4 py-3 bg-green-600 text-white font-medium text-sm rounded-lg hover:bg-green-700 transition-colors duration-200" do %> - - Redemander le paiement + data: { confirm: "Êtes-vous sûr de vouloir demander un nouveau paiement de €#{@event.net_earnings_cents / 100.0} ?" }, + class: "payout-action-button warning" do %> + + Réessayer le Paiement <% end %> + <% else %> + <%= link_to "Voir les Détails du Paiement", promoter_payouts_path, + class: "payout-action-button secondary" %> <% end %>
<% end %>