summaryrefslogtreecommitdiff
path: root/users/app
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2013-07-11 00:37:45 -0700
committerazul <azul@riseup.net>2013-07-11 00:37:45 -0700
commit02b69c78eed7682c24cb8361da094bdac45a7749 (patch)
treea45ed7076a96ddb1601cf9a2e44ae37160f90319 /users/app
parent3113f8b814417a896ad5340fda88927733f8ab22 (diff)
parenta40a83cb07d9aba8915cd2c4a25aa76e0cf6760e (diff)
Merge pull request #56 from leapcode/feature/disable_account
Feature/disable account
Diffstat (limited to 'users/app')
-rw-r--r--users/app/controllers/users_controller.rb16
-rw-r--r--users/app/models/user.rb2
-rw-r--r--users/app/views/overviews/show.html.haml3
-rw-r--r--users/app/views/users/_edit.html.haml14
-rw-r--r--users/app/views/users/edit.html.haml2
-rw-r--r--users/app/views/users/show.html.haml2
6 files changed, 35 insertions, 4 deletions
diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb
index 4ce970b..f66277d 100644
--- a/users/app/controllers/users_controller.rb
+++ b/users/app/controllers/users_controller.rb
@@ -5,8 +5,8 @@
class UsersController < UsersBaseController
before_filter :authorize, :only => [:show, :edit, :update, :destroy]
- before_filter :fetch_user, :only => [:show, :edit, :update, :destroy]
- before_filter :authorize_admin, :only => [:index]
+ before_filter :fetch_user, :only => [:show, :edit, :update, :destroy, :deactivate, :enable]
+ before_filter :authorize_admin, :only => [:index, :deactivate, :enable]
respond_to :html
@@ -34,6 +34,18 @@ class UsersController < UsersBaseController
def edit
end
+ def deactivate
+ @user.enabled = false
+ @user.save
+ respond_with @user
+ end
+
+ def enable
+ @user.enabled = true
+ @user.save
+ respond_with @user
+ end
+
def destroy
@user.destroy
redirect_to admin? ? users_url : root_url
diff --git a/users/app/models/user.rb b/users/app/models/user.rb
index 3459520..413b4ac 100644
--- a/users/app/models/user.rb
+++ b/users/app/models/user.rb
@@ -11,6 +11,8 @@ class User < CouchRest::Model::Base
property :public_key, :accessible => true
+ property :enabled, TrueClass, :default => true
+
validates :login, :password_salt, :password_verifier,
:presence => true
diff --git a/users/app/views/overviews/show.html.haml b/users/app/views/overviews/show.html.haml
index b8ad814..898cfa0 100644
--- a/users/app/views/overviews/show.html.haml
+++ b/users/app/views/overviews/show.html.haml
@@ -9,6 +9,9 @@
%br
= t(:updated)
= @user.updated_at
+ %br
+ = t(:enabled)
+ = @user.enabled?
%p= t(:overview_intro)
diff --git a/users/app/views/users/_edit.html.haml b/users/app/views/users/_edit.html.haml
index adee8a4..0402f37 100644
--- a/users/app/views/users/_edit.html.haml
+++ b/users/app/views/users/_edit.html.haml
@@ -35,3 +35,17 @@
= link_to user_path(@user), :method => :delete, :confirm => t(:are_you_sure), :class => "btn btn-danger" do
%i.icon-remove.icon-white
= t(:destroy_my_account)
+- if @user != current_user and @user.enabled?
+ %legend
+ = t(:deactivate_account, :username => @user.login)
+ %p= t(:deactivate_description)
+ = link_to deactivate_user_path(@user), :method => :post, :class => "btn btn-warning" do
+ %i.icon-pause.icon-white
+ = t(:deactivate)
+- elsif @user != current_user and !@user.enabled?
+ %legend
+ = t(:enable_account, :username => @user.login)
+ %p= t(:enable_description)
+ = link_to enable_user_path(@user), :method => :post, :class => "btn btn-warning" do
+ %i.icon-ok.icon-white
+ = t(:enable) \ No newline at end of file
diff --git a/users/app/views/users/edit.html.haml b/users/app/views/users/edit.html.haml
index 08e9dc3..434c025 100644
--- a/users/app/views/users/edit.html.haml
+++ b/users/app/views/users/edit.html.haml
@@ -1 +1 @@
-= render 'edit' \ No newline at end of file
+= render 'edit'
diff --git a/users/app/views/users/show.html.haml b/users/app/views/users/show.html.haml
index 08e9dc3..434c025 100644
--- a/users/app/views/users/show.html.haml
+++ b/users/app/views/users/show.html.haml
@@ -1 +1 @@
-= render 'edit' \ No newline at end of file
+= render 'edit'