class Admin::DebateEntitiesController

OpenIrekia v4.0.0

Copyright 2009-2013 eFaber, S.L. Copyright 2009-2013 Ejie, S.A. Copyrigth 2009-2013 Dirección de Gobierno Abierto y Comunicación en Internet;

Gobernu Irekirako eta Interneteko Komunikaziorako Zuzendaritza; Lehendakaritza.
Gobierno Vasco – Eusko Jaurlaritza

Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto sean aprobadas por la Comisión Europea– versiones posteriores de la EUPL (la Licencia); Solo podrá usarse esta obra si se respeta la Licencia. Puede obtenerse una copia de la Licencia en: ec.europa.eu/idabc/eupl Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, el programa distribuido con arreglo a la Licencia se distribuye TAL CUAL, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Véase la Licencia en el idioma concreto que rige los permisos y limitaciones que establece la Licencia

http://open.irekia.net, openirekia@efaber.net

Public Instance Methods

create() click to toggle source

Crear la relación debate-entidad. Los parámetros de debate_entity contienen el nombre de la entidad: oranization_name y la URL que corresponde al debate.

Si ya existe una entidad con el nombre indicados, la asignamos. Si el nombre de la entidad no existe, creamos una nueva.

# File app/controllers/admin/debate_entities_controller.rb, line 33
def create
  debate_entity = @debate.debate_entities.new(params[:debate_entity])
  if debate_entity.save()
    respond_to do |format|
      format.html { 
        flash[:notice] = 'La entidad ha sido añadida a la lista de entidades relacionadas'
        redirect_to admin_debate_path(@debate)
      }
      format.js {
        render :update do |page|
            page.insert_html :bottom, "entities_list", :partial => "/admin/debate_entities/entity_row", :locals => {:debate_entity => debate_entity}
            page.hide "add_entity_form"
            page["debate_entity_organization_name"].value = ""            
            locales.keys.each do |code|
              page["debate_entity_url_#{code}"].value = ""                          
            end
            page.visual_effect :highlight, "entity_#{debate_entity.id}"
        end
      }
    end    
  else
    respond_to do |format|
      format.html {       
        flash[:notice] = "La entidad no ha sido añadida al debate"
        redirect_to admin_debate_path(@debate)
      }
      format.js {
        render :update do |page|
          page.alert("Error al guardar los datos de la entidad: #{debate_entity.errors.full_messages.join()}")
        end
      }
    end          
  end
  
end
destroy() click to toggle source
# File app/controllers/admin/debate_entities_controller.rb, line 69
def destroy
  debate_entity = @debate.debate_entities.find(params[:id])
  if debate_entity.destroy
    respond_to do |format|
      format.html { 
        flash[:notice] = 'La entidad se ha eliminado correctamente de la lista de entidades relacionadas.'
        redirect_to admin_debate_path(@debate) 
      }
      format.js {
        render :update do |page|
          page.visual_effect :fade, "entity_#{debate_entity.id}"
        end
      }
    end
  else
    respond_to do |format|
      format.html { 
        flash[:error] = 'La entidad no se ha eliminado'
        redirect_to admin_debate_path(@debate) 
      }
      format.js {
        render :update do |page|
          page.alert 'La entidad no se ha eliminado de la lista.'
        end
      }
    end
  end
end
sort() click to toggle source

Ordenar las entidades relacionadas En params están los ids en el orden nuevo

# File app/controllers/admin/debate_entities_controller.rb, line 100
def sort
  @debate.debate_entities.each do |de|
    de.update_attribute(:position, params[:entities_list].index(de.id.to_s) + 1)
  end
  render :nothing => true
end