summaryrefslogtreecommitdiff
path: root/app/views/assets
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-25 14:24:03 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-25 14:24:03 +0200
commitde9a3a5591d4b17c0e0f17abc0ee8ffe85de50e6 (patch)
treea66f5f798399a72a1a351c72ff1f4c864d2d5514 /app/views/assets
parentbaace1fa5df46694ddd515dc3bbca59b22df8692 (diff)
Extract admin strings to i18n: assets and events clusters
Diffstat (limited to 'app/views/assets')
-rw-r--r--app/views/assets/edit.html.erb32
-rw-r--r--app/views/assets/index.html.erb18
-rw-r--r--app/views/assets/new.html.erb28
-rw-r--r--app/views/assets/show.html.erb30
4 files changed, 54 insertions, 54 deletions
diff --git a/app/views/assets/edit.html.erb b/app/views/assets/edit.html.erb
index 46f8ed9f..5214e082 100644
--- a/app/views/assets/edit.html.erb
+++ b/app/views/assets/edit.html.erb
@@ -1,5 +1,5 @@
1<div id="admin_layout"> 1<div id="admin_layout">
2 <h1>Editing asset</h1> 2 <h1><%= t(".title") %></h1>
3 3
4 <%= form_for(@asset, html: { multipart: true }) do |f| %> 4 <%= form_for(@asset, html: { multipart: true }) do |f| %>
5 <%= form_error_messages(f) %> 5 <%= form_error_messages(f) %>
@@ -9,56 +9,56 @@
9 <div class="layout_row_content"><%= f.text_field :name %></div> 9 <div class="layout_row_content"><%= f.text_field :name %></div>
10 10
11 <% if @asset.upload.present? %> 11 <% if @asset.upload.present? %>
12 <div class="layout_row_label">Current File</div> 12 <div class="layout_row_label"><%= t(".current_file") %></div>
13 <div class="layout_row_content"><%= @asset.upload.url %> (<%= number_to_human_size(@asset.upload.size) %>)</div> 13 <div class="layout_row_content"><%= @asset.upload.url %> (<%= number_to_human_size(@asset.upload.size) %>)</div>
14 <% end %> 14 <% end %>
15 15
16 <div class="layout_row_label"><%= f.label :upload, "Replace file" %></div> 16 <div class="layout_row_label"><%= f.label :upload, t(".replace_file") %></div>
17 <div class="layout_row_content"> 17 <div class="layout_row_content">
18 <div id="asset_dropzone"> 18 <div id="asset_dropzone">
19 <%= f.file_field :upload %> 19 <%= f.file_field :upload %>
20 <p class="field_hint">or drop a file here.</p> 20 <p class="field_hint"><%= t("assets.form.drop_hint") %></p>
21 </div> 21 </div>
22 </div> 22 </div>
23 23
24 <div class="layout_row_label"><%= f.label :creator %></div> 24 <div class="layout_row_label"><%= f.label :creator %></div>
25 <div class="layout_row_content"><%= f.text_field :creator %></div> 25 <div class="layout_row_content"><%= f.text_field :creator %></div>
26 26
27 <div class="layout_row_label"><%= f.label :source_url, "Source URL" %></div> 27 <div class="layout_row_label"><%= f.label :source_url %></div>
28 <div class="layout_row_content"><%= f.text_field :source_url %></div> 28 <div class="layout_row_content"><%= f.text_field :source_url %></div>
29 29
30 <div class="layout_row_label"><%= f.label :license_key, "License" %></div> 30 <div class="layout_row_label"><%= f.label :license_key %></div>
31 <div class="layout_row_content"> 31 <div class="layout_row_content">
32 <%= f.select :license_key, 32 <%= f.select :license_key,
33 options_for_select( 33 options_for_select(
34 [["none", ""]] + AssetLicense.keys.map { |key| [t("asset_licenses.#{key}"), key] }, 34 [[t("assets.form.none_option"), ""]] + AssetLicense.keys.map { |key| [t("asset_licenses.#{key}"), key] },
35 @asset.license_key 35 @asset.license_key
36 ) %> 36 ) %>
37 </div> 37 </div>
38 38
39 <div class="layout_row_label">attach to page</div> 39 <div class="layout_row_label"><%= t("assets.form.attach_to_page") %></div>
40 <div class="layout_row_content"> 40 <div class="layout_row_content">
41 <div class="restore_picker"> 41 <div class="restore_picker">
42 <%= text_field_tag :asset_node_search_term, @attach_node&.title, 42 <%= text_field_tag :asset_node_search_term, @attach_node&.title,
43 :placeholder => "Search for a page", :autocomplete => "off" %> 43 :placeholder => t("assets.form.attach_search_placeholder"), :autocomplete => "off" %>
44 <div id="asset_node_search_results" class="search_results" style="display: none"></div> 44 <div id="asset_node_search_results" class="search_results" style="display: none"></div>
45 </div> 45 </div>
46 <%= hidden_field_tag :node_id, @attach_node&.id %> 46 <%= hidden_field_tag :node_id, @attach_node&.id %>
47 <span class="field_hint">Optional — attaches this asset to that page, all pending versions included.</span> 47 <span class="field_hint"><%= t("assets.form.attach_hint") %></span>
48 </div> 48 </div>
49 49
50 <div class="layout_row_label"></div> 50 <div class="layout_row_label"></div>
51 <div class="layout_row_content"> 51 <div class="layout_row_content">
52 <label><%= check_box_tag :headline, "1" %> attach as the page's headline</label> 52 <label><%= check_box_tag :headline, "1" %> <%= t("assets.form.as_headline") %></label>
53 <span class="field_hint">Applies only if the page has no headline yet.</span> 53 <span class="field_hint"><%= t("assets.form.headline_hint") %></span>
54 </div> 54 </div>
55 55
56 <div class="layout_row_label">Actions</div> 56 <div class="layout_row_label"><%= t("admin.columns.actions") %></div>
57 <div class="layout_row_content info_group"> 57 <div class="layout_row_content info_group">
58 <div class="info_group_items"> 58 <div class="info_group_items">
59 <div class="info_item"><%= f.submit 'Update' %></div> 59 <div class="info_item"><%= f.submit t("admin.common.update") %></div>
60 <div class="info_item"><%= link_to 'Show', @asset %></div> 60 <div class="info_item"><%= link_to t("admin.common.show"), @asset %></div>
61 <div class="info_item"><%= link_to 'Back', assets_path %></div> 61 <div class="info_item"><%= link_to t("admin.common.back"), assets_path %></div>
62 </div> 62 </div>
63 </div> 63 </div>
64 </div> 64 </div>
diff --git a/app/views/assets/index.html.erb b/app/views/assets/index.html.erb
index ff1300a2..81d2686a 100644
--- a/app/views/assets/index.html.erb
+++ b/app/views/assets/index.html.erb
@@ -1,16 +1,16 @@
1<h1>Assets</h1> 1<h1><%= t(".title") %></h1>
2 2
3<%= link_to new_asset_path, class: 'action_button' do %> 3<%= link_to new_asset_path, class: 'action_button' do %>
4 <%= icon("plus", library: "tabler", "aria-hidden": true) %> Create asset 4 <%= icon("plus", library: "tabler", "aria-hidden": true) %> <%= t(".create_asset") %>
5<% end %> 5<% end %>
6 6
7<%= will_paginate @assets %> 7<%= will_paginate @assets %>
8 8
9<table class="assets_table"> 9<table class="assets_table">
10 <tr class="header"> 10 <tr class="header">
11 <th>Preview</th> 11 <th><%= t("admin.columns.preview") %></th>
12 <th>Name</th> 12 <th><%= t("admin.columns.name") %></th>
13 <th>Type</th> 13 <th><%= t("admin.columns.type") %></th>
14 <th></th> 14 <th></th>
15 <th></th> 15 <th></th>
16 <th></th> 16 <th></th>
@@ -20,10 +20,10 @@
20 <td><% if asset.has_variant?(:thumb) %><%= image_tag asset.upload.url(:thumb), style: "max-width: 100px; max-height: 100px;" %><% end %></td> 20 <td><% if asset.has_variant?(:thumb) %><%= image_tag asset.upload.url(:thumb), style: "max-width: 100px; max-height: 100px;" %><% end %></td>
21 <td><%= link_to asset.name, asset.upload.url %></td> 21 <td><%= link_to asset.name, asset.upload.url %></td>
22 <td><%= asset.upload.content_type %></td> 22 <td><%= asset.upload.content_type %></td>
23 <td><%= link_to 'Show', asset %></td> 23 <td><%= link_to t("admin.common.show"), asset %></td>
24 <td><%= link_to 'Edit', edit_asset_path(asset) %></td> 24 <td><%= link_to t("admin.common.edit"), edit_asset_path(asset) %></td>
25 <td><%= button_to asset, method: :delete, form: { data: { confirm: 'Are you sure?' }, class: 'button_to destructive' } do %> 25 <td><%= button_to asset, method: :delete, form: { data: { confirm: t("admin.common.confirm_sure") }, class: 'button_to destructive' } do %>
26 <%= icon("trash", library: "tabler", "aria-hidden": true) %> Destroy 26 <%= icon("trash", library: "tabler", "aria-hidden": true) %> <%= t("admin.common.destroy") %>
27 <% end %></td> 27 <% end %></td>
28 </tr> 28 </tr>
29<% end %> 29<% end %>
diff --git a/app/views/assets/new.html.erb b/app/views/assets/new.html.erb
index 7bb8a9ce..51e66cd2 100644
--- a/app/views/assets/new.html.erb
+++ b/app/views/assets/new.html.erb
@@ -1,5 +1,5 @@
1<div id="admin_layout"> 1<div id="admin_layout">
2 <h1>New asset</h1> 2 <h1><%= t(".title") %></h1>
3 3
4 <%= form_for(@asset, :html => { :multipart => true }) do |f| %> 4 <%= form_for(@asset, :html => { :multipart => true }) do |f| %>
5 <%= form_error_messages(f) %> 5 <%= form_error_messages(f) %>
@@ -8,51 +8,51 @@
8 <div class="layout_row_label"><%= f.label :name %></div> 8 <div class="layout_row_label"><%= f.label :name %></div>
9 <div class="layout_row_content"><%= f.text_field :name %></div> 9 <div class="layout_row_content"><%= f.text_field :name %></div>
10 10
11 <div class="layout_row_label"><%= f.label :upload, "File" %></div> 11 <div class="layout_row_label"><%= f.label :upload %></div>
12 <div class="layout_row_content"> 12 <div class="layout_row_content">
13 <div id="asset_dropzone"> 13 <div id="asset_dropzone">
14 <%= f.file_field :upload %> 14 <%= f.file_field :upload %>
15 <p class="field_hint">or drop a file here.</p> 15 <p class="field_hint"><%= t("assets.form.drop_hint") %></p>
16 </div> 16 </div>
17 </div> 17 </div>
18 18
19 <div class="layout_row_label"><%= f.label :creator %></div> 19 <div class="layout_row_label"><%= f.label :creator %></div>
20 <div class="layout_row_content"><%= f.text_field :creator %></div> 20 <div class="layout_row_content"><%= f.text_field :creator %></div>
21 21
22 <div class="layout_row_label"><%= f.label :source_url, "Source URL" %></div> 22 <div class="layout_row_label"><%= f.label :source_url %></div>
23 <div class="layout_row_content"><%= f.text_field :source_url %></div> 23 <div class="layout_row_content"><%= f.text_field :source_url %></div>
24 24
25 <div class="layout_row_label"><%= f.label :license_key, "License" %></div> 25 <div class="layout_row_label"><%= f.label :license_key %></div>
26 <div class="layout_row_content"> 26 <div class="layout_row_content">
27 <%= f.select :license_key, 27 <%= f.select :license_key,
28 options_for_select( 28 options_for_select(
29 [["none", ""]] + AssetLicense.keys.map { |key| [t("asset_licenses.#{key}"), key] }, 29 [[t("assets.form.none_option"), ""]] + AssetLicense.keys.map { |key| [t("asset_licenses.#{key}"), key] },
30 @asset.license_key 30 @asset.license_key
31 ) %> 31 ) %>
32 </div> 32 </div>
33 33
34 <div class="layout_row_label">attach to page</div> 34 <div class="layout_row_label"><%= t("assets.form.attach_to_page") %></div>
35 <div class="layout_row_content"> 35 <div class="layout_row_content">
36 <div class="restore_picker"> 36 <div class="restore_picker">
37 <%= text_field_tag :asset_node_search_term, @attach_node&.title, 37 <%= text_field_tag :asset_node_search_term, @attach_node&.title,
38 :placeholder => "Search for a page", :autocomplete => "off" %> 38 :placeholder => t("assets.form.attach_search_placeholder"), :autocomplete => "off" %>
39 <div id="asset_node_search_results" class="search_results" style="display: none"></div> 39 <div id="asset_node_search_results" class="search_results" style="display: none"></div>
40 </div> 40 </div>
41 <%= hidden_field_tag :node_id, @attach_node&.id %> 41 <%= hidden_field_tag :node_id, @attach_node&.id %>
42 <span class="field_hint">Optional — attaches this asset to that page, all pending versions included.</span> 42 <span class="field_hint"><%= t("assets.form.attach_hint") %></span>
43 </div> 43 </div>
44 44
45 <div class="layout_row_label"></div> 45 <div class="layout_row_label"></div>
46 <div class="layout_row_content"> 46 <div class="layout_row_content">
47 <label><%= check_box_tag :headline, "1" %> attach as the page's headline</label> 47 <label><%= check_box_tag :headline, "1" %> <%= t("assets.form.as_headline") %></label>
48 <span class="field_hint">Applies only if the page has no headline yet.</span> 48 <span class="field_hint"><%= t("assets.form.headline_hint") %></span>
49 </div> 49 </div>
50 50
51 <div class="layout_row_label">Actions</div> 51 <div class="layout_row_label"><%= t("admin.columns.actions") %></div>
52 <div class="layout_row_content info_group"> 52 <div class="layout_row_content info_group">
53 <div class="info_group_items"> 53 <div class="info_group_items">
54 <div class="info_item"><%= f.submit 'Create' %></div> 54 <div class="info_item"><%= f.submit f.submit t("admin.common.create") %></div>
55 <div class="info_item"><%= link_to 'Back', assets_path %></div> 55 <div class="info_item"><%= link_to link_to t("admin.common.back"), assets_path %></div>
56 </div> 56 </div>
57 </div> 57 </div>
58 </div> 58 </div>
diff --git a/app/views/assets/show.html.erb b/app/views/assets/show.html.erb
index 4ec77dff..f5a7e055 100644
--- a/app/views/assets/show.html.erb
+++ b/app/views/assets/show.html.erb
@@ -2,16 +2,16 @@
2 <h1><%= @asset.name %></h1> 2 <h1><%= @asset.name %></h1>
3 3
4 <div id="content"> 4 <div id="content">
5 <div class="layout_row_label">Actions</div> 5 <div class="layout_row_label"><%= t("admin.columns.actions") %></div>
6 <div class="layout_row_content info_group"> 6 <div class="layout_row_content info_group">
7 <div class="info_group_items"> 7 <div class="info_group_items">
8 <div class="info_item"> 8 <div class="info_item">
9 <%= link_to edit_asset_path(@asset), class: 'action_button' do %> 9 <%= link_to edit_asset_path(@asset), class: 'action_button' do %>
10 <%= icon("edit", library: "tabler", "aria-hidden": true) %> Edit 10 <%= icon("edit", library: "tabler", "aria-hidden": true) %> <%= t("admin.common.edit") %>
11 <% end %> 11 <% end %>
12 </div> 12 </div>
13 <div class="info_item"> 13 <div class="info_item">
14 <%= link_to 'Back', assets_path %> 14 <%= link_to link_to t("admin.common.back"), assets_path %>
15 </div> 15 </div>
16 <%= link_to admin_log_path(:asset_id => @asset.id), :class => "action_button" do %> 16 <%= link_to admin_log_path(:asset_id => @asset.id), :class => "action_button" do %>
17 <%= icon("history", library: "tabler", "aria-hidden": true) %> <%= t("node_actions.asset_history") %> 17 <%= icon("history", library: "tabler", "aria-hidden": true) %> <%= t("node_actions.asset_history") %>
@@ -20,11 +20,11 @@
20 </div> 20 </div>
21 21
22 <% if @asset.has_variant?(:medium) %> 22 <% if @asset.has_variant?(:medium) %>
23 <div class="layout_row_label">Thumbnail</div> 23 <div class="layout_row_label"><%= t(".thumbnail") %></div>
24 <div class="layout_row_content"><%= image_tag @asset.upload.url(:medium), style: "max-width: 300px; max-height: 300px;" %></div> 24 <div class="layout_row_content"><%= image_tag @asset.upload.url(:medium), style: "max-width: 300px; max-height: 300px;" %></div>
25 <% end %> 25 <% end %>
26 26
27 <div class="layout_row_label">Attached to</div> 27 <div class="layout_row_label"><%= t(".attached_to") %></div>
28 <div class="layout_row_content"> 28 <div class="layout_row_content">
29 <% nodes = @asset.attached_nodes %> 29 <% nodes = @asset.attached_nodes %>
30 <% if nodes.any? %> 30 <% if nodes.any? %>
@@ -36,34 +36,34 @@
36 <%= icon("star", library: "tabler", "aria-hidden": true) %> 36 <%= icon("star", library: "tabler", "aria-hidden": true) %>
37 <% end %> 37 <% end %>
38 <% unless node.head && node.head.related_assets.exists?(:asset_id => @asset.id) %> 38 <% unless node.head && node.head.related_assets.exists?(:asset_id => @asset.id) %>
39 <span class="field_hint">pending versions only</span> 39 <span class="field_hint"><%= t(".pending_only") %></span>
40 <% end %> 40 <% end %>
41 </li> 41 </li>
42 <% end %> 42 <% end %>
43 </ul> 43 </ul>
44 <% else %> 44 <% else %>
45 not attached to any page — 45 <%= t(".not_attached") %>
46 <% end %> 46 <% end %>
47 <%= link_to new_node_path(:asset_id => @asset.id), :class => "action_button" do %> 47 <%= link_to new_node_path(:asset_id => @asset.id), :class => "action_button" do %>
48 <%= icon("file-plus", library: "tabler", "aria-hidden": true) %> New page with this attachment 48 <%= icon("file-plus", library: "tabler", "aria-hidden": true) %> <%= t(".new_page_with_attachment") %>
49 <% end %> 49 <% end %>
50 </div> 50 </div>
51 51
52 <div class="layout_row_label">Public Path</div> 52 <div class="layout_row_label"><%= t(".public_path") %></div>
53 <div class="layout_row_content"> 53 <div class="layout_row_content">
54 <% public_path = @asset.upload.url.sub(/\?\d+$/, "") %> 54 <% public_path = @asset.upload.url.sub(/\?\d+$/, "") %>
55 <%= link_to public_path, public_path, target: "_blank", rel: "noopener" %> 55 <%= link_to public_path, public_path, target: "_blank", rel: "noopener" %>
56 <button type="button" class="action_button copy_button" 56 <button type="button" class="action_button copy_button"
57 data-copy-url="<%= request.base_url + public_path %>"> 57 data-copy-url="<%= request.base_url + public_path %>">
58 <%= icon("copy", library: "tabler", "aria-hidden": true) %> 58 <%= icon("copy", library: "tabler", "aria-hidden": true) %>
59 <span class="copy_button_label">Copy URL</span> 59 <span class="copy_button_label"><%= t(".copy_url") %></span>
60 </button> 60 </button>
61 </div> 61 </div>
62 62
63 <div class="layout_row_label">Creator</div> 63 <div class="layout_row_label"><%= t(".creator") %></div>
64 <div class="layout_row_content"><%= @asset.creator.presence || "—" %></div> 64 <div class="layout_row_content"><%= @asset.creator.presence || "—" %></div>
65 65
66 <div class="layout_row_label">Source</div> 66 <div class="layout_row_label"><%= t(".source") %></div>
67 <div class="layout_row_content"> 67 <div class="layout_row_content">
68 <% if @asset.source_url.present? %> 68 <% if @asset.source_url.present? %>
69 <%= link_to @asset.source_url, @asset.source_url %> 69 <%= link_to @asset.source_url, @asset.source_url %>
@@ -72,7 +72,7 @@
72 <% end %> 72 <% end %>
73 </div> 73 </div>
74 74
75 <div class="layout_row_label">License</div> 75 <div class="layout_row_label"><%= t(".license") %></div>
76 <div class="layout_row_content"> 76 <div class="layout_row_content">
77 <% if (license = AssetLicense.find(@asset.license_key)) %> 77 <% if (license = AssetLicense.find(@asset.license_key)) %>
78 <%= t("asset_licenses.#{license.key}") %> 78 <%= t("asset_licenses.#{license.key}") %>
@@ -81,10 +81,10 @@
81 <% end %> 81 <% end %>
82 </div> 82 </div>
83 83
84 <div class="layout_row_label">Content Type</div> 84 <div class="layout_row_label"><%= t(".content_type") %></div>
85 <div class="layout_row_content"><%= @asset.upload.content_type %></div> 85 <div class="layout_row_content"><%= @asset.upload.content_type %></div>
86 86
87 <div class="layout_row_label">Size</div> 87 <div class="layout_row_label"><%= t(".size") %></div>
88 <div class="layout_row_content"><%= "#{@asset.upload.size/1024} KB" %></div> 88 <div class="layout_row_content"><%= "#{@asset.upload.size/1024} KB" %></div>
89 </div> 89 </div>
90</div> 90</div>