| Class | Admin::PollsController |
| In: |
app/controllers/admin/polls_controller.rb
|
| Parent: | Admin::BaseController |
Controlador para la administración de las preguntas
Muestra el gráfico con las respuestas.
# File app/controllers/admin/polls_controller.rb, line 78
78: def answers
79: end
Listado de tags para un enlace en un auto-complete
# File app/controllers/admin/polls_controller.rb, line 53
53: def auto_complete_for_poll_tag_list_es
54: auto_complete_for_tag_list(params[:poll][:tag_list_es])
55: if @tags.length > 0
56: render :inline => "<%= content_tag(:ul, @tags.map {|t| content_tag(:li, t.nombre)}) %>"
57: else
58: render :nothing => true
59: end
60: end
Crear una encuesta simple con sus opciones de respuesta.
# File app/controllers/admin/polls_controller.rb, line 40
40: def create
41: @poll = Poll.new(params[:poll])
42: if @poll.save
43: flash[:notice] = t('admin.polls.guardado_correctamente')
44: redirect_to admin_poll_url(@poll)
45: else
46: flash[:error] = t('admin.polls.no_guardado_correctamente')
47: render :action => 'new'
48: end
49: end
Eliminar una encuesta simple
# File app/controllers/admin/polls_controller.rb, line 86
86: def destroy
87: @poll = Poll.find(params[:id])
88: if @poll.destroy
89: flash[:notice] = "La encuesta se ha eliminado correctamente."
90: else
91: flash[:error] = "La encuesta no ha podido eliminarse."
92: end
93: redirect_to admin_polls_path
94: end
Muestra el formulario para modificar una encuesta simple.
# File app/controllers/admin/polls_controller.rb, line 63
63: def edit
64: end
Listado de todas las encuestas simples.
# File app/controllers/admin/polls_controller.rb, line 9
9: def index
10: @sort_order = params[:sort] || "update"
11:
12: case @sort_order
13: when "update"
14: order = "updated_at DESC, title_es, published_at DESC"
15: when "publish"
16: order = "published_at DESC, title_es, updated_at DESC"
17: when "title"
18: order = "lower(tildes(title_es)), published_at DESC, updated_at DESC"
19: end
20:
21: @polls = Poll.paginate :page => params[:page], :per_page => 20, :order => order
22:
23: @title = "Preguntas"
24: end
Muestra la información adicional sobre la encuesta: tags y comentarios.
# File app/controllers/admin/polls_controller.rb, line 82
82: def info
83: end
Formulario para introducir una encuesta simple con sus opciones de respuesta.
# File app/controllers/admin/polls_controller.rb, line 32
32: def new
33: @poll = Poll.new(:draft => true)
34: [1,2].each do |pos|
35: @poll.options.build(:description => '', :position => pos)
36: end
37: end
Mostrar los datos de una encuesta simple: estado, fechas y opciones para la respuesta.
# File app/controllers/admin/polls_controller.rb, line 27
27: def show
28: @poll = Poll.find(params[:id])
29: end
Modifica los datos de la encuesta simple.
# File app/controllers/admin/polls_controller.rb, line 67
67: def update
68: if @poll.update_attributes(params[:poll])
69: flash[:notice] = t('admin.polls.guardado_correctamente')
70: redirect_to admin_poll_url(@poll)
71: else
72: flash[:error] = t('admin.polls.no_guardado_correctamente')
73: render :action => 'edit'
74: end
75: end