From 87e9ccbcdf4f99dd898b0715750092a27fff7e94 Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 4 Jul 2014 15:40:54 +0200 Subject: Enable unblocking handles in identities tab There's an identities tab now for admins that will allow unblocking blocked handles. It should be easy to expand for aliases and forwards and other types of actions such as editing. --- app/controllers/identities_controller.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 app/controllers/identities_controller.rb (limited to 'app/controllers/identities_controller.rb') diff --git a/app/controllers/identities_controller.rb b/app/controllers/identities_controller.rb new file mode 100644 index 0000000..624e38a --- /dev/null +++ b/app/controllers/identities_controller.rb @@ -0,0 +1,28 @@ +class IdentitiesController < ApplicationController + + before_filter :require_login + before_filter :require_admin + before_filter :fetch_identity, only: :destroy + before_filter :protect_main_email, only: :destroy + + def index + @identities = Identity.all + end + + def destroy + @identity.destroy + redirect_to identities_path + end + + protected + def fetch_identity + @identity = Identity.find(params[:id]) + end + + def protect_main_email + if @identity.status == :main_email + flash[:error] = "You cannot destroy the main email. Remove or Rename the user instead." + redirect_to identities_path + end + end +end -- cgit v1.2.3 From 0cc11ebb609de225fbeacbf80788b992b88b6ce6 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 9 Jul 2014 12:51:16 +0200 Subject: list identities based on search only --- app/controllers/identities_controller.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'app/controllers/identities_controller.rb') diff --git a/app/controllers/identities_controller.rb b/app/controllers/identities_controller.rb index 624e38a..8bd3b28 100644 --- a/app/controllers/identities_controller.rb +++ b/app/controllers/identities_controller.rb @@ -1,12 +1,18 @@ class IdentitiesController < ApplicationController + respond_to :html, :json before_filter :require_login before_filter :require_admin before_filter :fetch_identity, only: :destroy before_filter :protect_main_email, only: :destroy def index - @identities = Identity.all + if params[:query].present? + @identities = Identity.address_starts_with(params[:query]).limit(100) + else + @identities = [] + end + respond_with @identities.map(&:login).sort end def destroy -- cgit v1.2.3