Controlador para la administración de los equipos de las áreas
# 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
# 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
# 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
# File app/controllers/admin/area_users_controller.rb, line 27 def index end
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