class Admin::AreaUsersController

Controlador para la administración de los equipos de las áreas

Public Instance Methods

auto_complete_for_area_user_name_and_email() click to toggle source
# File app/controllers/admin/area_users_controller.rb, line 82
def auto_complete_for_area_user_name_and_email
  q = params[:area_user][:name_and_email].strip.tildes.downcase

  @users = Politician.find(:all, :conditions => ["(status != 'ex-cargo') AND (lower(tildes(name || coalesce(last_names, '') || email)) like ?)", "%#{q}%"])  
  if @users.length > 0
    render :inline => '<%= content_tag(:ul, @users.map {|u| content_tag(:li, "#{u.public_name} (#{u.email})")}) %>'
  else
    render :nothing => true
  end
end
create() click to toggle source
# File app/controllers/admin/area_users_controller.rb, line 30
def create
  name_and_email = params[:area_user][:name_and_email]
  email = name_and_email.strip.split('(').last.to_s.gsub(')','')
  
  if user = Politician.find_by_email(email)
    @area.area_users.create(:user_id => user.id)
  else
    flash[:error] = "No se ha añadido el nuevo miembro del equipo. No existe político con email #{email}"
  end
  
  redirect_to admin_area_users_path(:area_id => @area.id)
end
destroy() click to toggle source
# File app/controllers/admin/area_users_controller.rb, line 43
def destroy
  area_user = @area.area_users.find(params[:id])
  if area_user.destroy
    respond_to do |format|
      format.html { 
        flash[:notice] = 'El miembro del equipo se ha eliminado correctamente'
        redirect_to admin_area_users_path(@area) 
      }
      format.js {
        render :update do |page|
          page.visual_effect :fade, "member_#{area_user.id}"
        end
      }
    end
  else
    respond_to do |format|
      format.html { 
        flash[:error] = 'El mimebro del equipo NO se ha eliminado correctamente'
        redirect_to admin_area_user_path(@area) 
      }
      format.js {
        render :update do |page|
          page.alert 'El miembro del equipo NO se ha eliminado correctamente'
        end
      }
    end
  end
end
index() click to toggle source
# File app/controllers/admin/area_users_controller.rb, line 27
def index
end
sort() click to toggle source

Ordenar los miembros del equipo del área En params están los ids en el orden nuevo

# File app/controllers/admin/area_users_controller.rb, line 74
def sort
  @area.area_users.each do |au|
    au.update_attribute(:position, params[:team].index(au.id.to_s) + 1)
  end
  render :nothing => true
end