[#468] Merged `upstream/develop`, resolved conflicts.
[akkoma] / lib / pleroma / web / templates / o_auth / o_auth / show.html.eex
index 41b58aca0ea6597028aefef3913017b79c1d5fe1..f50599bdbdab7c0b77dbc4c4fdf81da0f79ffb6f 100644 (file)
@@ -1,5 +1,9 @@
+<%= if get_flash(@conn, :info) do %>
 <p class="alert alert-info" role="alert"><%= get_flash(@conn, :info) %></p>
+<% end %>
+<%= if get_flash(@conn, :error) do %>
 <p class="alert alert-danger" role="alert"><%= get_flash(@conn, :error) %></p>
+<% end %>
 <h2>OAuth Authorization</h2>
 <%= form_for @conn, o_auth_path(@conn, :authorize), [as: "authorization"], fn f -> %>
 <%= label f, :name, "Name or email" %>
 
 <%= label f, :scope, "Permissions" %>
 <br>
-<%= for scope <- @scopes do %>
-  <%= checkbox f, :"scopes_#{scope}", value: scope, checked_value: scope, unchecked_value: "", name: "authorization[scopes][]" %>
-  <%= label f, :"scopes_#{scope}", String.capitalize(scope) %>
+<%= for scope <- @available_scopes do %>
+  <%# Note: using hidden input with `unchecked_value` in order to distinguish user's empty selection from `scope` param being omitted %>
+  <%= checkbox f, :"scope_#{scope}", value: scope in @scopes && scope, checked_value: scope, unchecked_value: "", name: "authorization[scope][]" %>
+  <%= label f, :"scope_#{scope}", String.capitalize(scope) %>
   <br>
 <% end %>