summaryrefslogtreecommitdiff
path: root/app/views/targets/index.html.erb
blob: b55203800a7a97e14f5228b2f2602848480210ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<h1 class="display-1">Cibles</h1>

<div class="btn-group my-3">
    <%= link_to "Nouvelle Cible", new_target_path, class: "btn btn-primary" %>
</div>

<div class="table-responsive">
    <table class="table table-sm table-striped table-hover align-middle mb-0">
	<thead class="table-light">
	    <tr>
		<th>Nom</th>
		<th>Répartition</tr>
		<th class="text-end" style="width: 140px;">Total %</th>
		<th class="text-nowrap" style="width: 190px;">Créé le</th>
		<th class="text-end" style="width: 180px;">Actions</th>
	    </tr>
	</thead>
	<tbody>
	    <% if @targets.present? %>
		<% @targets.each do |t| %>
		    <% sum_pct = t.target_allocations.sum { |a| a.percentage.to_f } %>
		    <% badge_class = (sum_pct - 100.0).abs <= 0.01 ? "bg-success" : "bg-danger" %>
		    <tr>
			<td class="fw-semibold">
			    <%= link_to t.name.presence || "Objectif ##{t.id}", t %>
			</td>
			<td>
			    <% if t.target_allocations.empty? %>
				<span class="text-muted">Aucune répartition définie</span>
			    <% else %>
				<ul class="list-unstyled mb-0 d-flex flex-wrap gap-2">
				    <% t.target_allocations.each do |a| %>
					<li class="badge text-bg-light border">
					    <%= a.nutrient_profile&.name || "Profil ##{a.nutrient_profile_id}" %>
					    — <%= number_with_precision(a.percentage.to_f, precision: 2) %>%
					</li>
				    <% end %>
				</ul>
			    <% end %>
			</td>
			<td class="text-end">
			    <span class="badge <%= badge_class %>">
				<%= number_with_precision(sum_pct, precision: 2) %>%
			    </span>
			</td>
			<td class="text-nowrap">
			    <%= l(t.created_at, format: :short) %>
			</td>
			<td class="text-end text-nowrap">
			    <%= link_to "Voir", t, class: "btn btn-outline-secondary btn-sm" %>
			    <%= link_to "Modifier", edit_target_path(t), class: "btn btn-outline-primary btn-sm" %>
			    <%# FIXME: Doesn't work. %>
			    <%= link_to "Supprimer", t, class: "btn btn-outline-danger btn-sm",
					data: { turbo_method: :delete, turbo_confirm: "Supprimer cet objectif ?" } %>
			</td>
		    </tr>
		<% end %>
	    <% else %>
		<tr>
		    <td colspan="5" class="text-center py-4 text-muted">
			Aucun objectif pour le moment.&nbsp;
			<%= link_to "Créer le premier", new_target_path %>.
		    </td>
		</tr>
	    <% end %>
	</tbody>
    </table>
</div>
Copyright 2019--2025 Marius PETER