Skip to content

Commit

Permalink
Merge pull request #2635 from refinery/loose-devise-dependency
Browse files Browse the repository at this point in the history
Upgraded Devise dependency to be looser but with a minimum version of 3.2.4
  • Loading branch information
parndt committed Jul 29, 2014
2 parents 6931195 + 0164f8b commit b955758
Show file tree
Hide file tree
Showing 38 changed files with 39 additions and 60 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Expand Up @@ -38,7 +38,7 @@ if !ENV['TRAVIS'] || ENV['DB'] == 'postgresql'
end

group :test do
gem 'refinerycms-testing', '~> 3.0.0.dev'
gem 'refinerycms-testing', '~> 3.0.0'
gem 'generator_spec', '~> 0.9.1'
gem 'launchy'
end
Expand Down
18 changes: 9 additions & 9 deletions authentication/app/controllers/refinery/passwords_controller.rb
Expand Up @@ -20,22 +20,22 @@ def give_notice

# GET /registrations/password/edit?reset_password_token=abcdef
def edit
if params[:reset_password_token] and (@refinery_user = User.where(:reset_password_token => params[:reset_password_token]).first).present?
respond_with(@refinery_user)
else
redirect_to refinery.new_refinery_user_password_path,
:flash => ({ :error => t('code_invalid', :scope => 'refinery.users.reset') })
if @reset_password_token = params[:reset_password_token]
@refinery_user = User.find_or_initialize_with_error_by_reset_password_token(params[:reset_password_token])
respond_with(@refinery_user) and return
end

redirect_to refinery.new_refinery_user_password_path,
:flash => ({ :error => t('code_invalid', :scope => 'refinery.users.reset') })
end

# POST /registrations/password
def create
if params[:refinery_user].present? and (email = params[:refinery_user][:email]).present? and
if params[:refinery_user].present? && (email = params[:refinery_user][:email]).present? &&
(user = User.where(:email => email).first).present?

# Call devise reset function.
user.send(:generate_reset_password_token!)
UserMailer.reset_notification(user, request).deliver
token = user.generate_reset_password_token!
UserMailer.reset_notification(user, request, token).deliver
redirect_to refinery.login_path,
:notice => t('email_reset_sent', :scope => 'refinery.users.forgot')
else
Expand Down
4 changes: 2 additions & 2 deletions authentication/app/mailers/refinery/user_mailer.rb
@@ -1,11 +1,11 @@
module Refinery
class UserMailer < ActionMailer::Base

def reset_notification(user, request)
def reset_notification(user, request, reset_password_token)
@user = user
@url = refinery.edit_refinery_user_password_url({
:host => request.host_with_port,
:reset_password_token => @user.reset_password_token
:reset_password_token => reset_password_token
})

