mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-19 13:54:25 +01:00
ability to send again auth migration code
This commit is contained in:
parent
5e1b85832c
commit
102eecdc8a
@ -1,8 +1,8 @@
|
||||
|
||||
'use strict'
|
||||
|
||||
Application.Controllers.controller "CompleteProfileController", ["$scope", "$rootScope", "$state", "$window", "_t", "growl", "CSRF", "Auth", "Member", "settingsPromise", "activeProviderPromise", "groupsPromise", "cguFile", "memberPromise", "Session", "dialogs"
|
||||
, ($scope, $rootScope, $state, $window, _t, growl, CSRF, Auth, Member, settingsPromise, activeProviderPromise, groupsPromise, cguFile, memberPromise, Session, dialogs) ->
|
||||
Application.Controllers.controller "CompleteProfileController", ["$scope", "$rootScope", "$state", "$window", "_t", "growl", "CSRF", "Auth", "Member", "settingsPromise", "activeProviderPromise", "groupsPromise", "cguFile", "memberPromise", "Session", "dialogs", "AuthProvider"
|
||||
, ($scope, $rootScope, $state, $window, _t, growl, CSRF, Auth, Member, settingsPromise, activeProviderPromise, groupsPromise, cguFile, memberPromise, Session, dialogs, AuthProvider) ->
|
||||
|
||||
|
||||
|
||||
@ -148,18 +148,17 @@ Application.Controllers.controller "CompleteProfileController", ["$scope", "$roo
|
||||
$scope.resendCode = (event) ->
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
# TODO show modal only IF email is not mapped to sso OR email = null
|
||||
dialogs.confirm
|
||||
templateUrl: '<%= asset_path "profile/resend_code_modal.html" %>'
|
||||
resolve:
|
||||
object: ->
|
||||
email: memberPromise.email
|
||||
, (email) ->
|
||||
console.log(email)
|
||||
# TODO update email
|
||||
# TODO in every cases, resend email
|
||||
# TODO growl result
|
||||
|
||||
# Request the server to send an auth-migration email to the current user
|
||||
AuthProvider.send_code {email: email}, (res) ->
|
||||
growl.info(_t('code_successfully_sent_again'))
|
||||
, (err) ->
|
||||
growl.error(err.data.error)
|
||||
|
||||
|
||||
|
||||
|
@ -11,4 +11,7 @@ Application.Services.factory 'AuthProvider', ["$resource", ($resource)->
|
||||
active:
|
||||
method: 'GET'
|
||||
url: '/api/auth_providers/active'
|
||||
send_code:
|
||||
method: 'POST'
|
||||
url: '/api/auth_providers/send_code'
|
||||
]
|
||||
|
@ -5,7 +5,7 @@
|
||||
<div class="modal-body">
|
||||
|
||||
<form name="emailForm">
|
||||
<label for="email" class="beforeAmount" translate>{{ 'email_address' }}</label>
|
||||
<label for="email" class="beforeAmount" translate>{{ 'email_address_associated_with_your_account' }}</label>
|
||||
<div class="input-group" ng-class="{'has-error': emailForm.email.$dirty && emailForm.email.$invalid }">
|
||||
<span class="input-group-addon"><i class="fa fa-envelope"></i> </span>
|
||||
<input class="form-control"
|
||||
|
@ -1,7 +1,6 @@
|
||||
class API::AuthProvidersController < API::ApiController
|
||||
|
||||
before_action :set_provider, only: [:show, :update, :destroy]
|
||||
|
||||
def index
|
||||
@providers = policy_scope(AuthProvider)
|
||||
end
|
||||
@ -48,6 +47,25 @@ class API::AuthProvidersController < API::ApiController
|
||||
@provider = AuthProvider.active
|
||||
end
|
||||
|
||||
|
||||
def send_code
|
||||
authorize AuthProvider
|
||||
user = User.find_by(email: params[:email])
|
||||
|
||||
if user&.auth_token
|
||||
if AuthProvider.active.providable_type != DatabaseProvider.name
|
||||
NotificationCenter.call type: 'notify_user_auth_migration',
|
||||
receiver: user,
|
||||
attached_object: user
|
||||
render json: {status: 'processing'}, status: :ok
|
||||
else
|
||||
render json: {status: 'error', error: I18n.t('members.current_authentication_method_no_code')}, status: :bad_request
|
||||
end
|
||||
else
|
||||
render json: {status: 'error', error: I18n.t('members.requested_account_does_not_exists')}, status: :bad_request
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_provider
|
||||
|
@ -16,4 +16,7 @@ class AuthProviderPolicy < ApplicationPolicy
|
||||
user
|
||||
end
|
||||
|
||||
def send_code?
|
||||
user
|
||||
end
|
||||
end
|
||||
|
@ -23,7 +23,9 @@ en:
|
||||
confirm_my_code: "Confirm my code"
|
||||
an_unexpected_error_occurred_check_your_authentication_code: "An unexpected error occurred, please check your authentication code."
|
||||
send_code_again: "Send the code again"
|
||||
email_address_associated_with_your_account: "Email address associated with your account"
|
||||
email_format_is_incorrect: "Email format is incorrect"
|
||||
code_successfully_sent_again: "Code successfully sent again"
|
||||
|
||||
dashboard:
|
||||
# dashboard: public profile
|
||||
|
@ -23,7 +23,9 @@ fr:
|
||||
confirm_my_code: "Valider mon code"
|
||||
an_unexpected_error_occurred_check_your_authentication_code: "Une erreur inattendue est survenue, vérifiez votre code d'authentification."
|
||||
send_code_again: "Renvoyer le code"
|
||||
email_address_associated_with_your_account: "Adresse électronique associée à votre compte"
|
||||
email_format_is_incorrect: "Le format de l'adresse email est incorrect"
|
||||
code_successfully_sent_again: "Le code a bien été renvoyé"
|
||||
|
||||
dashboard:
|
||||
# tableau de bord: profile publique
|
||||
|
@ -63,6 +63,8 @@ en:
|
||||
unable_to_change_the_group_while_a_subscription_is_running: "Unable to change the group while a subscription is running"
|
||||
please_input_the_authentication_code_sent_to_the_address: "Please input the authentication code sent to the e-mail address %{EMAIL}"
|
||||
your_authentication_code_is_not_valid: "Your authentication code is not valid."
|
||||
current_authentication_method_no_code: "The current authentication method does not require any migration code"
|
||||
requested_account_does_not_exists: "The requested account does not exist"
|
||||
|
||||
invoices:
|
||||
# PDF invoices generation
|
||||
|
@ -63,6 +63,8 @@ fr:
|
||||
unable_to_change_the_group_while_a_subscription_is_running: "Impossible de changer le groupe tant qu'un abonnement est en cours"
|
||||
please_input_the_authentication_code_sent_to_the_address: "Merci d'enter le code d'authentification qui a été envoyé à l'adresse de courriel %{EMAIL}"
|
||||
your_authentication_code_is_not_valid: "Votre code d'authentification n'est pas valide."
|
||||
current_authentication_method_no_code: "La méthode d'authentification actuelle ne requiert pas de code de migration"
|
||||
requested_account_does_not_exists: "Le compte utilisateur demandé n'existe pas"
|
||||
|
||||
invoices:
|
||||
# génération des factures en PDF
|
||||
|
@ -114,6 +114,7 @@ Rails.application.routes.draw do
|
||||
resources :auth_providers do
|
||||
get 'mapping_fields', on: :collection
|
||||
get 'active', action: 'active', on: :collection
|
||||
post 'send_code', action: 'send_code', on: :collection
|
||||
end
|
||||
resources :abuses, only: [:create]
|
||||
resources :open_api_clients, only: [:index, :create, :update, :destroy] do
|
||||
|
Loading…
x
Reference in New Issue
Block a user