snapuser 0.1.1 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8099c1c9b21a13dc33d528f10f69badedddd463
4
- data.tar.gz: 43a55ea4fa6c7957bbf76ebb611691e72f756150
3
+ metadata.gz: 8b68c03b024e5cb5dfa5eb265b3a91956bba8f31
4
+ data.tar.gz: 42d487e79165055c859670013c03aa2b7ecd7e4f
5
5
  SHA512:
6
- metadata.gz: 7bd47bda42d7cf0d2ec1e16aec2b5dd8ed0b59130fa6f6fd177217f3694818de7d99db6aee007a61a7aadaf023843036b0ead69248dba08f47319c38184e9f96
7
- data.tar.gz: f0cda7e7137c3f5c449be8d1f088f45c18a888e7baa9695589f399ebb077205c18c93063f9fb206abaa30dc49f6d3052984587710942e6ee09f814ecdad5b1d2
6
+ metadata.gz: 84c708628437a8e2b5cc27999964e7c0163062f84987ddb3c97950b6dd168f013757ef462d79d61d0b17db0e765ab91786ca655b79679c04a3d4a01318b15de1
7
+ data.tar.gz: 3d6ad9a363bea08144061f512649fcd4553cf00ab6b94df11ddfc3039beb29b0ed1fda70d8f46f56fbaa6bd4a7ba9355787d0517a6b28f58e716819c86013f12
@@ -1,5 +1,5 @@
1
1
  class Admin::UsersController < ApplicationController
2
- before_action { |c| c.authorize_level(1) }
2
+ before_action { |c| c.authorize_level(Snapuser.superuser_level) }
3
3
  layout 'admin'
4
4
 
5
5
  def index
@@ -14,7 +14,7 @@ class Admin::UsersController < ApplicationController
14
14
  def create
15
15
  @user = User.new(user_params)
16
16
  if @user.save
17
- redirect_to admin_users_path, success: t('user.admin.new.success')
17
+ redirect_to admin_users_path, success: t('snapuser.admin.new.success')
18
18
  else
19
19
  render 'new'
20
20
  end
@@ -27,7 +27,7 @@ class Admin::UsersController < ApplicationController
27
27
  def update
28
28
  @user = User.find(params[:id])
29
29
  if @user.update_attributes(user_params)
30
- redirect_to admin_users_path, success: t('user.admin.edit.success')
30
+ redirect_to admin_users_path, success: t('snapuser.admin.edit.success')
31
31
  else
32
32
  render 'edit'
33
33
  end
@@ -35,7 +35,7 @@ class Admin::UsersController < ApplicationController
35
35
 
36
36
  def destroy
37
37
  User.find(params[:id]).destroy
38
- redirect_to admin_activities_path, success: t('user.admin.destroy.success')
38
+ redirect_to admin_activities_path, success: t('snapuser.admin.destroy.success')
39
39
  end
40
40
 
41
41
  private
@@ -1,5 +1,5 @@
1
1
  class SessionsController < ApplicationController
2
- before_action :connected?, except: :destroy
2
+ before_action :redirect_if_connected, except: :destroy
3
3
 
4
4
  def new
5
5
  end
@@ -7,22 +7,22 @@ class SessionsController < ApplicationController
7
7
  def create
8
8
  @user = User.where("lower(name) = ?", params[:session][:name].strip.downcase).first
9
9
  if @user && @user.authenticate(params[:session][:password])
10
- params[:session][:remember_me] == '1' ? sign_in_permanent(@user) : sign_in(@user)
11
- redirect_back_or profile_path, success: t('session.new.success')
10
+ sign_in(@user, permanent: params[:session][:remember_me] == "1")
11
+ redirect_back_or profile_path, success: t('snapuser.session.success')
12
12
  else
13
- flash.now[:error] = t('session.new.error')
13
+ flash.now[:error] = t('snapuser.session.error')
14
14
  render 'new'
15
15
  end
16
16
  end
17
17
 
18
18
  def destroy
19
19
  sign_out
20
- redirect_to root_path, success: t('session.destroy.success')
20
+ redirect_to root_path, success: t('snapuser.session.destroy.success')
21
21
  end
