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
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
# 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
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