refinerycms-authentication 2.0.10 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/refinery/admin/users_controller.rb +82 -54
- data/app/controllers/refinery/passwords_controller.rb +1 -1
- data/app/controllers/refinery/users_controller.rb +1 -1
- data/app/models/refinery/user.rb +28 -9
- data/app/views/refinery/admin/users/_actions.html.erb +3 -0
- data/app/views/refinery/admin/users/_form.html.erb +6 -4
- data/app/views/refinery/admin/users/_records.html.erb +7 -0
- data/app/views/refinery/passwords/edit.html.erb +1 -1
- data/app/views/refinery/users/new.html.erb +1 -1
- data/config/locales/bg.yml +1 -1
- data/config/locales/cs.yml +3 -3
- data/config/locales/da.yml +1 -1
- data/config/locales/de.yml +1 -1
- data/config/locales/el.yml +1 -1
- data/config/locales/en.yml +3 -2
- data/config/locales/es.yml +1 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/hu.yml +72 -0
- data/config/locales/it.yml +1 -1
- data/config/locales/ja.yml +1 -1
- data/config/locales/ko.yml +2 -2
- data/config/locales/lt.yml +1 -1
- data/config/locales/lv.yml +1 -1
- data/config/locales/nb.yml +1 -1
- data/config/locales/nl.yml +37 -35
- data/config/locales/pl.yml +7 -3
- data/config/locales/pt-BR.yml +1 -1
- data/config/locales/pt.yml +72 -0
- data/config/locales/rs.yml +1 -1
- data/config/locales/ru.yml +1 -1
- data/config/locales/sk.yml +9 -9
- data/config/locales/sl.yml +1 -1
- data/config/locales/sv.yml +1 -1
- data/config/locales/tr.yml +72 -0
- data/config/locales/uk.yml +98 -0
- data/config/locales/vi.yml +1 -1
- data/config/locales/zh-CN.yml +5 -5
- data/config/locales/zh-TW.yml +1 -1
- data/config/routes.rb +9 -11
- data/db/migrate/20120301234455_add_slug_to_refinery_users.rb +7 -0
- data/lib/refinery/authenticated_system.rb +1 -1
- data/lib/refinery/authentication.rb +1 -0
- data/lib/refinery/authentication/devise.rb +0 -7
- data/lib/refinery/authentication/engine.rb +3 -4
- data/refinerycms-authentication.gemspec +4 -4
- data/spec/controllers/refinery/admin/users_controller_spec.rb +14 -5
- data/spec/factories/user.rb +2 -2
- data/spec/{requests → features}/refinery/admin/users_spec.rb +10 -10
- data/spec/{requests → features}/refinery/passwords_spec.rb +1 -1
- data/spec/{requests → features}/refinery/sessions_spec.rb +12 -11
- data/spec/models/refinery/user_spec.rb +57 -10
- metadata +29 -18
data/config/locales/sl.yml
CHANGED
@@ -8,7 +8,7 @@ sl:
|
|
8
8
|
delete: Odstrani uporabnika
|
9
9
|
edit: Uredi uporabnika
|
10
10
|
update:
|
11
|
-
|
11
|
+
lockout_prevented: "Ne morete odstraniti vstavka 'Uporabniki' iz trenutno prijavljenega računa."
|
12
12
|
form:
|
13
13
|
blank_password_keeps_current: V kolikor ne boste vnesli gesla bo ostalo obstoječe
|
14
14
|
enable_all: omogoči vse
|
data/config/locales/sv.yml
CHANGED
@@ -9,7 +9,7 @@ sv:
|
|
9
9
|
delete: Ta bort den här användaren för alltid
|
10
10
|
edit: Redigera den här användaren
|
11
11
|
update:
|
12
|
-
|
12
|
+
lockout_prevented: Du kan inte ta bort insticksprogrammet 'Användare' från det konto som är inloggat.
|
13
13
|
form:
|
14
14
|
blank_password_keeps_current: Lämna blankt för att behålla nuvarande lösenord
|
15
15
|
plugin_access: Åtkomst för plugin
|
@@ -0,0 +1,72 @@
|
|
1
|
+
tr:
|
2
|
+
refinery:
|
3
|
+
plugins:
|
4
|
+
refinery_users:
|
5
|
+
title: Kullanicilar
|
6
|
+
description: Kullanicilari Yonet
|
7
|
+
admin:
|
8
|
+
users:
|
9
|
+
delete: Bu kullaniciyi sonsuza dek sil!
|
10
|
+
edit: Bu kullaniciyi guncelle
|
11
|
+
update:
|
12
|
+
lockout_prevented: Su an bagli oldugun hesaptan 'Kullanicilar' adli eklentiyi silemezsin.
|
13
|
+
form:
|
14
|
+
blank_password_keeps_current: Parolayi bos birakirsan mevcut parolani korursun.
|
15
|
+
plugin_access: Eklenti Erisimi
|
16
|
+
role_access: Rol Erisimi
|
17
|
+
enable_all: Tumunu kullanima ac
|
18
|
+
actions:
|
19
|
+
create_new_user: Yeni bir kullanici ekle
|
20
|
+
user:
|
21
|
+
email_user: Bu kullaniciyi e-posta'la
|
22
|
+
preview: '(%{who}) eklendi %{created_at}'
|
23
|
+
sessions:
|
24
|
+
new:
|
25
|
+
hello_please_sign_in: Merhaba! Lutfen giris yapin.
|
26
|
+
sign_in: Giris Yap
|
27
|
+
forgot_password: Parolami Unuttum
|
28
|
+
user_mailer:
|
29
|
+
reset_notification:
|
30
|
+
subject: Parola sifirlamaya baglanti olustur
|
31
|
+
reset_request_received_for: " %{username} Parola degisikligi icin talepte bulundu "
|
32
|
+
visit_this_url: Yeni bir Parola secmek icin URL'yi ziyaret edin
|
33
|
+
remain_same_if_no_action: Herhangi bir harekette bulunmazsaniz parolaniz degismeyecektir
|
34
|
+
users:
|
35
|
+
new:
|
36
|
+
fill_form: Asagidaki detaylari doldurunuz ki sizi baslatalim
|
37
|
+
sign_up: Uye Kayit
|
38
|
+
create:
|
39
|
+
welcome: 'Refinery alanina hosgeldiniz, %{who}'
|
40
|
+
forgot:
|
41
|
+
email_address: E-posta Adresi
|
42
|
+
enter_email_address: Lutfen hesabiniz icin E-posta Adresinizi girin.
|
43
|
+
reset_password: Parolayi Sifirla
|
44
|
+
blank_email: Herhangi bir e-posta adresi girmediniz
|
45
|
+
email_not_associated_with_account_html: "Uzgunum, '%{email}' adli postayla iliskili herhangi bir hesap bulunamadi.<br />Dogru bir e-posta adresi girdiginizden emin misin?"
|
46
|
+
email_reset_sent: Sifrenizi sifirlamak icin e-posta gonderilmistir.
|
47
|
+
password_encryption: Sifreni sifirlamak zorundasin cunku Refinery nin sifreleme metodundaki degisikliklerden daha guclu bir sifreleme metodu kayitlandi.
|
48
|
+
reset:
|
49
|
+
code_invalid: "Uzgunum, sifre sifirlama zaman asimina ugradi yada hatali. Eger tarayiciniza kopyalama ya da yapistir calismiyorsa sayfayi yenileyin"
|
50
|
+
successful: "Parola sifirlama basariyle yapildi. %{email}'"
|
51
|
+
pick_new_password_for: " %{email} icin yeni bir parola belirleyin"
|
52
|
+
reset_password: Parolayi sifirla
|
53
|
+
roles:
|
54
|
+
superuser: Sistem Yoneticisi
|
55
|
+
refinery: Refinery
|
56
|
+
devise:
|
57
|
+
failure:
|
58
|
+
unauthenticated: Devam edebilmek icin giris yapmak zorundasiniz
|
59
|
+
invalid: "Uzgunum, kullanici adiniz yada parolaniz hatali."
|
60
|
+
sessions:
|
61
|
+
signed_in: Giris basariyla yapildi
|
62
|
+
activerecord:
|
63
|
+
models:
|
64
|
+
refinery/user: kullanici
|
65
|
+
attributes:
|
66
|
+
refinery/user:
|
67
|
+
login: Kullanici adi yada e-posta adresi
|
68
|
+
username: kullanici adi
|
69
|
+
password: parola
|
70
|
+
password_confirmation: Parola Dogrulama
|
71
|
+
email: E-posta
|
72
|
+
remember_me: Beni Hatirla
|
@@ -0,0 +1,98 @@
|
|
1
|
+
uk:
|
2
|
+
refinery:
|
3
|
+
plugins:
|
4
|
+
refinery_users:
|
5
|
+
title: Користувачі
|
6
|
+
description: Управління користувачами
|
7
|
+
article: masculine
|
8
|
+
admin:
|
9
|
+
users:
|
10
|
+
delete: Видалити цього користувача назавжди
|
11
|
+
edit: Редагувати цього користувача
|
12
|
+
update:
|
13
|
+
lockout_prevented: "Не можна відключити модуль «Користувачі» у самого себе."
|
14
|
+
form:
|
15
|
+
blank_password_keeps_current: 'Залиште поле порожнім, якщо не хочете змінити пароль'
|
16
|
+
plugin_access: Доступ до плагінів
|
17
|
+
role_access: Ролі
|
18
|
+
enable_all: увімкнути все
|
19
|
+
actions:
|
20
|
+
create_new_user: Створити нового користувача
|
21
|
+
user:
|
22
|
+
email_user: Написати ел. листа цьому користувачу
|
23
|
+
preview: '(%{who}) створений %{created_at}'
|
24
|
+
sessions:
|
25
|
+
new:
|
26
|
+
hello_please_sign_in: 'Увійдіть, будь ласка.'
|
27
|
+
sign_in: Увійти
|
28
|
+
forgot_password: Я забув свій пароль
|
29
|
+
users:
|
30
|
+
new:
|
31
|
+
fill_form: Заповніть дані нижче.
|
32
|
+
sign_up: Зареєструватися
|
33
|
+
create:
|
34
|
+
welcome: 'Ласкаво просимо до Refinery, %{who}'
|
35
|
+
forgot:
|
36
|
+
email_address: Ел. пошта
|
37
|
+
enter_email_address: 'Введіть, будь ласка, адресу електронної пошти вашого облікового запису.'
|
38
|
+
reset_password: Скинути пароль
|
39
|
+
blank_email: Ви не ввели адресу електронної пошти
|
40
|
+
email_not_associated_with_account_html: "%{email} не належить жодному обліковому.<br/>Ви впевнені, що ввели правильну адресу електронної пошти?"
|
41
|
+
email_reset_sent: Вам вислано електронного листа з посиланням для скидання пароля.
|
42
|
+
password_encryption: 'У Refinery змінилися алгоритми шифрування пароля для ще більш надійного зберігання, тому вам потрібно заново його встановити.'
|
43
|
+
reset:
|
44
|
+
code_invalid: "Код для скидання пароля завершився, або невірний. Спробуйте скопіювати і вставити адресу з листа в адресний рядок браузера або заново почати процес відновлення."
|
45
|
+
successful: "Пароль успішно змінено для %{email}"
|
46
|
+
pick_new_password_for: "Введіть новий пароль для %{email}"
|
47
|
+
reset_password: Змінити пароль
|
48
|
+
user_mailer:
|
49
|
+
reset_notification:
|
50
|
+
subject: Посилання для скидання пароля
|
51
|
+
reset_request_received_for: "Одержаний запит на скидання пароля для %{username}"
|
52
|
+
visit_this_url: Для введення нового пароля перейдіть за цим посиланням
|
53
|
+
remain_same_if_no_action: Ви також можете проігнорувати цей лист. У цьому випадку пароль не буде змінено.
|
54
|
+
devise:
|
55
|
+
failure:
|
56
|
+
unauthenticated: "Вам необхідно увійти в систему або зареєструватися."
|
57
|
+
unconfirmed: "Ви повинні підтвердити ваш обліковий запис."
|
58
|
+
locked: "Ваш обліковий запис заблокований."
|
59
|
+
invalid: "Неправильна адреса ел. пошти або пароль."
|
60
|
+
invalid_token: "Неправильний ключ аутентифікації."
|
61
|
+
timeout: "Ваш сеанс закінчився. Будь ласка, увійдіть в систему знову."
|
62
|
+
inactive: "Ваш обліковий запис ще не активовано."
|
63
|
+
sessions:
|
64
|
+
signed_in: "Вхід у систему виконаний."
|
65
|
+
signed_out: "Вихід з системи виконаний."
|
66
|
+
passwords:
|
67
|
+
send_instructions: "Протягом декількох хвилин ви отримаєте e-mail з інструкціями щодо відновлення вашого паролю."
|
68
|
+
updated: "Ваш пароль змінено. Тепер ви увійшли в систему."
|
69
|
+
confirmations:
|
70
|
+
send_instructions: "Протягом декількох хвилин ви отримаєте e-mail з інструкціями щодо підтвердження вашого профілю."
|
71
|
+
confirmed: "Ваш обліковий запис підтверджено. Тепер ви увійшли в систему."
|
72
|
+
registrations:
|
73
|
+
signed_up: "Ласкаво просимо! Ви успішно зареєструвалися. Протягом декількох хвилин ви отримаєте e-mail з інструкціями щодо підтвердження вашого профілю."
|
74
|
+
updated: "Ваш обліковий запис змінено."
|
75
|
+
destroyed: "До побачення! Ваш обліковий запис видалено. Сподіваємося знову побачити вас."
|
76
|
+
unlocks:
|
77
|
+
send_instructions: "Протягом декількох хвилин ви отримаєте листа з інструкціями щодо розблокуванню вашого профілю."
|
78
|
+
unlocked: "Ваш обліковий запис розблоковано. Тепер ви увійшли в систему."
|
79
|
+
mailer:
|
80
|
+
confirmation_instructions:
|
81
|
+
subject: "Інструкції щодо підтвердження облікового запису"
|
82
|
+
reset_password_instructions:
|
83
|
+
subject: "Інструкції щодо відновлення пароля"
|
84
|
+
unlock_instructions:
|
85
|
+
subject: "Інструкції щодо розблокування облікового запису"
|
86
|
+
sessions:
|
87
|
+
signed_in: 'Ви увійшли.'
|
88
|
+
activerecord:
|
89
|
+
models:
|
90
|
+
refinery/user: користувач
|
91
|
+
attributes:
|
92
|
+
refinery/user:
|
93
|
+
login: Ім'я або ел. пошта користувача
|
94
|
+
username: Ім'я користувача
|
95
|
+
email: Ел. пошта
|
96
|
+
password: Пароль
|
97
|
+
password_confirmation: Підтвердження пароля
|
98
|
+
remember_me: Запам'ятати мене
|
data/config/locales/vi.yml
CHANGED
@@ -9,7 +9,7 @@ vi:
|
|
9
9
|
delete: Xoá vĩnh viễn người dùng này
|
10
10
|
edit: Chỉnh sửa người dùng này
|
11
11
|
update:
|
12
|
-
|
12
|
+
lockout_prevented: Bạn không thể xoá 'Users' plugin bằng tài khoản bạn đang đăng nhập.
|
13
13
|
form:
|
14
14
|
blank_password_keeps_current: Bỏ trống mật khẩu để giữ nguyên mật khẩu đang sử dụng
|
15
15
|
plugin_access: Truy cập plugin
|
data/config/locales/zh-CN.yml
CHANGED
@@ -9,7 +9,7 @@ zh-CN:
|
|
9
9
|
delete: 永久删除此用户
|
10
10
|
edit: 编辑此用户
|
11
11
|
update:
|
12
|
-
|
12
|
+
lockout_prevented: 您当前登录所使用的帐号无法移除‘用户’插件.
|
13
13
|
form:
|
14
14
|
blank_password_keeps_current: 保留密码框为空以保持原有密码
|
15
15
|
plugin_access: 插件
|
@@ -37,8 +37,8 @@ zh-CN:
|
|
37
37
|
reset_password: 重置密码
|
38
38
|
blank_email: 您没有输入邮件地址.
|
39
39
|
email_not_associated_with_account_html: "对不起, '%{email}' 并没有关联到任何的帐号.<br />您确认输入了正确的邮件地址?"
|
40
|
-
email_reset_sent:
|
41
|
-
password_encryption: '
|
40
|
+
email_reset_sent: 一封包含有重置密码链接的邮件已经发送到您的邮箱.
|
41
|
+
password_encryption: '请重置您的密码. (为了更好的安全性,Refinery 改进了加密算法, 您需要重置密码使之生效)'
|
42
42
|
reset:
|
43
43
|
code_invalid: "我们很抱歉, 但这个重置号已经过期或者不可用, 如果您遇到问题的话请试着从您的邮件中复制粘贴里面的URL到您的浏览器中以便重新进入密码修改流程."
|
44
44
|
successful: "'%{email}' 密码重置成功"
|
@@ -46,7 +46,7 @@ zh-CN:
|
|
46
46
|
reset_password: 重置密码
|
47
47
|
user_mailer:
|
48
48
|
reset_notification:
|
49
|
-
subject:
|
49
|
+
subject: 密码重置的链接
|
50
50
|
reset_request_received_for: "请求收%{username}到重置密码"
|
51
51
|
visit_this_url: 浏览此URL去选择一个新密码
|
52
52
|
remain_same_if_no_action: '如果你不进行操作, 你的密码将维持不变'
|
@@ -55,7 +55,7 @@ zh-CN:
|
|
55
55
|
refinery: Refinery
|
56
56
|
devise:
|
57
57
|
failure:
|
58
|
-
unauthenticated:
|
58
|
+
unauthenticated: 您尚未登录.
|
59
59
|
invalid: "对不起, 您的用户名或密码不正确."
|
60
60
|
sessions:
|
61
61
|
signed_in: 登录成功.
|
data/config/locales/zh-TW.yml
CHANGED
data/config/routes.rb
CHANGED
@@ -1,15 +1,9 @@
|
|
1
|
-
Refinery::Core::Engine.routes.append do
|
2
|
-
namespace :admin, :path => 'refinery' do
|
3
|
-
resources :users, :except => :show
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
1
|
Refinery::Core::Engine.routes.draw do
|
8
2
|
begin
|
9
3
|
require 'devise'
|
10
4
|
devise_for :refinery_user,
|
11
5
|
:class_name => 'Refinery::User',
|
12
|
-
:path =>
|
6
|
+
:path => "#{Refinery::Core.backend_route}/users",
|
13
7
|
:controllers => { :registrations => 'refinery/users' },
|
14
8
|
:skip => [:registrations],
|
15
9
|
:path_names => { :sign_out => 'logout',
|
@@ -18,10 +12,10 @@ Refinery::Core::Engine.routes.draw do
|
|
18
12
|
|
19
13
|
# Override Devise's other routes for convenience methods.
|
20
14
|
devise_scope :refinery_user do
|
21
|
-
get
|
22
|
-
get
|
23
|
-
get
|
24
|
-
post
|
15
|
+
get "/#{Refinery::Core.backend_route}/login", :to => "sessions#new", :as => :login
|
16
|
+
get "/#{Refinery::Core.backend_route}/logout", :to => "sessions#destroy", :as => :logout
|
17
|
+
get "/#{Refinery::Core.backend_route}/users/register" => 'users#new', :as => :signup
|
18
|
+
post "/#{Refinery::Core.backend_route}/users/register" => 'users#create', :as => :signup
|
25
19
|
end
|
26
20
|
rescue RuntimeError => exc
|
27
21
|
if exc.message =~ /ORM/
|
@@ -35,4 +29,8 @@ Refinery::Core::Engine.routes.draw do
|
|
35
29
|
raise exc
|
36
30
|
end
|
37
31
|
end
|
32
|
+
|
33
|
+
namespace :admin, :path => Refinery::Core.backend_route do
|
34
|
+
resources :users, :except => :show
|
35
|
+
end
|
38
36
|
end
|
@@ -11,9 +11,6 @@ Devise.setup do |config|
|
|
11
11
|
# Configure the class responsible to send e-mails.
|
12
12
|
# config.mailer = "Devise::Mailer"
|
13
13
|
|
14
|
-
# Automatically apply schema changes in tableless databases
|
15
|
-
config.apply_schema = false
|
16
|
-
|
17
14
|
# ==> ORM configuration
|
18
15
|
# Load and configure the ORM. Supports :active_record (default) and
|
19
16
|
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
@@ -117,10 +114,6 @@ Devise.setup do |config|
|
|
117
114
|
# If true, extends the user's remember period when remembered via cookie.
|
118
115
|
# config.extend_remember_period = false
|
119
116
|
|
120
|
-
# If true, uses the password salt as remember token. This should be turned
|
121
|
-
# to false if you are not using database authenticatable.
|
122
|
-
config.use_salt_as_remember_token = true
|
123
|
-
|
124
117
|
# Options to be passed to the created cookie. For instance, you can set
|
125
118
|
# :secure => true in order to force SSL only cookies.
|
126
119
|
# config.cookie_options = {}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Refinery
|
2
2
|
module Authentication
|
3
3
|
class Engine < ::Rails::Engine
|
4
|
-
|
4
|
+
extend Refinery::Engine
|
5
5
|
|
6
6
|
isolate_namespace Refinery
|
7
7
|
engine_name :refinery_authentication
|
@@ -12,7 +12,6 @@ module Refinery
|
|
12
12
|
Refinery::Plugin.register do |plugin|
|
13
13
|
plugin.pathname = root
|
14
14
|
plugin.name = 'refinery_users'
|
15
|
-
plugin.version = %q{2.0.0}
|
16
15
|
plugin.menu_match = %r{refinery/users$}
|
17
16
|
plugin.activity = {
|
18
17
|
:class_name => :'refinery/user',
|
@@ -23,8 +22,8 @@ module Refinery
|
|
23
22
|
end
|
24
23
|
|
25
24
|
before_inclusion do
|
26
|
-
[Refinery::
|
27
|
-
c
|
25
|
+
[Refinery::AdminController, ::ApplicationController].each do |c|
|
26
|
+
Refinery.include_once(c, Refinery::AuthenticatedSystem)
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# Encoding: UTF-8
|
2
|
-
|
3
|
-
require 'refinery/version'
|
2
|
+
require File.expand_path('../../core/lib/refinery/version', __FILE__)
|
4
3
|
|
5
4
|
version = Refinery::Version.to_s
|
5
|
+
rails_version = ['>= 3.1.3', '< 3.3']
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
@@ -21,6 +21,6 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.test_files = `git ls-files -- spec/*`.split("\n")
|
22
22
|
|
23
23
|
s.add_dependency 'refinerycms-core', version
|
24
|
-
s.add_dependency '
|
25
|
-
s.add_dependency '
|
24
|
+
s.add_dependency 'actionmailer', rails_version
|
25
|
+
s.add_dependency 'devise', '~> 2.2.3'
|
26
26
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Refinery::Admin::UsersController do
|
4
|
-
|
4
|
+
refinery_login_with_factory :refinery_superuser
|
5
5
|
|
6
6
|
shared_examples_for "new, create, update, edit and update actions" do
|
7
7
|
it "loads roles" do
|
@@ -53,7 +53,7 @@ describe Refinery::Admin::UsersController do
|
|
53
53
|
|
54
54
|
describe "#edit" do
|
55
55
|
it "renders the edit template" do
|
56
|
-
get :edit, :id =>
|
56
|
+
get :edit, :id => logged_in_user.id
|
57
57
|
response.should be_success
|
58
58
|
response.should render_template("refinery/admin/users/edit")
|
59
59
|
end
|
@@ -62,13 +62,22 @@ describe Refinery::Admin::UsersController do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
describe "#update" do
|
65
|
+
let(:additional_user) { FactoryGirl.create :refinery_user }
|
65
66
|
it "updates a user" do
|
66
|
-
|
67
|
-
|
68
|
-
put "update", :id => user.id.to_s, :user => {}
|
67
|
+
Refinery::User.should_receive(:find).at_least(1).times{ additional_user }
|
68
|
+
put "update", :id => additional_user.id.to_s, :user => {}
|
69
69
|
response.should be_redirect
|
70
70
|
end
|
71
71
|
|
72
|
+
context "when specifying plugins" do
|
73
|
+
it "won't allow to remove 'Users' plugin from self" do
|
74
|
+
Refinery::User.should_receive(:find).at_least(1).times{ logged_in_user }
|
75
|
+
put "update", :id => logged_in_user.id.to_s, :user => {:plugins => ["some plugin"]}
|
76
|
+
|
77
|
+
flash[:error].should eq("You cannot remove the 'Users' plugin from the currently logged in account.")
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
72
81
|
it_should_behave_like "new, create, update, edit and update actions"
|
73
82
|
end
|
74
83
|
end
|
data/spec/factories/user.rb
CHANGED
@@ -17,7 +17,7 @@ FactoryGirl.define do
|
|
17
17
|
factory :refinery_user, :parent => :user do
|
18
18
|
roles { [ ::Refinery::Role[:refinery] ] }
|
19
19
|
|
20
|
-
|
20
|
+
after(:create) do |user|
|
21
21
|
::Refinery::Plugins.registered.each_with_index do |plugin, index|
|
22
22
|
user.plugins.create(:name => plugin.name, :position => index)
|
23
23
|
end
|
@@ -31,7 +31,7 @@ FactoryGirl.define do
|
|
31
31
|
factory :refinery_translator, :parent => :user do
|
32
32
|
roles { [ ::Refinery::Role[:refinery], ::Refinery::Role[:translator] ] }
|
33
33
|
|
34
|
-
|
34
|
+
after(:create) do |user|
|
35
35
|
user.plugins.create(:name => 'refinery_pages', :position => 0)
|
36
36
|
end
|
37
37
|
end
|