22
22
 
23
23
  private
24
24
 
25
- def connected?
25
+ def redirect_if_connected
26
26
  redirect_to profile_path unless current_user.nil?
27
27
  end
28
28
 
@@ -1,11 +1,7 @@
1
1
  class UsersController < ApplicationController
2
- before_action except: [:profile] { |c| c.authorize_level(2) }
3
- before_action only: [:profile] { |c| c.authorize_level(4) }
2
+ before_action { |c| c.authorize_level(Snapuser.can_edit) }
4
3
  layout 'admin'
5
4
 
6
- def profile
7
- end
8
-
9
5
  def edit
10
6
  @user = current_user
11
7
  end
@@ -14,7 +10,7 @@ class UsersController < ApplicationController
14
10
  @user = current_user
15
11
  if @user.update_attributes(user_params)
16
12
  sign_in @user
17
- redirect_to profile_path, success: t('user.edit.success')
13
+ redirect_to profile_path, success: t('snapuser.edit.success')
18
14
  else
19
15
  render 'new'
20
16
  end
@@ -6,21 +6,10 @@ module SessionsHelper
6
6
  # - a user to sign in
7
7
  # * *Returns* :
8
8
  #
9
- def sign_in(user)
10
- cookies[:remember_token] = user.remember_token
11
- self.current_user = user
12
- end
13
-
14
- # Sign in a user with a cookie (remove after 2 months)
15
- #
16
- # * *Args* :
17
- # - a user to sign in
18
- # * *Returns* :
19
- #
20
- def sign_in_permanent(user)
21
- cookies[:remember_token] = { value: user.remember_token, expires: Time.now + 2592000 }
22
- self.current_user = user
23
- end
9
+ def sign_in(user, permanent: false)
10
+ cookies[:remember_token] = { value: user.remember_token, expires: (Time.now + 2592000 if permanent) }
11
+ self.current_user = user
12
+ end
24
13
 
25
14
  def current_user=(user)
26
15
  @current_user = user
@@ -70,15 +59,19 @@ module SessionsHelper
70
59
  session.delete(:return_to)
71
60
  end
72
61
 
73
- def authorize_level?(level = 3)
62
+ def authorize_level?(level)
74
63
  current_user && current_user.level <= level
75
64
  end
76
65
 
77
- def authorize_level(level = 3)
66
+ def authorize_level(level)
78
67
  unless authorize_level?(level)
79
68
  store_location
80
- redirect_to login_path, error: "Pas autorisé"
69
+ redirect_to login_path, error: t("snapuser.errors.unauthorized")
81
70
  end
82
71
  end
83
72
 
73
+ def require_login
74
+ redirect_to login_path, error: t("snapuser.errors.unconnected") unless signed_in?
75
+ end
76
+
84
77
  end
@@ -1,3 +1,3 @@
1
- <h1><%= t('user.admin.edit.title') %></h1>
1
+ <h1><%= t('snapuser.admin.edit.title') %></h1>
2
2
 
3
3
  <%= render 'form' %>
@@ -1,5 +1,3 @@
1
- <h1><%= t('user.admin.index') %></h1>
1
+ <h1><%= t('snapuser.admin.index.title') %></h1>
2
2
 
3
- <div id="admin_table">
4
- <%= @table.present %>
5
- </div>
3
+ <%= @table.present %>
@@ -1,3 +1,3 @@
1
- <h1><%= t('user.admin.new.title') %></h1>
1
+ <h1><%= t('snapuser.admin.new.title') %></h1>
2
2
 
3
3
  <%= render 'form' %>
@@ -1,5 +1,3 @@
1
- <% content_for :id, "login" %>
2
-
3
1
  <%= form_for :session, url: sessions_path do |f| %>
4
2
 
5
3
  <%= f.label :name %>
@@ -1,3 +1,3 @@
1
- <h1><%= t('user.edit.title') %></h1>
1
+ <h1><%= t('snapuser.edit.title') %></h1>
2
2
 
3
3
  <%= render 'form' %>
