Tutte le view marketing, legali, viewer, dashboard e admin usano t(); mailer utente-facing e flash localizzati; admin con LocaleResolver e selettore lingua. Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
768 B
Ruby
26 lines
768 B
Ruby
module Admin
|
|
class AuthController < Admin::BaseController
|
|
skip_before_action :require_admin_login, only: %i[new create]
|
|
|
|
def new
|
|
redirect_to admin_root_path if admin_logged_in?
|
|
end
|
|
|
|
def create
|
|
account = AdminAccount.find_by(username: params[:username]&.strip)
|
|
if account&.authenticate(params[:password])
|
|
session[:admin_account_id] = account.id
|
|
redirect_to session.delete(:admin_return_to) || admin_root_path, notice: t("admin.flash.login_success")
|
|
else
|
|
flash.now[:alert] = t("admin.flash.invalid_credentials")
|
|
render :new, status: :unauthorized
|
|
end
|
|
end
|
|
|
|
def destroy
|
|
reset_session
|
|
redirect_to admin_login_path, notice: t("admin.flash.logout_success")
|
|
end
|
|
end
|
|
end
|