Branch :
<div class="container-fluid center">
<h1>Edit user <%= User.login(@user) %></h1>
<%= form_for @changeset, Routes.user_path(@conn, :update, User.login(@user)), [multipart: true], fn f -> %>
<div class="mb-3">
<%= label f, :name, class: "form-label" %>
<%= text_input f, :name, class: "form-control" %>
<%= error_tag f, :name %>
</div>
<div class="mb-3">
<%= label f, :slug_, gettext("Login"), class: "form-label" %>
<%= text_input f, :slug_, class: "form-control" %>
<%= error_tag f, :slug_ %>
</div>
<div class="mb-3">
<%= label f, :avatar, class: "form-label" %>
<%= file_input f, :avatar, class: "form-control" %>
<%= error_tag f, :avatar %>
</div>
<div class="mb-3">
<%= label f, :description, class: "form-label" %>
<%= textarea f, :description, class: "form-control" %>
<%= render LayoutView, "markdown_enabled.html" %>
<%= error_tag f, :description %>
</div>
<div class="mb-3">
<%= label f, :ssh_keys, gettext("SSH keys"), class: "form-label" %>
<%= textarea f, :ssh_keys, class: "form-control" %>
<%= error_tag f, :ssh_keys %>
</div>
<div class="mb-3 form-check">
<%= checkbox f, :deploy_only, class: "form-check-input" %>
<%= label f, :deploy_only, class: "form-check-label" %>
<%= error_tag f, :deploy_only %>
</div>
<div>
<%= error_tag f, :owned_repositories %>
</div>
<div class="mb-3">
<%= link gettext("Cancel"),
to: Routes.slug_path(@conn, :show, User.login(@user)),
class: "btn btn-secondary" %>
<%= link gettext("Delete user"),
to: Routes.user_path(@conn, :delete, User.login(@user)),
method: :delete,
class: "btn btn-danger",
data: [confirm: gettext("Are you sure you want to delete the user %{user} ?", user: User.login(@user))] %>
<%= submit gettext("Submit"), class: "btn btn-primary" %>
</div>
<% end %>
<hr/>
<h2><%= gettext "Change email" %></h2>
<.form let={f} for={@email_changeset} action={Routes.user_settings_path(@conn, :update)} id="update_email">
<%= if @email_changeset.action do %>
<div class="alert alert-danger">
<p>Oops, something went wrong! Please check the errors below.</p>
</div>
<% end %>
<%= hidden_input f, :action, name: "action", value: "update_email" %>
<div class="mb-3">
<%= label f, :email, class: "form-label" %>
<%= email_input f, :email, class: "form-control", required: true %>
<%= error_tag f, :email %>
</div>
<div class="mb-3">
<%= label f, :current_password, for: "current_password_for_email", class: "form-label" %>
<%= password_input f, :current_password, required: true, name: "current_password", id: "current_password_for_email", class: "form-control" %>
<%= error_tag f, :current_password %>
</div>
<div class="mb-3">
<%= submit gettext("Submit"), class: "btn btn-primary" %>
</div>
</.form>
<hr/>
<h2><%= gettext "Change password" %></h2>
<.form let={f} for={@password_changeset} action={Routes.user_settings_path(@conn, :update)} id="update_password">
<%= if @password_changeset.action do %>
<div class="alert alert-danger">
<p>Oops, something went wrong! Please check the errors below.</p>
</div>
<% end %>
<%= hidden_input f, :action, name: "action", value: "update_password" %>
<div class="mb-3">
<%= label f, :password, gettext("New password"), class: "form-label" %>
<%= password_input f, :password, class: "form-control", required: true %>
<%= error_tag f, :password %>
</div>
<div class="mb-3">
<%= label f, :password_confirmation, gettext("Confirm new password"), class: "form-label" %>
<%= password_input f, :password_confirmation, class: "form-control", required: true %>
<%= error_tag f, :password_confirmation %>
</div>
<div class="mb-3">
<%= label f, :current_password, for: "current_password_for_password", class: "form-label" %>
<%= password_input f, :current_password, required: true, name: "current_password", id: "current_password_for_password", class: "form-control" %>
<%= error_tag f, :current_password %>
</div>
<div class="mb-3">
<%= submit gettext("Submit"), class: "btn btn-primary" %>
</div>
</.form>
<hr/>
<h2><%= gettext "Two factor authentification (2FA)" %></h2>
<%= if @user.totp_last != 0 do %>
<p>
<%= gettext "2FA enabled (TOTP)" %>
</p>
<p>
<%= link gettext("Disable TOTP (Google Authenticator)"), to: Routes.user_path(@conn, :totp_delete, User.login(@user)), method: :delete, data: [confirm: gettext("Are you sure you want to disable TOTP (Google Authenticator) for %{site} ?", site: "kmxgit")], class: "btn btn-danger" %>
</p>
<% else %>
<p>
<%= link gettext("Enable TOTP (Google Authenticator)"), to: Routes.user_path(@conn, :totp, User.login(@user)), class: "btn btn-danger" %>
</p>
<% end %>
<br />
<hr/>
<br/>
<br/>
</div>