hobo 1.3.0.pre23 → 1.3.0.pre24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/hobo.gemspec +1 -0
- data/lib/generators/hobo/controller.rb +5 -0
- data/lib/generators/hobo/i18n/templates/app.es.yml +30 -0
- data/lib/generators/hobo/i18n/templates/app.ru.yml +23 -0
- data/lib/generators/hobo/i18n/templates/hobo.en.yml +2 -1
- data/lib/generators/hobo/i18n/templates/{hobo.es-DO.yml → hobo.es.yml} +9 -7
- data/lib/generators/hobo/i18n/templates/hobo.it.yml +1 -0
- data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +1 -0
- data/lib/generators/hobo/i18n/templates/hobo.ru.yml +193 -0
- data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +27 -5
- data/lib/generators/hobo/test_framework/test_framework_generator.rb +2 -2
- data/lib/hobo/controller/model.rb +1 -1
- data/lib/hobo/engine.rb +1 -0
- data/lib/hobo/model/user.rb +8 -6
- data/lib/hobo/rapid/taglibs/rapid_forms.dryml +1 -1
- metadata +17 -15
- data/lib/generators/hobo/i18n/templates/app.es-DO.yml +0 -24
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.0.
|
1
|
+
1.3.0.pre24
|
data/hobo.gemspec
CHANGED
@@ -4,6 +4,10 @@ module Generators
|
|
4
4
|
|
5
5
|
check_class_collision :suffix => 'Controller'
|
6
6
|
|
7
|
+
class_option :helpers, :type => :boolean,
|
8
|
+
:desc => "Generates helper files",
|
9
|
+
:default => !Rails.application.config.hobo.dryml_only_templates
|
10
|
+
|
7
11
|
def self.banner
|
8
12
|
"rails generate hobo:controller #{self.arguments.map(&:usage).join(' ')}"
|
9
13
|
end
|
@@ -18,6 +22,7 @@ module Generators
|
|
18
22
|
end
|
19
23
|
|
20
24
|
def generate_helper
|
25
|
+
return unless options[:helpers]
|
21
26
|
invoke 'helper', [name], options
|
22
27
|
end
|
23
28
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Hobo application translation file for Spanish.
|
2
|
+
# Please, add the specific models and attributes for your application.
|
3
|
+
|
4
|
+
# Translated by Domizio Demichelis (dd.nexus@gmail.com)
|
5
|
+
# Corrections by Ricardo Pacheco
|
6
|
+
|
7
|
+
# This file might be used for other Latin America Spanish Countries without any change
|
8
|
+
# It might be ok also for Spain. If you find any error, or if you have any more specific translation,
|
9
|
+
# please post it to http://hobousers.googlegroups.com. Thank you!
|
10
|
+
|
11
|
+
es:
|
12
|
+
|
13
|
+
attributes:
|
14
|
+
created_at: Creado el
|
15
|
+
updated_at: Actualizado el
|
16
|
+
|
17
|
+
activerecord:
|
18
|
+
models:
|
19
|
+
user:
|
20
|
+
one: Usuario
|
21
|
+
other: Usuarios
|
22
|
+
attributes:
|
23
|
+
user:
|
24
|
+
name: Nombre
|
25
|
+
password: Contraseña
|
26
|
+
password_confirmation: Confirmación Contraseña
|
27
|
+
email_address: Correo Electrónico
|
28
|
+
# attribute_help:
|
29
|
+
# user:
|
30
|
+
# email_address:
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Hobo application translation file for Russian.
|
2
|
+
# Please, add the specific models and attributes for your application.
|
3
|
+
|
4
|
+
ru:
|
5
|
+
|
6
|
+
attributes:
|
7
|
+
created_at: Создано
|
8
|
+
updated_at: Обновлено
|
9
|
+
|
10
|
+
activerecord:
|
11
|
+
models:
|
12
|
+
user:
|
13
|
+
one: Пользователь
|
14
|
+
other: Пользователи
|
15
|
+
attributes:
|
16
|
+
user:
|
17
|
+
name: Имя
|
18
|
+
password: Пароль
|
19
|
+
password_confirmation: Подтверждение пароля
|
20
|
+
email_address: Электронный адрес
|
21
|
+
# attribute_help:
|
22
|
+
# user:
|
23
|
+
# email_address: We will never share your address with third parties
|
@@ -72,7 +72,7 @@ en:
|
|
72
72
|
|
73
73
|
account_page:
|
74
74
|
title: "Your Account"
|
75
|
-
heading: "Your
|
75
|
+
heading: "Your Account"
|
76
76
|
new_password: "New Password"
|
77
77
|
confirm_new_password: "Confirm New Password"
|
78
78
|
|
@@ -127,6 +127,7 @@ en:
|
|
127
127
|
permission_denied: "Permission Denied"
|
128
128
|
not_found: "The page you requested cannot be found."
|
129
129
|
unauthenticated: "Couldn't authenticate you"
|
130
|
+
validate_password: "must be at least 6 characters long and must not consist solely of lowercase letters"
|
130
131
|
current_password_is_not_correct: "is not correct"
|
131
132
|
you_are_site_admin: "You are now the site administrator"
|
132
133
|
you_signed_up: "You have signed up"
|
@@ -1,11 +1,12 @@
|
|
1
|
-
# Hobo internals translation file for Spanish (
|
1
|
+
# Hobo internals translation file for Spanish (Mexico).
|
2
2
|
# Translated by Domizio Demichelis (dd.nexus@gmail.com)
|
3
|
+
# Corrections by Ricardo Pacheco
|
3
4
|
|
4
5
|
# This file might be used for other Latin America Spanish Countries without any change
|
5
6
|
# It might be ok also for Spain. If you find any error, or if you have any more specific translation,
|
6
7
|
# please post it to http://hobousers.googlegroups.com. Thank you!
|
7
8
|
|
8
|
-
|
9
|
+
es:
|
9
10
|
hobo:
|
10
11
|
# default hobo pages translations
|
11
12
|
index:
|
@@ -62,8 +63,8 @@
|
|
62
63
|
forgot_password:
|
63
64
|
title: *forgot_password
|
64
65
|
heading: *forgot_password
|
65
|
-
text: "Ingresa la dirección de tu Correo Eléctronico que utilizaste cuando te
|
66
|
-
Te enviaremos un Correo Eléctronico que
|
66
|
+
text: "Ingresa la dirección de tu Correo Eléctronico que utilizaste cuando te inscribiste.
|
67
|
+
Te enviaremos un Correo Eléctronico que podrás utilizar para generar una nueva contraseña."
|
67
68
|
email_address: *email_address
|
68
69
|
send: "Enviar"
|
69
70
|
|
@@ -89,7 +90,7 @@
|
|
89
90
|
new: "Nuevo Registro de %{model}"
|
90
91
|
create: "Crear %{model}"
|
91
92
|
previous: "Precedente"
|
92
|
-
next: "
|
93
|
+
next: "Próxima"
|
93
94
|
add: "Añadir"
|
94
95
|
show_all: "Muestra todos %{model}..."
|
95
96
|
delete: "Borrar %{model}"
|
@@ -127,12 +128,13 @@
|
|
127
128
|
must_activate: "Tiene que activar la cuenta antes de iniciar la sesión. Por favor verifique su correo eléctronico."
|
128
129
|
login:
|
129
130
|
success: "La sesión ha iniciado."
|
130
|
-
error: "¡No se ingresaron %{login} y Contraseña
|
131
|
+
error: "¡No se ingresaron %{login} y Contraseña válidos!"
|
131
132
|
logout: "La sesión ha terminado."
|
132
133
|
reset_password: "Tu contraseña ha sido reiniciada."
|
133
134
|
permission_denied: "¡Permiso denegado!"
|
134
|
-
not_found: "La
|
135
|
+
not_found: "La página solicitada no se encuentra."
|
135
136
|
unauthenticated: "No se pudo autenticar."
|
137
|
+
validate_password: "debe contener tansiquiera 6 caracteres, letras mayúsculas y minúsculas"
|
136
138
|
current_password_is_not_correct: "no está correcta"
|
137
139
|
you_are_site_admin: "Ahora usted es el administrador del sitio."
|
138
140
|
you_signed_up: "Usted se inscribió."
|
@@ -133,6 +133,7 @@ it:
|
|
133
133
|
permission_denied: "Permesso negato!"
|
134
134
|
not_found: "La pagina richiesta non è stata trovata."
|
135
135
|
unauthenticated: "La tua utenticazione è fallita."
|
136
|
+
validate_password: "deve contenere almeno 6 caratteri, sia maiuscoli che minuscoli"
|
136
137
|
current_password_is_not_correct: "non è esatta"
|
137
138
|
you_are_site_admin: "Adesso sei amministratore del sito."
|
138
139
|
you_signed_up: "Ti sei iscritto."
|
@@ -128,6 +128,7 @@
|
|
128
128
|
permission_denied: "Sem autorização!"
|
129
129
|
not_found: "A página solicitada não foi encontrada"
|
130
130
|
unauthenticated: "Não foi possível indentificá-lo(a)."
|
131
|
+
validate_password: "tem que ter pelo menos 6 caracteres, letras maiúsculas e minúsculas"
|
131
132
|
current_password_is_not_correct: "não está correta."
|
132
133
|
you_are_site_admin: "Agora é o administrador do site"
|
133
134
|
you_signed_up: "Acabou de se registar"
|
@@ -0,0 +1,193 @@
|
|
1
|
+
# Hobo internals translation file for Russian
|
2
|
+
# Based on russian translations by Nick Gorbikoff
|
3
|
+
# https://github.com/konung/hobo-i18n-locales
|
4
|
+
# Adapted by Paul Shepel (http://github.com/tacid)
|
5
|
+
#
|
6
|
+
# If you find any error, please post it to http://hobousers.googlegroups.com.
|
7
|
+
# Thank you!
|
8
|
+
ru:
|
9
|
+
hobo:
|
10
|
+
# default hobo pages translations
|
11
|
+
index:
|
12
|
+
# if you uncomment the following you will loose the automatic selection of dinamically pluralized nav-tabs
|
13
|
+
# if you need a different title you should implement a different way to select the tab on your own
|
14
|
+
#title: "%{model} Index"
|
15
|
+
heading: "Список %{model}"
|
16
|
+
|
17
|
+
new:
|
18
|
+
title: "Создать %{model}"
|
19
|
+
heading: "Создать %{model}"
|
20
|
+
|
21
|
+
show:
|
22
|
+
title: "%{model}"
|
23
|
+
heading: "%{model} %{name}"
|
24
|
+
back_link: "Назад"
|
25
|
+
edit_link: "Изменить %{model}"
|
26
|
+
new_link: "Создать %{model}"
|
27
|
+
add_form_heading: "Добавить %{model}"
|
28
|
+
|
29
|
+
edit:
|
30
|
+
title: "Изменить %{model}"
|
31
|
+
heading: "Изменить %{model}"
|
32
|
+
|
33
|
+
index_for_owner:
|
34
|
+
title: "%{model} для"
|
35
|
+
# be aware that you will loose the automatic Your <collection> / Jom's <collection>
|
36
|
+
# default output for User models
|
37
|
+
# you better define the heading.* in the specific collection namespace
|
38
|
+
#heading:
|
39
|
+
subheading: "Для:"
|
40
|
+
|
41
|
+
new_for_owner:
|
42
|
+
title: "Создать %{model} для"
|
43
|
+
heading: "Создать %{model}"
|
44
|
+
subheading: "Для:"
|
45
|
+
|
46
|
+
login:
|
47
|
+
title: "Логин"
|
48
|
+
heading: "Логин"
|
49
|
+
email_address: &email_address "E-mail"
|
50
|
+
name: "Имя"
|
51
|
+
password: "Пароль"
|
52
|
+
remember_me: "Запомнить меня"
|
53
|
+
login: "Войти"
|
54
|
+
signup: "Регистрация"
|
55
|
+
forgot_password: &forgot_password "Забыли пароль?"
|
56
|
+
|
57
|
+
signup:
|
58
|
+
title: "Регистрация"
|
59
|
+
heading: "Регистрация нового пользователя"
|
60
|
+
|
61
|
+
forgot_password:
|
62
|
+
title: *forgot_password
|
63
|
+
heading: *forgot_password
|
64
|
+
text: "Введите адрес электроной почты, который Вы использовали при регистрации. Мы вышлем Вам на него инструкции для изменения пароля."
|
65
|
+
email_address: *email_address
|
66
|
+
send: "Выслать"
|
67
|
+
|
68
|
+
forgot_password_sent:
|
69
|
+
title: "Забытый пароль - Письмо отправлено"
|
70
|
+
heading: "Забытый пароль - Письмо с инструкциями отправлено"
|
71
|
+
text: "Письмо с инструкциями для восстановления пароля было выслано на %{email_address}. Если Вы не получили письмо, проверьте Ваш спам-фильтр."
|
72
|
+
|
73
|
+
account_disabled_page:
|
74
|
+
title: "Учётная запись не найдена"
|
75
|
+
heading: "Учётная запись не найдена"
|
76
|
+
text: "Мы не можем найти учётную запись соответствующую данному адресу электроной почты. Проверте, что он введён правельно."
|
77
|
+
|
78
|
+
account_page:
|
79
|
+
title: "Моя учётная запись"
|
80
|
+
heading: "Моя учётная запись"
|
81
|
+
new_password: "Новый пароль"
|
82
|
+
confirm_new_password: "Подверждение нового пароля"
|
83
|
+
|
84
|
+
# default hobo action translation
|
85
|
+
# The action with added model variable are new, create, delete, save,
|
86
|
+
# edit and back_to_parent
|
87
|
+
actions:
|
88
|
+
new: "Добавить %{model}"
|
89
|
+
create: "Создать %{model}"
|
90
|
+
previous: "Предыдущая"
|
91
|
+
next: "Следующая"
|
92
|
+
add: "Добавить"
|
93
|
+
show_all: "Показать все %{model}и..."
|
94
|
+
delete: "Удалить %{model}"
|
95
|
+
save: "Сохранить"
|
96
|
+
cancel: "Отменить"
|
97
|
+
edit: "Изменить %{model}"
|
98
|
+
back: "Назад к"
|
99
|
+
back_to_parent: "Назад к %{parent} %{name}"
|
100
|
+
send: "Отослать"
|
101
|
+
remove: "Убрать"
|
102
|
+
signup: "Регистрация"
|
103
|
+
login: "Войти"
|
104
|
+
logout: "Выйти"
|
105
|
+
logged_in_as: "Вы вошли как %{name}"
|
106
|
+
account: "Моя учетная запись"
|
107
|
+
save_account: "Сохранить данные"
|
108
|
+
|
109
|
+
# default hobo message translation
|
110
|
+
messages:
|
111
|
+
create:
|
112
|
+
success: "%{model} была создана без ошибок"
|
113
|
+
error: "Нельзя создать %{model}.\n%{errors}"
|
114
|
+
creator:
|
115
|
+
error: "Не могу исполнить указазания создателя %{name}.\n%{errors}"
|
116
|
+
transition:
|
117
|
+
error: "Не могу исполнить указазания изменителя %{name}.\n%{errors}"
|
118
|
+
update:
|
119
|
+
no_attribute_error: "Изменения не указаны в аттрибутах."
|
120
|
+
success: "Изменения сохранены."
|
121
|
+
error: "Не могу сохранить изменения. \n%{errors}"
|
122
|
+
destroy:
|
123
|
+
success: "Удаление %{model} было завершено без ошибок."
|
124
|
+
signup:
|
125
|
+
success: "Спасибо за регистрацию"
|
126
|
+
must_activate: "Вы должны активировать вашу учётную запись. Пожалуйста, проверте вашу электроную почту."
|
127
|
+
login:
|
128
|
+
success: "Вы зашли в систему."
|
129
|
+
error: "Имя пользователя (%{login}) и пароль предоставленные вами - неправильны!"
|
130
|
+
logout: "Вы вышли из системы."
|
131
|
+
reset_password: "Ваш пароль был изменён."
|
132
|
+
permission_denied: "Доступ закрыт!"
|
133
|
+
not_found: "Страницы, запрошеной вами, не существует."
|
134
|
+
unauthenticated: "Система не может подтвердить аутентичность вашой учётной записи."
|
135
|
+
validate_password: "должен быть не меньше 6 символов и НЕ должен состоять только из маленьких букв"
|
136
|
+
current_password_is_not_correct: "неправильно"
|
137
|
+
you_are_site_admin: "Вы получили права администратора сайта."
|
138
|
+
you_signed_up: "Вы зарегестрировались."
|
139
|
+
no: "Нет доступных %{model}ей."
|
140
|
+
confirm: "Вы уверены?"
|
141
|
+
|
142
|
+
# default hobo collection translation
|
143
|
+
collection:
|
144
|
+
count: &collection_count
|
145
|
+
zero: "Нет %{model}ей"
|
146
|
+
one: "В базе только одна %{model}."
|
147
|
+
other: "В базе %{count} %{model}ей"
|
148
|
+
# you can use the following to completely override the collection heading
|
149
|
+
# be aware that you will loose the automatic Your <collection> / Jom's <collection>
|
150
|
+
# default output for User models
|
151
|
+
# you better define the heading.* in the specific collection namespace
|
152
|
+
#heading:
|
153
|
+
add_form_heading: "Добавить %{model}"
|
154
|
+
empty_message: "Нет записей для отображения."
|
155
|
+
|
156
|
+
# default hobo form translation
|
157
|
+
form:
|
158
|
+
new:
|
159
|
+
heading: "Создать %{model}"
|
160
|
+
error:
|
161
|
+
heading: "Произошла ошибка:"
|
162
|
+
select_many:
|
163
|
+
prompt: "Добавить %{model}"
|
164
|
+
|
165
|
+
# hobo support
|
166
|
+
support:
|
167
|
+
or: "или"
|
168
|
+
a: ""
|
169
|
+
an: ""
|
170
|
+
|
171
|
+
table_plus:
|
172
|
+
search: "Поиск"
|
173
|
+
submit_label: "Искать"
|
174
|
+
|
175
|
+
live_search:
|
176
|
+
label: "Найти"
|
177
|
+
results_label: "Результаты поиска"
|
178
|
+
close_button: "закрыть"
|
179
|
+
no_results: "Не найдено записей удовлетворяюих критериям поиска"
|
180
|
+
|
181
|
+
dev_user_changer:
|
182
|
+
guest: "Гость"
|
183
|
+
|
184
|
+
admin:
|
185
|
+
subsite_name: "Админ"
|
186
|
+
invite_new_user: "Пригласить нового пользователя"
|
187
|
+
|
188
|
+
subsite:
|
189
|
+
back_link: "Показать сайт"
|
190
|
+
|
191
|
+
boolean_yes: "Да"
|
192
|
+
boolean_no: "Нет"
|
193
|
+
password_hidden: "[пароль скрыт]"
|
@@ -47,6 +47,9 @@ module Hobo
|
|
47
47
|
class_option :gitignore_auto_generated_files, :type => :boolean,
|
48
48
|
:desc => "Add the auto-generated files to .gitignore", :default => true
|
49
49
|
|
50
|
+
class_option :dryml_only_templates, :type => :boolean,
|
51
|
+
:desc => "The application uses only dryml templates",
|
52
|
+
:default => Rails.application.config.hobo.dryml_only_templates
|
50
53
|
|
51
54
|
def startup
|
52
55
|
if wizard?
|
@@ -81,7 +84,7 @@ module Hobo
|
|
81
84
|
def user_options
|
82
85
|
if wizard?
|
83
86
|
say_title 'User Resource'
|
84
|
-
@user_resource_name = ask("Choose a name for the user resource [<enter>=user|<custom_name>]
|
87
|
+
@user_resource_name = ask("Choose a name for the user resource: [<enter>=user|<custom_name>]", 'user')
|
85
88
|
@activation_email = @invite_only ? false : yes_no?("Do you want to send an activation email to activate the user?")
|
86
89
|
else
|
87
90
|
@user_resource_name = options[:user_resource_name]
|
@@ -116,6 +119,20 @@ NOTE: You might want to sign up as the administrator before adding this!
|
|
116
119
|
EOI
|
117
120
|
end
|
118
121
|
|
122
|
+
def dryml_only_templates_option
|
123
|
+
if wizard?
|
124
|
+
say_title 'Templates Option'
|
125
|
+
dryml_only_templates = yes_no?("Will you application use only hobo/dryml web page templates?\n(Choose 'n' only if you also plan to use plain rails/erb web page templates)")
|
126
|
+
else
|
127
|
+
dryml_only_templates = options[:dryml_only_templates]
|
128
|
+
end
|
129
|
+
if dryml_only_templates
|
130
|
+
remove_file 'app/views/layouts/application.html.erb'
|
131
|
+
remove_file 'app/helpers/application_helper.rb'
|
132
|
+
environment "\n config.hobo.dryml_only_templates = true\n"
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
119
136
|
def rapid
|
120
137
|
if wizard?
|
121
138
|
say_title 'Hobo Rapid'
|
@@ -127,7 +144,7 @@ EOI
|
|
127
144
|
def front_controller
|
128
145
|
if wizard?
|
129
146
|
say_title 'Front Controller'
|
130
|
-
front_controller_name = ask("Choose a name for the front controller [<enter>=front|<custom_name>]
|
147
|
+
front_controller_name = ask("Choose a name for the front controller: [<enter>=front|<custom_name>]", 'front')
|
131
148
|
say "Installing #{front_controller_name} controller..."
|
132
149
|
else
|
133
150
|
front_controller_name = options[:front_controller_name]
|
@@ -139,7 +156,7 @@ EOI
|
|
139
156
|
return unless @invite_only
|
140
157
|
if wizard?
|
141
158
|
say_title 'Admin Subsite'
|
142
|
-
@admin_subsite_name = ask("Choose a name for the admin subsite [<enter>=admin|<custom_name>]
|
159
|
+
@admin_subsite_name = ask("Choose a name for the admin subsite: [<enter>=admin|<custom_name>]", 'admin')
|
143
160
|
else
|
144
161
|
@admin_subsite_name = options[:admin_subsite_name]
|
145
162
|
end
|
@@ -161,7 +178,7 @@ EOI
|
|
161
178
|
def generate_migration
|
162
179
|
if wizard?
|
163
180
|
say_title 'DB Migration'
|
164
|
-
action = choose("Initial Migration: [s]kip, [g]enerate migration file only, generate and [m]igrate [s|g|m]
|
181
|
+
action = choose("Initial Migration: [s]kip, [g]enerate migration file only, generate and [m]igrate: [s|g|m]", /^(s|g|m)$/)
|
165
182
|
opt = case action
|
166
183
|
when 's'
|
167
184
|
return say('Migration skipped!')
|
@@ -203,7 +220,12 @@ EOI
|
|
203
220
|
ls = (locales - %w[en]).map {|l| ":#{l}" }
|
204
221
|
lstr = ls.to_sentence
|
205
222
|
invoke 'hobo:i18n', locales
|
206
|
-
say(
|
223
|
+
say(<<STR , Color::YELLOW) unless ls.empty?
|
224
|
+
NOTICE: You should manually install in 'config/locales' also the official Rails locale #{ls.size==1 ? 'file' : 'files'} for #{lstr} that your application will use.
|
225
|
+
Official rails I18n URLs:
|
226
|
+
- Readme: https://github.com/svenfuchs/rails-i18n/blob/master/README.md
|
227
|
+
- locale dir: https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale/
|
228
|
+
STR
|
207
229
|
end
|
208
230
|
|
209
231
|
def git_repo
|
@@ -60,11 +60,11 @@ private
|
|
60
60
|
|
61
61
|
def add_generators_block
|
62
62
|
n = name == 'rspec_with_shoulda' ? 'rspec' : name
|
63
|
-
block = " config.generators do |g|"
|
63
|
+
block = "\n config.generators do |g|"
|
64
64
|
block << "\n g.test_framework :#{n}, :fixtures => #{options[:fixtures].inspect}" if !options[:fixtures] || name != 'test_unit'
|
65
65
|
block << "\n g.fallbacks[:#{n}] = :test_unit" unless name == 'test_unit'
|
66
66
|
block << "\n g.fixture_replacement => :#{options[:fixture_replacement]}" unless options[:fixture_replacement].blank?
|
67
|
-
block << "\n end"
|
67
|
+
block << "\n end\n"
|
68
68
|
environment block
|
69
69
|
end
|
70
70
|
|
data/lib/hobo/engine.rb
CHANGED
@@ -15,6 +15,7 @@ module Hobo
|
|
15
15
|
h.auto_taglibs_path = Pathname.new File.expand_path('app/views/taglibs/auto', Rails.root)
|
16
16
|
h.read_only_file_system = !!ENV['HEROKU_TYPE']
|
17
17
|
h.show_translation_keys = false
|
18
|
+
h.dryml_only_templates = false
|
18
19
|
end
|
19
20
|
|
20
21
|
ActiveSupport.on_load(:action_controller) do
|
data/lib/hobo/model/user.rb
CHANGED
@@ -32,7 +32,7 @@ module Hobo
|
|
32
32
|
end
|
33
33
|
|
34
34
|
validates_confirmation_of :password, :if => :new_password_required?
|
35
|
-
|
35
|
+
validate :validate_password
|
36
36
|
validate :validate_current_password_when_changing_password
|
37
37
|
|
38
38
|
# Virtual attributes for setting and changing the password
|
@@ -56,10 +56,6 @@ module Hobo
|
|
56
56
|
# Additional classmethods for authentication
|
57
57
|
module ClassMethods
|
58
58
|
|
59
|
-
# Validation of the plaintext password
|
60
|
-
def password_validations
|
61
|
-
validates_length_of :password, :within => 4..40, :if => :new_password_required?
|
62
|
-
end
|
63
59
|
|
64
60
|
def login_attribute=(attr, validate=true)
|
65
61
|
@login_attribute = attr = attr.to_sym
|
@@ -172,9 +168,15 @@ module Hobo
|
|
172
168
|
(new_record? && password) || lifecycle_changing_password? || changing_password?
|
173
169
|
end
|
174
170
|
|
171
|
+
# Validation of the plaintext password. Override this function to change your validation.
|
172
|
+
def validate_password
|
173
|
+
errors.add(:password, I18n.t("hobo.messages.validate_password", :default => "must be at least 6 characters long and must not consist solely of lowercase letters")) \
|
174
|
+
if new_password_required? && (password.nil? || password.length<6 || /^[[:lower:]]*$/.match(password))
|
175
|
+
end
|
175
176
|
|
176
177
|
def validate_current_password_when_changing_password
|
177
|
-
|
178
|
+
errors.add :current_password, I18n.t("hobo.messages.current_password_is_not_correct", :default => "is not correct") \
|
179
|
+
if changing_password? && !authenticated?(current_password)
|
178
180
|
end
|
179
181
|
|
180
182
|
end
|
@@ -797,7 +797,7 @@ An input for `has_many :through` associations that lets the user chose the items
|
|
797
797
|
To use this tag, the model of the items the user is chosing *must* have unique names, and the
|
798
798
|
-->
|
799
799
|
<def tag="select-many" attrs="options, targets, remove-label, prompt, disabled, name"><%
|
800
|
-
prompt ||= ht("#{
|
800
|
+
prompt ||= ht("#{this_field_reflection.klass.to_s.underscore}.form.select_many.prompt", :default=>"Add #{this_field.titleize.singularize}")
|
801
801
|
options ||= this_field_reflection.klass.all(:conditions =>this.send(:conditions)).select {|x| can_view?(x)}
|
802
802
|
name ||= param_name_for_this
|
803
803
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: -
|
4
|
+
hash: -1637108446
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 3
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 1.3.0.
|
10
|
+
- pre24
|
11
|
+
version: 1.3.0.pre24
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Tom Locke
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-12-15 00:00:00 -04:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -59,13 +59,13 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
hash: -
|
62
|
+
hash: -1637108446
|
63
63
|
segments:
|
64
64
|
- 1
|
65
65
|
- 3
|
66
66
|
- 0
|
67
|
-
-
|
68
|
-
version: 1.3.0.
|
67
|
+
- pre24
|
68
|
+
version: 1.3.0.pre24
|
69
69
|
type: :runtime
|
70
70
|
version_requirements: *id003
|
71
71
|
- !ruby/object:Gem::Dependency
|
@@ -76,13 +76,13 @@ dependencies:
|
|
76
76
|
requirements:
|
77
77
|
- - "="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
hash: -
|
79
|
+
hash: -1637108446
|
80
80
|
segments:
|
81
81
|
- 1
|
82
82
|
- 3
|
83
83
|
- 0
|
84
|
-
-
|
85
|
-
version: 1.3.0.
|
84
|
+
- pre24
|
85
|
+
version: 1.3.0.pre24
|
86
86
|
type: :runtime
|
87
87
|
version_requirements: *id004
|
88
88
|
- !ruby/object:Gem::Dependency
|
@@ -93,13 +93,13 @@ dependencies:
|
|
93
93
|
requirements:
|
94
94
|
- - "="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
hash: -
|
96
|
+
hash: -1637108446
|
97
97
|
segments:
|
98
98
|
- 1
|
99
99
|
- 3
|
100
100
|
- 0
|
101
|
-
-
|
102
|
-
version: 1.3.0.
|
101
|
+
- pre24
|
102
|
+
version: 1.3.0.pre24
|
103
103
|
type: :runtime
|
104
104
|
version_requirements: *id005
|
105
105
|
- !ruby/object:Gem::Dependency
|
@@ -194,13 +194,15 @@ files:
|
|
194
194
|
- lib/generators/hobo/front_controller/templates/index.dryml
|
195
195
|
- lib/generators/hobo/i18n/i18n_generator.rb
|
196
196
|
- lib/generators/hobo/i18n/templates/app.en.yml
|
197
|
-
- lib/generators/hobo/i18n/templates/app.es
|
197
|
+
- lib/generators/hobo/i18n/templates/app.es.yml
|
198
198
|
- lib/generators/hobo/i18n/templates/app.it.yml
|
199
199
|
- lib/generators/hobo/i18n/templates/app.pt-PT.yml
|
200
|
+
- lib/generators/hobo/i18n/templates/app.ru.yml
|
200
201
|
- lib/generators/hobo/i18n/templates/hobo.en.yml
|
201
|
-
- lib/generators/hobo/i18n/templates/hobo.es
|
202
|
+
- lib/generators/hobo/i18n/templates/hobo.es.yml
|
202
203
|
- lib/generators/hobo/i18n/templates/hobo.it.yml
|
203
204
|
- lib/generators/hobo/i18n/templates/hobo.pt-PT.yml
|
205
|
+
- lib/generators/hobo/i18n/templates/hobo.ru.yml
|
204
206
|
- lib/generators/hobo/invite_only.rb
|
205
207
|
- lib/generators/hobo/model/USAGE
|
206
208
|
- lib/generators/hobo/model/model_generator.rb
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# Hobo application translation file for Spanish.
|
2
|
-
# Please, add the specific models and attributes for your application.
|
3
|
-
|
4
|
-
es:
|
5
|
-
|
6
|
-
attributes:
|
7
|
-
created_at: Creado el
|
8
|
-
updated_at: Actualizado el
|
9
|
-
|
10
|
-
activerecord:
|
11
|
-
models:
|
12
|
-
user:
|
13
|
-
one: Usuario
|
14
|
-
other: Ususarios
|
15
|
-
attributes:
|
16
|
-
user:
|
17
|
-
name: Nombre
|
18
|
-
password: Contraseña
|
19
|
-
password_confirmation: Confirmacción Contraseña
|
20
|
-
email_address: Correo Electronico
|
21
|
-
# attribute_help:
|
22
|
-
# user:
|
23
|
-
# email_address:
|
24
|
-
|