59 lines
2.4 KiB
Elixir
59 lines
2.4 KiB
Elixir
<%= 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 -> %>
|
|
|
|
<%= if @params["registration"] in ["true", true] do %>
|
|
<h3>This is the first time you visit! Please enter your Pleroma handle.</h3>
|
|
<p>Choose carefully! You won't be able to change this later. You will be able to change your display name, though.</p>
|
|
<div class="input">
|
|
<%= label f, :nickname, "Pleroma Handle" %>
|
|
<%= text_input f, :nickname, placeholder: "lain" %>
|
|
</div>
|
|
<%= hidden_input f, :name, value: @params["name"] %>
|
|
<%= hidden_input f, :password, value: @params["password"] %>
|
|
<br>
|
|
|
|
<% else %>
|
|
<div class="input">
|
|
<%= label f, :name, "Username" %>
|
|
<%= text_input f, :name %>
|
|
</div>
|
|
<div class="input">
|
|
<%= label f, :password, "Password" %>
|
|
<%= password_input f, :password %>
|
|
</div>
|
|
<%= submit "Log In" %>
|
|
<div class="scopes-input">
|
|
<%= label f, :scope, "The following permissions will be granted" %>
|
|
<div class="scopes">
|
|
<%= 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 %>
|
|
<%= if scope in @scopes do %>
|
|
<div class="scope">
|
|
<%= checkbox f, :"scope_#{scope}", value: scope in @scopes && scope, checked_value: scope, unchecked_value: "", name: "authorization[scope][]" %>
|
|
<%= label f, :"scope_#{scope}", String.capitalize(scope) %>
|
|
<%= if scope in @scopes && scope do %>
|
|
<%= String.capitalize(scope) %>
|
|
<% end %>
|
|
</div>
|
|
<% else %>
|
|
<%= checkbox f, :"scope_#{scope}", value: scope in @scopes && scope, checked_value: scope, unchecked_value: "", name: "authorization[scope][]" %>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
|
|
<%= render @view_module, "_scopes.html", Map.merge(assigns, %{form: f}) %>
|
|
|
|
<%= hidden_input f, :client_id, value: @client_id %>
|
|
<%= hidden_input f, :response_type, value: @response_type %>
|
|
<%= hidden_input f, :redirect_uri, value: @redirect_uri %>
|
|
<%= hidden_input f, :state, value: @state %>
|
|
<% end %>
|