tybo 0.0.10 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/components/icons/trash_component.html.erb +1 -1
- data/app/views/devise/passwords/edit.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +2 -2
- data/app/views/devise/sessions/new.html.erb +7 -6
- data/app/views/devise/shared/_links.html.erb +1 -1
- data/app/views/layouts/_flash.html.erb +19 -19
- data/app/views/layouts/tybo/application.html.erb +10 -12
- data/app/views/login/home.html.erb +3 -5
- data/config/initializers/devise.rb +23 -3
- data/config/locales/devise.fr.yml +145 -0
- data/lib/generators/bo_namespace/bo_namespace_generator.rb +1 -1
- data/lib/generators/tybo_install/{tybo_config.rb → tybo_install_generator.rb} +0 -0
- data/lib/tybo/version.rb +1 -1
- metadata +4 -6
- data/app/views/devise/login/home.html.erb +0 -18
- data/app/views/devise/shared/_devise_errors.html.erb +0 -26
- data/app/views/devise/shared/_error_messages.html.erb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff316ce32e05b03bd95e99c31631d2c3b8254ec8dce7b592c2860558aaa1d1ff
|
4
|
+
data.tar.gz: 955dea95c34aaa8ca1eedcdc63fadc91cdbf962ce3c83f6ea99947c5f2b4e563
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98f3f107ddb3ad5cd000170ddb9f2ab049a6f2d1cd816467815f99c4c8ba507148e824f4a81d0aede83eae04fa7e24f81a3a5e7a98c630439d35eae8bd5076be
|
7
|
+
data.tar.gz: 6124736a64b0f9f92f6510e942552c4e72912dcc0297ea367b531ba0cd4bbcf152b7078a6885e4fe05035fa573cde8b1eab66b4a3210830257a997208538e108
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<svg class="mr-3 flex-shrink-0 h-6 w-6 text-
|
1
|
+
<svg class="mr-3 flex-shrink-0 h-6 w-6 text-tybo" xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
2
2
|
<path strokeLinecap="round" strokeLinejoin="round" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
|
3
3
|
</svg>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<div class="flex min-h-full">
|
2
2
|
<div class="flex flex-1 flex-col justify-center py-12 px-4 sm:px-6 lg:flex-none lg:px-20 xl:px-24">
|
3
|
-
<%= render 'devise/shared/devise_errors' %>
|
4
3
|
<div class="mx-auto w-full max-w-sm lg:w-96">
|
5
4
|
<div>
|
5
|
+
<%= render('layouts/flash') %>
|
6
6
|
<%= image_tag Tybo.configuration.logo_url, class: 'h-12 w-auto'%>
|
7
7
|
<h2 class="mt-6 text-3xl font-bold tracking-tight text-gray-900">Créer un nouveau mot de passe</h2>
|
8
8
|
</div>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<div class="flex min-h-full">
|
2
2
|
<div class="flex flex-1 flex-col justify-center py-12 px-4 sm:px-6 lg:flex-none lg:px-20 xl:px-24">
|
3
|
-
<%= render 'devise/shared/devise_errors' %>
|
4
3
|
<div class="mx-auto w-full max-w-sm lg:w-96">
|
5
4
|
<div>
|
5
|
+
<%= render('layouts/flash') %>
|
6
6
|
<%= image_tag Tybo.configuration.logo_url, class: 'h-12 w-auto'%>
|
7
7
|
<h2 class="mt-6 text-3xl font-bold tracking-tight text-gray-900">Forgot your password?</h2>
|
8
8
|
</div>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
</div>
|
22
22
|
<div class="mt-5">
|
23
|
-
<%= f.button :submit, "
|
23
|
+
<%= f.button :submit, I18n.t("devise.passwords.new.send_me_reset_password_instructions"), class: "flex w-full justify-center rounded-md border border-transparent bg-tybo-600 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-tybo-700 focus:outline-none focus:ring-2 focus:ring-tybo-500 focus:ring-offset-2" %>
|
24
24
|
</div>
|
25
25
|
<% end %>
|
26
26
|
</div>
|
@@ -1,10 +1,9 @@
|
|
1
1
|
<div class="flex min-h-full">
|
2
2
|
<div class="flex flex-1 flex-col justify-center py-12 px-4 sm:px-6 lg:flex-none lg:px-20 xl:px-24">
|
3
3
|
<div class="mx-auto w-full max-w-sm lg:w-96">
|
4
|
-
<%= render
|
5
|
-
<div>
|
4
|
+
<%= render('layouts/flash') %>
|
6
5
|
<%= image_tag Tybo.configuration.logo_url, class: 'h-12 w-auto'%>
|
7
|
-
<h2 class="mt-6 text-3xl font-bold tracking-tight text-gray-900"
|
6
|
+
<h2 class="mt-6 text-3xl font-bold tracking-tight text-gray-900"><%=I18n.t("bo.devise.sign_in_as.#{resource_name}")%></h2>
|
8
7
|
</div>
|
9
8
|
<div class="mt-8">
|
10
9
|
<div class="mt-6">
|
@@ -28,16 +27,18 @@
|
|
28
27
|
<div class="flex items-center justify-between">
|
29
28
|
<div class="flex items-center">
|
30
29
|
<input id="remember_me" name="remember_me" type="checkbox" class="h-4 w-4 rounded border-gray-300 text-tybo-600 focus:ring-tybo-500">
|
31
|
-
<label for="remember_me" class="ml-2 block text-sm text-gray-900"
|
30
|
+
<label for="remember_me" class="ml-2 block text-sm text-gray-900"><%=I18n.t("activerecord.attributes.user.remember_me")%></label>
|
32
31
|
</div>
|
33
32
|
|
34
33
|
<div class="text-sm">
|
35
|
-
<a href="<%= new_password_path(Administrator)%>" class="font-medium text-tybo-600 hover:text-tybo-500">
|
34
|
+
<a href="<%= new_password_path(Administrator)%>" class="font-medium text-tybo-600 hover:text-tybo-500">
|
35
|
+
<%=I18n.t("devise.passwords.new.forgot_your_password")%>
|
36
|
+
</a>
|
36
37
|
</div>
|
37
38
|
</div>
|
38
39
|
|
39
40
|
<div class="mt-5">
|
40
|
-
<%= f.button :submit, "
|
41
|
+
<%= f.button :submit, I18n.t("devise.sessions.new.sign_in"), class: "flex w-full justify-center rounded-md border border-transparent bg-tybo-600 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-tybo-700 focus:outline-none focus:ring-2 focus:ring-tybo-500 focus:ring-offset-2" %>
|
41
42
|
</div>
|
42
43
|
<% end %>
|
43
44
|
</div>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div class="space-y-1 mt-1">
|
2
2
|
<%- if controller_name != 'sessions' %>
|
3
|
-
<%= link_to
|
3
|
+
<%= link_to I18n.t('devise.sessions.new.sign_in'), new_session_path(resource_name), class: "inline-flex w-full justify-center rounded-md border border-gray-300 bg-white py-2 px-4 text-sm font-medium text-gray-500 shadow-sm hover:bg-gray-50" %><br />
|
4
4
|
<% end %>
|
5
5
|
|
6
6
|
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
@@ -1,24 +1,24 @@
|
|
1
1
|
<% flash.each do |key, errors| %>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
</div>
|
2
|
+
<div class="rounded-md <%= classes_for_flash(key) %> p-4" data-controller="flash">
|
3
|
+
<div class="flex">
|
4
|
+
<div class="flex-shrink-0">
|
5
|
+
<svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
6
|
+
<path fill-rule="evenodd" d="M8.485 3.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 3.495zM10 6a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 6zm0 9a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"/>
|
7
|
+
</svg>
|
8
|
+
</div>
|
9
|
+
<div class="ml-3">
|
10
|
+
<%= errors %>
|
11
|
+
</div>
|
12
|
+
<div class="ml-auto pl-3">
|
13
|
+
<div class="-mx-1.5 -my-1.5">
|
14
|
+
<button type="button" data-action="flash#dismiss" class="inline-flex rounded-md p-1.5 focus:outline-none focus:ring-2 focus:ring-offset-2">
|
15
|
+
<span class="sr-only"><%= I18n.t('bo.flash.close')%></span>
|
16
|
+
<svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
17
|
+
<path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"/>
|
18
|
+
</svg>
|
19
|
+
</button>
|
21
20
|
</div>
|
22
21
|
</div>
|
23
22
|
</div>
|
23
|
+
</div>
|
24
24
|
<% end %>
|
@@ -1,14 +1,12 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
</body>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Tybo</title>
|
5
|
+
<%= csrf_meta_tags %>
|
6
|
+
<%= csp_meta_tag %>
|
7
|
+
<%= stylesheet_link_tag "tybo", "data-turbo-track": "reload" %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<%= yield %>
|
11
|
+
</body>
|
14
12
|
</html>
|
@@ -3,17 +3,15 @@
|
|
3
3
|
<div class="mx-auto w-full max-w-sm lg:w-96">
|
4
4
|
<div>
|
5
5
|
<%= image_tag Tybo.configuration.logo_url, class: 'h-12 w-auto' %>
|
6
|
-
<h2 class="mt-6 text-3xl font-bold tracking-tight text-gray-900">Sign in to your account</h2>
|
7
6
|
</div>
|
8
7
|
<div class="mt-4">
|
9
8
|
<% @resources.each do |resource| %>
|
10
9
|
<a href="<%=send("new_#{resource.to_s}_session_path")%>" class="mt-2 flex w-full justify-center rounded-md border border-transparent bg-tybo-600 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-tybo-700 focus:outline-none focus:ring-2 focus:ring-tybo-500 focus:ring-offset-2">
|
11
|
-
|
10
|
+
<%=I18n.t("bo.devise.sign_in_as.#{resource.to_s}")%>
|
12
11
|
</a>
|
13
12
|
<% end %>
|
14
13
|
</div>
|
15
14
|
</div>
|
16
15
|
</div>
|
17
|
-
|
18
|
-
|
19
|
-
</div>
|
16
|
+
<%= render(CoverComponent.new) %>
|
17
|
+
|
@@ -1,5 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
class TurboFailureApp < Devise::FailureApp
|
4
|
+
def respond
|
5
|
+
if request_format == :turbo_stream
|
6
|
+
redirect
|
7
|
+
else
|
8
|
+
super
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def skip_format?
|
13
|
+
%w(html turbo_stream */*).include? request_format.to_s
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
3
17
|
# Assuming you have not yet modified this file, each configuration option below
|
4
18
|
# is set to its default value. Note that some are commented out while others
|
5
19
|
# are not: uncommented lines are intended to protect your configuration from
|
@@ -14,7 +28,7 @@ Devise.setup do |config|
|
|
14
28
|
# confirmation, reset password and unlock tokens in the database.
|
15
29
|
# Devise will use the `secret_key_base` as its `secret_key`
|
16
30
|
# by default. You can change it below and use your own secret key.
|
17
|
-
# config.secret_key = '
|
31
|
+
# config.secret_key = '4bd5e06b48093101d6f137ef226bd5cca582610e9feb2809347eae388976f5efa778178fd94b7567ea13fd3c504d185db881d5f4aa9425781cb988d784639fd4'
|
18
32
|
|
19
33
|
# ==> Controller configuration
|
20
34
|
# Configure the parent class to the devise controllers.
|
@@ -28,7 +42,9 @@ Devise.setup do |config|
|
|
28
42
|
|
29
43
|
# Configure the class responsible to send e-mails.
|
30
44
|
# config.mailer = 'Devise::Mailer'
|
31
|
-
|
45
|
+
config.mailer_sender = ENV['MAIL_FROM']
|
46
|
+
# Configure the class responsible to send e-mails.
|
47
|
+
config.mailer = 'BoDeviseMailer'
|
32
48
|
# Configure the parent class responsible to send e-mails.
|
33
49
|
# config.parent_mailer = 'ActionMailer::Base'
|
34
50
|
|
@@ -126,7 +142,7 @@ Devise.setup do |config|
|
|
126
142
|
config.stretches = Rails.env.test? ? 1 : 12
|
127
143
|
|
128
144
|
# Set up a pepper to generate the hashed password.
|
129
|
-
# config.pepper = '
|
145
|
+
# config.pepper = '4551e02c32a843da4a330d94e9427b4239f886a6adb77cdc03711ec57741a0f922aa56a2faeddcc11acb633846be7f9717860c11bf428ba9db1b10f91bb9b1b0'
|
130
146
|
|
131
147
|
# Send a notification to the original email when the user's email is changed.
|
132
148
|
# config.send_email_changed_notification = false
|
@@ -264,6 +280,7 @@ Devise.setup do |config|
|
|
264
280
|
#
|
265
281
|
# The "*/*" below is required to match Internet Explorer requests.
|
266
282
|
# config.navigational_formats = ['*/*', :html]
|
283
|
+
config.navigational_formats = ['*/*', :html, :turbo_stream]
|
267
284
|
|
268
285
|
# The default HTTP method used to sign out a resource. Default is :delete.
|
269
286
|
config.sign_out_via = :delete
|
@@ -281,6 +298,9 @@ Devise.setup do |config|
|
|
281
298
|
# manager.intercept_401 = false
|
282
299
|
# manager.default_strategies(scope: :user).unshift :some_external_strategy
|
283
300
|
# end
|
301
|
+
config.warden do |manager|
|
302
|
+
manager.failure_app = TurboFailureApp
|
303
|
+
end
|
284
304
|
|
285
305
|
# ==> Mountable engine configurations
|
286
306
|
# When using Devise inside an engine, let's call it `MyEngine`, and this engine
|
@@ -0,0 +1,145 @@
|
|
1
|
+
fr:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
user:
|
5
|
+
confirmation_sent_at: Date d'envoi de la confirmation
|
6
|
+
confirmation_token: Clé de confirmation du mot de passe
|
7
|
+
confirmed_at: Date de confirmation
|
8
|
+
created_at: Date d'enregistrement
|
9
|
+
current_password: Mot de passe actuel
|
10
|
+
current_sign_in_at: Date de la connexion actuelle
|
11
|
+
current_sign_in_ip: IP de la connexion actuelle
|
12
|
+
email: Email
|
13
|
+
encrypted_password: Mot de passe chiffré
|
14
|
+
failed_attempts: Tentatives échouées
|
15
|
+
last_sign_in_at: Date de la dernière connexion
|
16
|
+
last_sign_in_ip: IP de la dernière connexion
|
17
|
+
locked_at: Verrouillé à
|
18
|
+
password: Mot de passe
|
19
|
+
password_confirmation: Confirmation du mot de passe
|
20
|
+
remember_created_at: Mémorisé à
|
21
|
+
remember_me: Se souvenir de moi ?
|
22
|
+
reset_password_sent_at: Clé de réinitialisation créée à
|
23
|
+
reset_password_token: Clé de réinitialisation du mot de passe
|
24
|
+
sign_in_count: Nombre des connexions
|
25
|
+
unconfirmed_email: Email non confirmé
|
26
|
+
unlock_token: Clé de déverrouillage
|
27
|
+
updated_at: Date de mise à jour
|
28
|
+
models:
|
29
|
+
user: Utilisateur
|
30
|
+
devise:
|
31
|
+
confirmations:
|
32
|
+
confirmed: Votre compte a bien été confirmé.
|
33
|
+
new:
|
34
|
+
resend_confirmation_instructions: Renvoyer les instructions de confirmation
|
35
|
+
send_instructions: Vous allez recevoir sous quelques minutes un email comportant des instructions pour confirmer votre compte.
|
36
|
+
send_paranoid_instructions: Si votre email existe sur notre base de données, vous recevrez sous quelques minutes un message avec des instructions pour confirmer votre compte.
|
37
|
+
failure:
|
38
|
+
already_authenticated: Vous êtes déjà connecté(e).
|
39
|
+
inactive: Votre compte n’est pas encore activé.
|
40
|
+
invalid: "%{authentication_keys} ou mot de passe incorrect."
|
41
|
+
last_attempt: Il vous reste une chance avant que votre compte soit bloqué.
|
42
|
+
locked: Votre compte est verrouillé.
|
43
|
+
not_found_in_database: "%{authentication_keys} ou mot de passe incorrect."
|
44
|
+
timeout: Votre session est expirée, veuillez vous reconnecter pour continuer.
|
45
|
+
unauthenticated: Vous devez vous connecter ou vous enregistrer pour continuer.
|
46
|
+
unconfirmed: Vous devez confirmer votre compte par email.
|
47
|
+
mailer:
|
48
|
+
confirmation_instructions:
|
49
|
+
action: Confirmer mon email
|
50
|
+
greeting: Bienvenue %{recipient} !
|
51
|
+
instruction: 'Vous pouvez confirmer votre email grâce au lien ci-dessous :'
|
52
|
+
subject: Instructions de confirmation
|
53
|
+
email_changed:
|
54
|
+
greeting: Bonjour %{recipient} !
|
55
|
+
message: Nous vous contactons pour vous informer que votre email a été changé en %{email}.
|
56
|
+
message_unconfirmed: Nous vous contactons pour vous informer que votre email est en train d'être changé par %{email}.
|
57
|
+
subject: Email modifié
|
58
|
+
password_change:
|
59
|
+
greeting: Bonjour %{recipient} !
|
60
|
+
message: Nous vous contactons pour vous notifier que votre mot de passe a été modifié.
|
61
|
+
subject: Mot de passe modifié
|
62
|
+
reset_password_instructions:
|
63
|
+
action: Changer mon mot de passe
|
64
|
+
greeting: Bonjour %{recipient} !
|
65
|
+
instruction: 'Quelqu''un a demandé un lien pour changer votre mot de passe, le voici :'
|
66
|
+
instruction_2: Si vous n'avez pas émis cette demande, merci d'ignorer cet email.
|
67
|
+
instruction_3: Votre mot de passe ne changera pas tant que vous n'aurez pas cliqué sur ce lien et renseigné un nouveau mot de passe.
|
68
|
+
subject: Instructions pour changer le mot de passe
|
69
|
+
unlock_instructions:
|
70
|
+
action: Débloquer mon compte
|
71
|
+
greeting: Bonjour %{recipient} !
|
72
|
+
instruction: 'Suivez ce lien pour débloquer votre compte :'
|
73
|
+
message: Votre compte a été bloqué suite à un nombre d'essais de connexions manquées trop important.
|
74
|
+
subject: Instructions pour déverrouiller le compte
|
75
|
+
omniauth_callbacks:
|
76
|
+
failure: 'Nous ne pouvons pas vous authentifier depuis %{kind} pour la raison suivante : ''%{reason}''.'
|
77
|
+
success: Autorisé par votre compte %{kind}.
|
78
|
+
passwords:
|
79
|
+
edit:
|
80
|
+
change_my_password: Changer mon mot de passe
|
81
|
+
change_your_password: Changer votre mot de passe
|
82
|
+
confirm_new_password: Confirmez votre nouveau mot de passe
|
83
|
+
new_password: Nouveau mot de passe
|
84
|
+
new:
|
85
|
+
forgot_your_password: Mot de passe oublié ?
|
86
|
+
send_me_reset_password_instructions: Réinitialiser mon mot de passe
|
87
|
+
no_token: Vous ne pouvez pas accéder à cette page si vous n’y accédez pas depuis un email de réinitialisation de mot de passe. Si vous venez en effet d’un tel email, vérifiez que vous avez copié l’adresse URL en entier.
|
88
|
+
send_instructions: Vous allez recevoir sous quelques minutes un email vous indiquant comment réinitialiser votre mot de passe.
|
89
|
+
send_paranoid_instructions: Si votre email existe dans notre base de données, vous recevrez un lien vous permettant de récupérer votre mot de passe.
|
90
|
+
updated: Votre mot de passe a bien été modifié. Vous êtes maintenant connecté(e).
|
91
|
+
updated_not_active: Votre mot de passe a bien été modifié.
|
92
|
+
registrations:
|
93
|
+
destroyed: Au revoir ! Votre compte a bien été supprimé. Nous espérons vous revoir bientôt.
|
94
|
+
edit:
|
95
|
+
are_you_sure: Êtes-vous sûr ?
|
96
|
+
cancel_my_account: Supprimer mon compte
|
97
|
+
currently_waiting_confirmation_for_email: 'Confirmation en attente pour: %{email}'
|
98
|
+
leave_blank_if_you_don_t_want_to_change_it: laissez ce champ vide pour le laisser inchangé
|
99
|
+
title: Éditer %{resource}
|
100
|
+
unhappy: Pas content ?
|
101
|
+
update: Modifier
|
102
|
+
we_need_your_current_password_to_confirm_your_changes: nous avons besoin de votre mot de passe actuel pour valider ces modifications
|
103
|
+
new:
|
104
|
+
sign_up: Inscription
|
105
|
+
signed_up: Bienvenue ! Vous vous êtes bien enregistré(e).
|
106
|
+
signed_up_but_inactive: Vous vous êtes bien enregistré(e). Cependant, nous n’avons pas pu vous connecter car votre compte n’a pas encore été activé.
|
107
|
+
signed_up_but_locked: Vous vous êtes bien enregistré(e). Cependant, nous n’avons pas pu vous connecter car votre compte est verrouillé.
|
108
|
+
signed_up_but_unconfirmed: Un message avec un lien de confirmation vous a été envoyé par mail. Veuillez suivre ce lien pour activer votre compte.
|
109
|
+
update_needs_confirmation: Vous avez bien modifié votre compte, mais nous devons vérifier votre nouvelle adresse email. Veuillez consulter vos emails et cliquer sur le lien de confirmation pour confirmer votre nouvelle adresse.
|
110
|
+
updated: Votre compte a bien été modifié.
|
111
|
+
updated_but_not_signed_in: Votre compte a été mis à jour avec succès. Vous devez vous reconnecter car votre mot de passe a été modifié.
|
112
|
+
sessions:
|
113
|
+
already_signed_out: Déconnecté(e).
|
114
|
+
new:
|
115
|
+
sign_in: Connexion
|
116
|
+
signed_in: Connecté(e).
|
117
|
+
signed_out: Déconnecté(e).
|
118
|
+
shared:
|
119
|
+
links:
|
120
|
+
back: Retour
|
121
|
+
didn_t_receive_confirmation_instructions: Vous n'avez pas reçu l'email de confirmation ?
|
122
|
+
didn_t_receive_unlock_instructions: Vous n'avez pas reçu l'email de déblocage ?
|
123
|
+
forgot_your_password: Mot de passe oublié ?
|
124
|
+
sign_in: Connexion
|
125
|
+
sign_in_with_provider: Connexion avec %{provider}
|
126
|
+
sign_up: Inscription
|
127
|
+
minimum_password_length:
|
128
|
+
one: "(%{count} caractère au moins)"
|
129
|
+
other: "(%{count} caractères au moins)"
|
130
|
+
unlocks:
|
131
|
+
new:
|
132
|
+
resend_unlock_instructions: Renvoyer les instructions de déblocage
|
133
|
+
send_instructions: Vous allez recevoir sous quelques minutes un email comportant des instructions pour déverrouiller votre compte.
|
134
|
+
send_paranoid_instructions: Si votre email existe sur notre base de données, vous recevrez sous quelques minutes un message avec des instructions pour déverrouiller votre compte.
|
135
|
+
unlocked: Votre compte a bien été déverrouillé. Veuillez vous connecter.
|
136
|
+
errors:
|
137
|
+
messages:
|
138
|
+
already_confirmed: a déjà été confirmé(e)
|
139
|
+
confirmation_period_expired: doit être confirmé(e) en %{period}, veuillez en demander un(e) autre
|
140
|
+
expired: est expiré, veuillez en demander un autre
|
141
|
+
not_found: n’a pas été trouvé(e)
|
142
|
+
not_locked: n’était pas verrouillé(e)
|
143
|
+
not_saved:
|
144
|
+
one: 'une erreur a empêché ce (cet ou cette) %{resource} d’être enregistré(e) :'
|
145
|
+
other: "%{count} erreurs ont empêché ce (cet ou cette) %{resource} d’être enregistré(e) :"
|
@@ -9,7 +9,7 @@ class BoNamespaceGenerator < Rails::Generators::NamedBase
|
|
9
9
|
template 'admin_controller.rb', File.join('app/controllers/', "#{singular_name}_controller.rb")
|
10
10
|
template 'seeds.rb', File.join('db/seeds/', "#{plural_name}.rb")
|
11
11
|
template 'side_bar.html.erb', File.join('app/views/', "#{plural_name}/layouts/_side_bar.html.erb")
|
12
|
-
|
12
|
+
remove_devise_registration
|
13
13
|
end
|
14
14
|
|
15
15
|
def create_directories
|
File without changes
|
data/lib/tybo/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tybo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michel Delpierre
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-02-
|
12
|
+
date: 2023-02-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -209,7 +209,6 @@ files:
|
|
209
209
|
- app/mailers/tybo/application_mailer.rb
|
210
210
|
- app/models/tybo/application_record.rb
|
211
211
|
- app/views/devise/confirmations/new.html.erb
|
212
|
-
- app/views/devise/login/home.html.erb
|
213
212
|
- app/views/devise/mailer/_reset_password_instructions.html.erb
|
214
213
|
- app/views/devise/mailer/confirmation_instructions.html.erb
|
215
214
|
- app/views/devise/mailer/email_changed.html.erb
|
@@ -220,8 +219,6 @@ files:
|
|
220
219
|
- app/views/devise/registrations/edit.html.erb
|
221
220
|
- app/views/devise/registrations/new.html.erb
|
222
221
|
- app/views/devise/sessions/new.html.erb
|
223
|
-
- app/views/devise/shared/_devise_errors.html.erb
|
224
|
-
- app/views/devise/shared/_error_messages.html.erb
|
225
222
|
- app/views/devise/shared/_links.html.erb
|
226
223
|
- app/views/devise/unlocks/new.html.erb
|
227
224
|
- app/views/layouts/_errors.html.erb
|
@@ -234,6 +231,7 @@ files:
|
|
234
231
|
- config/initializers/pagy.rb
|
235
232
|
- config/initializers/ransack.rb
|
236
233
|
- config/locales/devise.en.yml
|
234
|
+
- config/locales/devise.fr.yml
|
237
235
|
- config/routes.rb
|
238
236
|
- lib/generators/bo/USAGE
|
239
237
|
- lib/generators/bo/bo_generator.rb
|
@@ -258,7 +256,7 @@ files:
|
|
258
256
|
- lib/generators/tybo_install/templates/tailwind.config.js
|
259
257
|
- lib/generators/tybo_install/templates/tom-select.css
|
260
258
|
- lib/generators/tybo_install/templates/tybo_config.rb
|
261
|
-
- lib/generators/tybo_install/
|
259
|
+
- lib/generators/tybo_install/tybo_install_generator.rb
|
262
260
|
- lib/tybo.rb
|
263
261
|
- lib/tybo/configuration.rb
|
264
262
|
- lib/tybo/engine.rb
|
@@ -1,18 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<div class="flex flex-1 flex-col justify-center py-12 px-4 sm:px-6 lg:flex-none lg:px-20 xl:px-24">
|
4
|
-
<div class="mx-auto w-full max-w-sm lg:w-96">
|
5
|
-
<div>
|
6
|
-
<%= image_tag Tybo.configuration.logo_url, class: 'h-12 w-auto'%>
|
7
|
-
<h2 class="mt-6 text-3xl font-bold tracking-tight text-gray-900">Sign in to your account</h2>
|
8
|
-
</div>
|
9
|
-
<div class="mt-4">
|
10
|
-
<% @resources.each do |resource| %>
|
11
|
-
<a href="<%=send("new_#{resource.to_s}_session_path")%>" class="mt-2 flex w-full justify-center rounded-md border border-transparent bg-tybo-600 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-tybo-700 focus:outline-none focus:ring-2 focus:ring-tybo-500 focus:ring-offset-2">
|
12
|
-
Sign in as <%= I18n.t("bo.#{resource.to_s}.one")%>
|
13
|
-
</a>
|
14
|
-
<% end %>
|
15
|
-
</div>
|
16
|
-
</div>
|
17
|
-
</div>
|
18
|
-
<%= render(CoverComponent.new) %>
|
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
<% if notice || alert %>
|
3
|
-
<div class="rounded-md bg-red-50 p-4 my-3" data-controller="flash">
|
4
|
-
<div class="flex">
|
5
|
-
<div class="flex-shrink-0">
|
6
|
-
<svg class="h-5 w-5 text-red-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
7
|
-
<path fill-rule="evenodd" d="M8.485 3.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 3.495zM10 6a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 6zm0 9a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"/>
|
8
|
-
</svg>
|
9
|
-
</div>
|
10
|
-
<div class="ml-3">
|
11
|
-
<p class="text-sm font-medium text-tybo-800"><%= notice %></p>
|
12
|
-
<p class="text-sm font-medium text-red-800"><%= alert %></p>
|
13
|
-
</div>
|
14
|
-
<div class="ml-auto pl-3">
|
15
|
-
<div class="-mx-1.5 -my-1.5">
|
16
|
-
<button type="button" data-action="flash#dismiss" class="inline-flex bg-red-50 rounded-md p-1.5 text-red-500 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-red-50 focus:ring-red-600">
|
17
|
-
<span class="sr-only">Dismiss</span>
|
18
|
-
<svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
19
|
-
<path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"/>
|
20
|
-
</svg>
|
21
|
-
</button>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
<% end %>
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<% if resource.errors.any? %>
|
2
|
-
<div id="error_explanation">
|
3
|
-
<h2>
|
4
|
-
<%= I18n.t("errors.messages.not_saved",
|
5
|
-
count: resource.errors.count,
|
6
|
-
resource: resource.class.model_name.human.downcase)
|
7
|
-
%>
|
8
|
-
</h2>
|
9
|
-
<ul>
|
10
|
-
<% resource.errors.full_messages.each do |message| %>
|
11
|
-
<li><%= message %></li>
|
12
|
-
<% end %>
|
13
|
-
</ul>
|
14
|
-
</div>
|
15
|
-
<% end %>
|