]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/user_blocks/edit.html.erb
Merge remote-tracking branch 'upstream/pull/5180'
[rails.git] / app / views / user_blocks / edit.html.erb
index 387335d9d07e4b6e20248e38228bee58c5078bb6..14480eac8bc69fa8e58fb901b77b8b1076b994de 100644 (file)
@@ -1,28 +1,44 @@
-<% @title = t 'user_block.edit.title', :name => h(@user_block.user.display_name) %>
-<h1><%= t('user_block.edit.title',
-          :name => link_to(
-                           h(@user_block.user.display_name),
-                           {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name})) %></h1>
+<% @title = t ".title", :name => @user_block.user.display_name %>
 
-<% form_for(@user_block) do |f| %>
-  <%= f.error_messages %>
-
-  <p>
-    <%= f.label :reason, t('user_block.edit.reason', :name => h(@user_block.user.display_name)) %><br />
-    <%= f.text_area :reason, :cols => 80, :rows => 5 %>
-  </p>
-  <p>
-    <%= label_tag 'user_block_period', t('user_block.edit.period') %><br />
-    <%= select_tag('user_block_period', options_for_select(UserBlock::PERIODS.collect { |h| [t('user_block.period', :count => h), h.to_s] }, params[:user_block_period])) %>
-  </p>
-  <p>
-    <%= f.check_box :needs_view %>
-    <%= f.label :needs_view, t('user_block.edit.needs_view') %>
-  </p>
-  <p>
-    <%= f.submit t('user_block.edit.submit') %>
-  </p>
+<% content_for :heading_class, "pb-0" %>
+<% content_for :heading do %>
+  <h1><%= t(".heading_html", :name => link_to(@user_block.user.display_name, @user_block.user)) %></h1>
+  <%= render :partial => "navigation" %>
 <% end %>
 
-<%= link_to t('user_block.edit.show'), @user_block %> |
-<%= link_to t('user_block.edit.back'), user_blocks_path %>
+<%= bootstrap_form_for(@user_block) do |f| %>
+  <%= f.richtext_field :reason, :cols => 80, :rows => 20, :format => @user_block.reason_format %>
+
+  <% if @user_block.active? && @user_block.creator == current_user %>
+    <%= f.form_group do %>
+      <%= label_tag "user_block_period", t(".period"), :class => "form-label" %>
+      <%= select_tag "user_block_period",
+                     options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] },
+                                        UserBlock::PERIODS.min_by { |h| (params[:user_block_period].to_i - h).abs }),
+                     :class => "form-select" %>
+    <% end %>
+
+    <%= f.form_group :needs_view do %>
+      <%= f.check_box :needs_view %>
+    <% end %>
+
+    <%= f.primary %>
+  <% else %>
+    <div class="alert alert-info">
+      <% if @user_block.active? %>
+        <%= t "user_blocks.update.only_creator_can_edit_without_revoking" %>
+      <% else %>
+        <%= t "user_blocks.update.inactive_block_cannot_be_reactivated" %>
+      <% end %>
+    </div>
+
+    <%= hidden_field_tag "user_block_period", 0 %>
+    <%= hidden_field_tag "user_block[needs_view]", false %>
+
+    <% if @user_block.active? %>
+      <%= f.submit t(".revoke"), :class => "btn btn-danger" %>
+    <% else %>
+      <%= f.primary %>
+    <% end %>
+  <% end %>
+<% end %>