diff options
Diffstat (limited to 'users/app')
-rw-r--r-- | users/app/controllers/users_controller.rb | 16 | ||||
-rw-r--r-- | users/app/models/user.rb | 2 | ||||
-rw-r--r-- | users/app/views/overviews/show.html.haml | 3 | ||||
-rw-r--r-- | users/app/views/users/_edit.html.haml | 14 | ||||
-rw-r--r-- | users/app/views/users/edit.html.haml | 2 | ||||
-rw-r--r-- | users/app/views/users/show.html.haml | 2 |
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' |