mail(:to => user.email,
Expand Down
16 changes: 16 additions & 0 deletions authentication/app/models/refinery/user.rb
Expand Up @@ -34,6 +34,22 @@ def find_for_database_authentication(conditions)
value = conditions[authentication_keys.first]
where(["username = :value OR email = :value", { value: value }]).first
end

def find_or_initialize_with_error_by_reset_password_token(original_token)
find_or_initialize_with_error_by :reset_password_token,
Devise.token_generator.digest(self, :reset_password_token, original_token)
end
end

# Call devise reset function, taken from
# https://github.com/plataformatec/devise/blob/v3.2.4/lib/devise/models/recoverable.rb#L45-L56
def generate_reset_password_token!
raw, enc = Devise.token_generator.generate(self.class, :reset_password_token)
update_attributes(
:reset_password_token => enc,
:reset_password_sent_at => Time.now.utc
)
raw
end

def plugins=(plugin_names)
Expand Down
2 changes: 1 addition & 1 deletion authentication/app/views/refinery/passwords/edit.html.erb
Expand Up @@ -3,7 +3,7 @@
<%= form_for resource, :as => resource_name,
:url => refinery.refinery_user_password_path,
:html => { :method => :put } do |f| %>
<%= f.hidden_field :reset_password_token %>
<%= f.hidden_field :reset_password_token, :value => @reset_password_token %>
<%= render '/refinery/admin/error_messages', :object => @refinery_user, :include_object_name => true %>

Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/bg.yml
Expand Up @@ -46,7 +46,6 @@ bg:
email_reset_sent: До Вас бе изпратена е-поща, съдържаща връзка за смяна на паролата Ви.
password_encryption: Налага се да смените Вашата парола, тъй като метода за криптиране на пароли в Refinery бе променен. Чрез новия метод паролите се съхраняват по-сигурно отпреди.
reset:
code_invalid: "За съжаление, кодът за смяна е изтекъл или е невалиден. Моля, копирайте и вмъкнете точния уеб адрес от Вашето писмо в браузъра или поискайте нова смяна на паролата Ви."
successful: 'Паролата бе успешно сменена за "%{email}"'
pick_new_password_for: "Моля, изберете нова парола за %{email}"
reset_password: Смяна на парола
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/ca.yml
Expand Up @@ -46,7 +46,6 @@ ca:
email_reset_sent: "T'hem enviat un e-mail amb un enllaç per canviar la teva contrasenya."
password_encryption: "Necessites restablir la teva contrasenya perque va haver-hi canvis en els mètodes d'encriptació de contrasenyes que Refinery usa, ja que ara les contrasenyes són emmagatzemades amb una encriptació més forta que abans."
reset:
code_invalid: "Ho sentim, però aquest codi per canviar la contrasenya ha expirat o no és vàlid. Si tens problemes intenta copiar i pegar l'adreça des de l'e-mail que t'enviem o comença de nou el procés per canviar la contrasenya."
successful: "Contrasenya canviada correctament per a '%{email}'"
pick_new_password_for: "Tria una nova contrasenya per a %{email}"
reset_password: Canviar contrasenya
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/cs.yml
Expand Up @@ -40,7 +40,6 @@ cs:
email_reset_sent: Byl vám odeslán email s odkazem na resetování hesla.
password_encryption: 'Musíte si změnit heslo, protože nastala změna v šifrovací metodě ukládáných hesel. Refinery se stává více bezpečnější než dříve.'
reset:
code_invalid: 'Omlouváme se, ale kód pro resetování hesla je buď chybný nebo expirovaný. Zkuste zkopírovat adresu pro resetování hesle z emailu který jste obdržel/a, nebo si nechejte email zaslat znovu.'
successful: "Heslo bylo úspěšně resetováno pro '%{email}'"
pick_new_password_for: 'Zadejte nové heslo pro %{email}'
reset_password: Reset hesla
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/da.yml
Expand Up @@ -40,7 +40,6 @@ da:
email_reset_sent: En email er blevet sendt til dig med et link til nulstille din adgangskode.
password_encryption: 'Du er nødt til at nulstille dit password, da vi har opdateret den kryptering som Refinery bruger.'
reset:
code_invalid: "Vi beklager, men denne nulstillingskode er udløbet eller ugyldig. Hvis du har spørgsmål kan du prøve at kopiere og indsætte webadressen fra din email til din browser eller prøve igen."
successful: "Adgangskode er nulstillet for %{email}"
pick_new_password_for: "Vælge en ny adgangskode for %{email}"
reset_password: Nulstil adgangskode
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/de.yml
Expand Up @@ -40,7 +40,6 @@ de:
email_reset_sent: 'Es wurde Ihnen eine E-Mail mit einem Link geschickt, durch den Sie ihr Passwort zurücksetzen können.'
password_encryption: 'Sie müssen ihr Passwort zurücksetzen, da es Änderungen in der Art der Passwortverschlüsselung gab, die Refinery nutzt, so dass Passwörter sogar noch stärker verschlüsselt werden als vorher.'
reset:
code_invalid: 'Tut mir leid, aber dieser Zurücksetzungscode ist abgelaufen oder ungültig. Wenn Sie Probleme haben, versuchen Sie, den Link aus der E-Mail zu kopieren und in Ihren Browser einzufügen, oder wiederholen Sie den Vorgang mit dem Passwort zurücksetzen.'
successful: "Passwort für '%{email}' erfolgreich zurückgesetzt"
pick_new_password_for: 'Wählen Sie ein neues Passwort für %{email}'
reset_password: Passwort zurücksetzen
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/el.yml
Expand Up @@ -40,7 +40,6 @@ el:
email_reset_sent: Σας έχει αποσταλεί email με ένα σύνδεσμο για να αλλάξετε κωδικό.
password_encryption: Πρέπει να αλλάξετε τον κωδικό σας γιατί υπήρχαν αλλαγές στον τρόπο που το Refinery κρυπτογραφεί τον κωδικό σας με στόχο την μεγαλύτερη ασφάλειά σας.
reset:
code_invalid: Συγγνώμη αλλά ο κωδικός έληξε. Αν έχετε προβλήματα επαναλάβετε τη διαδικασία αλλαγής κωδικού.
successful: "Ο κωδικός άλλαξε για '%{email}'"
pick_new_password_for: 'Διαλέξτε έναν νέο κωδικό για το %{email}'
reset_password: Αλλαγή κωδικού
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/en.yml
Expand Up @@ -46,7 +46,6 @@ en:
email_reset_sent: An email has been sent to you with a link to reset your password.
password_encryption: You need to reset your password because there were changes in the password encryption methods that Refinery uses so that passwords are stored with even stronger encryption than before.
reset:
code_invalid: "We're sorry, but this reset code has expired or is invalid. If you are having issues try copying and pasting the URL from your email into your browser or restarting the reset password process."
successful: "Password reset successfully for '%{email}'"
pick_new_password_for: "Pick a new password for %{email}"
reset_password: Reset password
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/es.yml
Expand Up @@ -40,7 +40,6 @@ es:
email_reset_sent: Te hemos enviado un e-mail con un enlace para cambiar tu contraseña.
password_encryption: Necesitas restablecer tu contraseña debido a que hubo cambios en los métodos de encriptación de contraseñas que Refinery usa, ya que ahora las contraseñas son almacenadas con una encriptación más fuerte que antes.
reset:
code_invalid: "Lo sentimos, pero este código para cambiar la contraseña ha expirado o no es válido. Si tienes problemas intenta copiar y pegar la dirección desde el e-mail que te enviamos o comienza de nuevo el proceso para cambiar la contraseña."
successful: "Contraseña cambiada correctamente para '%{email}'"
pick_new_password_for: "Elige una nueva contraseña para %{email}"
reset_password: Cambiar contraseña
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/fi.yml
Expand Up @@ -40,7 +40,6 @@ fi:
email_reset_sent: "Sinulle on lähetetty sähköposti, jonka kautta voit vaihtaa salasanan."
password_encryption: "Sinun täytyy vaihtaa salasanasi, koska Refineryn käyttämää salausmenetelmää on vaihdettu turvallisuussyistä."
reset:
code_invalid: "Olemme pahoillamme, mutta tämä vaihtokoodi on joko vanhentunut, tai se on viallinen. Yritä kopioida ja liittää osoite sähköpostistasi selaimeen, tai käynnistää salasanan vaihto uudelleen."
successful: "Salasana nollattu onnistuneesti osoitteelle '%{email}'"
pick_new_password_for: "Kirjoita uusi salasana osoitteelle %{email}"
reset_password: Nollaa salasana
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/fr.yml
Expand Up @@ -40,7 +40,6 @@ fr:
email_reset_sent: Un e-mail vous a été envoyé. Il contient un lien vous permettant de changer votre mot de passe.
password_encryption: Vous devez modifier votre mot de passe car Refinery utilise de nouvelles méthodes de cryptage. Les nouveaux mots de passe seront stockés avec un niveau de sécurité plus élevé.
reset:
code_invalid: "Nous sommes désolés mais ce code de changement de mot de passe à expiré ou est invalide. Si vous rencontrez des problèmes veuillez essayer de copier/coller l'URL fournie par l'e-mail dans votre navigateur ou de recommencer la précedure de changement de mot de passe."
successful: "Le mot de passe pour '%{email}' a bien été changé."
pick_new_password_for: "Choisissez un nouveau mot de passe pour %{email}"
reset_password: Changer le mot de passe
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/hu.yml
Expand Up @@ -46,7 +46,6 @@ hu:
email_reset_sent: 'Elküldünk egy levelet neked, ami tartalmazza a helyreállításhoz szükséges webcímet.'
password_encryption: 'Újra be kell állítanod a jelszavad, mert változtatások történtek a Refinery által használt jelszó titkosító módszerben, így a jelszavak még nagyobb biztonságban lesznek.'
reset:
code_invalid: "Elnézést kérünk, de ez a visszaállító kód helytelen. Ha továbbra is problémákat tapasztalsz, próbáld kimásolni és beilleszteni az URL-t ez emailből a böngésződbe vagy kezdd előröl a jelszó visszaállítási folyamatot!"
successful: "'%{email}' email címhez tartozó jelszó helyreállítás sikeresen megtörtént"
pick_new_password_for: "Válassz új jelszót a(z) %{email} címhez"
reset_password: Jelszó beállítása
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/it.yml
Expand Up @@ -40,7 +40,6 @@ it:
email_reset_sent: Ti è stata inviata una e-mail con il link per reimpostare la password.
password_encryption: "È necessario reimpostare la password, poiché ci sono stati cambiamenti nei metodi di crittografia della password, in modo da rendere più sicuro l'accesso."
reset:
code_invalid: "Spiacenti, ma il codice per la reimpostazione della password è scaduto o non è valido. Se si hanno problemi provare a copiare e incollare l'URL dalla vostra e-mail al vostro browser, o a ripetere la procedura di reimpostazione password."
successful: "Il ripristino della password è avvenuto con successo per %{email}"
pick_new_password_for: "Scegli una nuova password per %{email}"
reset_password: Reimposta la password
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/ja.yml
Expand Up @@ -40,7 +40,6 @@ ja:
email_reset_sent: パスワードをリセットする為のリンクをメールで送信しました。
password_encryption: パスワードの暗号が強化されましたので、パスワードをリセットする必要があります。
reset:
code_invalid: "リセット用のコードは失効したか、無効です。メールに書かれているリンクをコピーするか、パスワードのリセット手続きを初めからやり直して下さい。"
successful: "「%{email}」のパスワードは正しくリセットされました。"
pick_new_password_for: "%{email}の新しいパスワードを入れて下さい。"
reset_password: パスワードをリセット
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/ko.yml
Expand Up @@ -46,7 +46,6 @@ ko:
email_reset_sent: 비밀번호 초기화 링크를 담은 메일을 발송했습니다.
password_encryption: 더 강력한 보안을 위해 Refinery의 비밀번호 암호화 방식이 변경되었습니다. 새 암호화를 적용하기 위해 비밀번호를 재설정해주세요.
reset:
code_invalid: "죄송합니다. 초기화 코드의 기한이 만료되었거나 올바르지 않습니다. 문제가 계속되면 메일로 받은 URL을 직접 브라우저 주소창에 붙여넣거나 비밀번호 초기화 과정을 처음부터 다시 시작해주세요."
successful: "'%{email}' 계정의 비밀번호가 초기화되었습니다"
pick_new_password_for: "%{email} 계정의 비밀번호를 재설정하세요"
reset_password: 비밀번호 초기화
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/lt.yml
Expand Up @@ -37,7 +37,6 @@ lt:
email_not_associated_with_account_html: "Atsiprašome, '%{email}' nėra susietas su jokia paskyra.<br />Ar tikrai nurodėte teisingą el. pašto adresą?"
email_reset_sent: El. laiškas buvo nusiųstas jums su nuoroda kur galite pakeisti slaptažodį.
reset:
code_invalid: 'Atsiprašome, bet šio kodo galiojimo laikas baigėsi arba jis neteisingas. Jeigu susiduriate su nesklandumais, pabandykite nukopijuoti ir įterpti adresą iš laiško į naršyklę arba iš naujo pradėti slaptažodžio keitimo procedūrą.'
successful: "'%{email}' slaptažodis sėkmingai atnaujintas"
pick_new_password_for: 'Nurodykite naują %{email} slaptažodį'
reset_password: Pakeisti slaptažodį
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/lv.yml
Expand Up @@ -40,7 +40,6 @@ lv:
email_reset_sent: "Uz jūsu epastu tika izsūtīta vēstule, kura satur saiti, lai atjaunotu paroli."
password_encryption: 'Jums ir jāatjauno parole, jo tika veiktas izmaiņas Refinery paroļu kriptēšanas sistēmā.'
reset:
code_invalid: 'Atvainojiet, šim paroles atjaunošanas kodam ir beidzies izmantošanas termiņš vai arī tas nav derīgs. Ja Jums ir radušās problēmas, tad pamēģiniet nokopēt saņemto saiti no epasta un iekopēt to pārluka adrešu laukā vai arī mēģiniet sākt atjuanošanas procesu no sākuma.'
successful: "Paroles atjaunošana noritēja sekmīgi priekš '%{email}'"
pick_new_password_for: 'Izveidojiet jaunu paroli priekš %{email}'
reset_password: Atjaunot paroli
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/nb.yml
Expand Up @@ -40,7 +40,6 @@ nb:
email_reset_sent: En e-post har blitt sendt til deg med en lenke for å tilbakestille passordet ditt.
password_encryption: Du må tilbakestille ditt passord da det er gjort endringer i krypteringsteknologien som Refinery benttter. Endringene gjør at passordene lagres med en enda sterkere kryptering enn tidlgere.
reset:
code_invalid: "Beklager, men denne koden for å tilbakestille passordet har utløpt eller er ugyldig. Om du opplever problemer så kan du forsøker å kopiere og lime inn lenken fra e-posten du mottok, eller start prosessen med å tilbakestille passordet på nytt."
successful: "Passordet for %{email} er nå tilbakestilt"
pick_new_password_for: "Velg et nytt passord for %{email}"
reset_password: Tilbakestill passord
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/nl.yml
Expand Up @@ -46,7 +46,6 @@ nl:
email_reset_sent: Er is een e-mail naar u verzonden met een link om een nieuw wachtwoord in te stellen.
password_encryption: 'U moet een nieuw wachtwoord instellen omdat de wachtwoordversleuteling van Refinery is verbeterd, hiermee wordt uw wachtwoord nog veiliger opgeslagen.'
reset:
code_invalid: "Het spijt ons, maar deze code is verlopen of ongeldig. U kunt het probleem wellicht verhelpen door de link direct vanuit de e-mail te kopieren en in uw browser te plakken, of door het proces opnieuw te starten."
successful: "Het instellen van een nieuw wachtwoord voor %{email} is gelukt."
pick_new_password_for: 'Kies een nieuw wachtwoord voor %{email}'
reset_password: Nieuw wachtwoord instellen
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/pl.yml
Expand Up @@ -40,7 +40,6 @@ pl:
email_reset_sent: Został wysłany e-mail z linkiem umożliwiającym reset hasła.
password_encryption: Musisz zmienić swoje hasło ponieważ wprowadziliśmy zmiany w używanej w Rafinery metodzie szyfrowania. Teraz hasła są jeszcze lepiej chronione.
reset:
code_invalid: "Niestety, ten kod resetu hasła wygasł lub jest niepoprawny. Jeżeli masz problemy z resetem hasła, skopiuj i wklej link z e-mail do przeglądarki lub ponownie rozpocznij proces resetu hasła."
successful: "Hasło zresetowane dla '%{email}'"
pick_new_password_for: "Wybierz nowe hasło dla %{email}"
reset_password: Reset hasła
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/pt-BR.yml
Expand Up @@ -40,7 +40,6 @@ pt-BR:
email_reset_sent: Um email foi enviado para você com um link para recuperar sua senha.
password_encryption: Você precisa redefinir sua senha pois existem mudanças nos métodos de criptografia usados pelo Refinery, as senhas são armazenadas com uma encriptação maior do que anteriormente.
reset:
code_invalid: "Lamentamos, mas este código reset expirou ou é inválido. Se você está tendo problemas tente copiar e colar a URL do seu e-mail em seu navegador ou reinicie o processo de mudança de senha."
successful: "Senha alterada com sucesso para o e-mail %{email}"
pick_new_password_for: "Digite uma nova senha para o e-mail %{email}"
reset_password: Recuperar senha
Expand Down
1 change: 0 additions & 1 deletion authentication/config/locales/pt.yml
Expand Up @@ -46,7 +46,6 @@ pt:
email_reset_sent: Um email foi enviado com um link para fazer reset à password.
password_encryption: Deve pedir um reset à sua password pois houveram alterações à forma como a plataforma encripta as passwords.
reset:
code_invalid: "Pedimos desculpa, mas este código de reset expirou ou é inválido. Se está a ter problemas tente copiar e colar o URL do seu e-mail no browser ou volte a pedir uma nova password."
successful: "Nova password para '%{email}'"
pick_new_password_for: "Nova password para %{email}"
reset_password: Restabelecer password
Expand Down

0 comments on commit b955758

Please sign in to comment.