@@ -0,0 +1,40 @@
1
+ fr:
2
+ snapuser:
3
+ admin:
4
+ index:
5
+ title: "Les utilisateurs"
6
+ edit:
7
+ title: "Editer un utilisateur"
8
+ success: "Utilisateur enregistré"
9
+ new:
10
+ title: "Ajouter un utilisateur"
11
+ success: "Utilisateur crée"
12
+ edit:
13
+ title: "Editer mon compte"
14
+ success: "Compte mis à jour"
15
+ destroy:
16
+ success: "Utilisateur supprimé"
17
+ errors:
18
+ unauthorized: "Non autorisé"
19
+ unconnected: "Veuillez vous connecter"
20
+ session:
21
+ success: "Connecté !"
22
+ error: "Mot de passe ou/et nom d'utilisateur invalide !"
23
+ destroy:
24
+ success: "Déconnecté !"
25
+ activerecord:
26
+ attributes:
27
+ user:
28
+ name: "Nom d'utilisateur"
29
+ password: "Mot de passe"
30
+ password_confirmation: "Confirmation du mot de passe"
31
+ helpers:
32
+ submit:
33
+ user:
34
+ create: "S'inscrire"
35
+ update: "Mettre à jour"
36
+ label:
37
+ session:
38
+ name: "Nom d'utilisateur"
39
+ remember_me: "Se souvenir de moi"
40
+ password: "Mot de passe"
data/config/routes.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- get 'profile', to: "users#profile"
4
-
5
3
  patch 'user/update', to: "users#update"
6
4
  get 'user/edit', to: "users#edit"
7
5
 
data/lib/snapuser.rb CHANGED
@@ -2,6 +2,8 @@ require "snapuser/engine"
2
2
 
3
3
  module Snapuser
4
4
  @@levels = {"superadmin" => "1", "admin" => "2"}
5
+ @@superuser_level = 1
6
+ @@can_edit = 2
5
7
 
6
- mattr_accessor :levels
7
- end
8
+ mattr_accessor :levels, :can_edit, :superuser_level
9
+ end
@@ -1,3 +1,3 @@
1
1
  module Snapuser
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :snapuser do
3
- # # Task goes here
4
- # end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snapuser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - khcr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-15 00:00:00.000000000 Z
11
+ date: 2015-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -87,7 +87,7 @@ files:
87
87
  - app/views/sessions/new.html.erb
88
88
  - app/views/users/_form.html.erb
89
89
  - app/views/users/edit.html.erb
90
- - app/views/users/profile.html.erb
90
+ - config/locales/fr.yml
91
91
  - config/routes.rb
92
92
  - db/migrate/20150415193853_create_users.rb
93
93
  - lib/snapuser.rb
@@ -1,20 +0,0 @@
1
- <% content_for :id, "profil" %>
2
-
3
- <h1><%= t('user.index') %></h1>
4
-
5
- <%= link_to t('user.edit.title'), user_edit_path if authorize_level?(2) %>
6
-
7
- <div class="links">
8
- <%= link_to_active "Home", root_path %>
9
- <%= link_to_active t('user.index'), profile_path %>
10
- <%= link_to_active t('layout.header.messages'), messages_path %>
11
- <%= link_to_active t('layout.header.admin.files'), admin_files_path if authorize_level?(3) %>
12
- <%= link_to_active t('layout.header.admin.pages'), admin_pages_path if authorize_level?(2) %>
13
- <%= link_to_active t('layout.header.admin.events'), admin_events_path if authorize_level?(2) %>
14
- <%= link_to_active t('layout.header.admin.activities'), admin_activities_path if authorize_level?(2) %>
15
- <%= link_to_active t('layout.header.admin.galleries'), admin_galleries_path if authorize_level?(2) %>
16
- <%= link_to_active t('layout.header.admin.messages'), admin_messages_path if authorize_level?(4) %>
17
- <%= link_to_active t('layout.header.admin.newsletter_emails'), admin_newsletter_emails_path if authorize_level?(2) %>
18
- <%= link_to_active t('layout.header.admin.downloads'), admin_downloads_path if authorize_level?(2) %>
19
- <%= link_to_active t('layout.header.admin.users'), admin_users_path if authorize_level?(1) %>
20
- </div>