app/helpers/sessions_helper.rb in snapuser-0.1.1 vs app/helpers/sessions_helper.rb in snapuser-0.2.0

- old
+ new

@@ -4,26 +4,15 @@ # # * *Args* : # - a user to sign in # * *Returns* : # - def sign_in(user) - cookies[:remember_token] = user.remember_token - self.current_user = user - end + def sign_in(user, permanent: false) + cookies[:remember_token] = { value: user.remember_token, expires: (Time.now + 2592000 if permanent) } + self.current_user = user + end - # Sign in a user with a cookie (remove after 2 months) - # - # * *Args* : - # - a user to sign in - # * *Returns* : - # - def sign_in_permanent(user) - cookies[:remember_token] = { value: user.remember_token, expires: Time.now + 2592000 } - self.current_user = user - end - def current_user=(user) @current_user = user end # Provid the user currently signed in. @@ -68,17 +57,21 @@ def redirect_back_or(default, message = nil) redirect_to(cookies[:return_to] || default, message) session.delete(:return_to) end - def authorize_level?(level = 3) + def authorize_level?(level) current_user && current_user.level <= level end - def authorize_level(level = 3) + def authorize_level(level) unless authorize_level?(level) store_location - redirect_to login_path, error: "Pas autorisé" + redirect_to login_path, error: t("snapuser.errors.unauthorized") end + end + + def require_login + redirect_to login_path, error: t("snapuser.errors.unconnected") unless signed_in? end end \ No newline at end of file