Class ProposalsController
In: app/controllers/proposals_controller.rb
Parent: ApplicationController

Controlador para las propuestas ciudadanas

Methods

create   create_with_account   index   new   show   yours  

Public Instance methods

Creación de nueva propuesta ciudadana

[Source]

    # File app/controllers/proposals_controller.rb, line 60
60:   def create
61:     @proposal = current_user.proposals.new(params[:proposal])
62:     @proposal.organization_id = Organization.find_by_tag_name("_openirekia") if @proposal.organization_id.blank?
63:     if @proposal.save
64:       if @proposal.approved?
65:         flash[:notice] = t('proposals.gracias')
66:       else
67:         flash[:notice] = t('proposals.gracias_revisaremos')
68:       end
69:       redirect_to proposals_path(:s => "f")
70:     else
71:       render :action => "new"
72:     end
73:   end

[Source]

     # File app/controllers/proposals_controller.rb, line 75
 75:   def create_with_account
 76:     @proposal = Proposal.new_with_user(params[:user], params[:proposal])
 77:     @user = @proposal.user
 78:         
 79:     if @proposal.save
 80:       if @proposal.approved?
 81:         flash[:notice] = t('proposals.gracias')
 82:         redirect_to proposals_path(:s => "f")
 83:       else
 84:         @title = t('proposals.gracias')
 85:         
 86:         email = Notifier.create_activate_person_from_proposal(@user)
 87: 
 88:         begin
 89:           logger.info("Mandando activacion a #{@user.email}")
 90:           Notifier.deliver(email)
 91:         rescue Net::SMTPServerBusy, Net::SMTPSyntaxError => err_type
 92:           logger.info("Error al mandar mail de activacion: " + err_type)
 93:           flash[:error] = t('session.Error_servidor_correo')
 94:         end
 95:         
 96:         # render
 97:       end
 98:     else
 99:       render :action => "new"
100:     end    
101:   end

Listado de propuestas

[Source]

    # File app/controllers/proposals_controller.rb, line 6
 6:   def index
 7:     @your_proposals = Proposal.from_citizens.approved.published.translated.paginate :order => "published_at DESC",
 8:       :per_page => 20, :page => params[:page]
 9:       
10:     # @our_proposals = Proposal.governmental.approved.published.find :all,
11:     #   :order => "published_at DESC", 
12:     #   :limit => "10"
13:     @title = t('proposals.propuestas')
14:   end

Formulario de nueva propuesta ciudadana

[Source]

    # File app/controllers/proposals_controller.rb, line 54
54:   def new
55:     @proposal = Proposal.new
56:     @title_for_title = t('proposals.propuestas_ciudadanas')
57:   end

Vista de una propuesta

[Source]

    # File app/controllers/proposals_controller.rb, line 36
36:   def show
37:     begin
38:       @proposal = Proposal.approved.published.find(params[:id])
39:     rescue ActiveRecord::RecordNotFound
40:       if is_admin?
41:         @proposal = Proposal.find(params[:id])
42:       else
43:         raise ActiveRecord::RecordNotFound
44:       end
45:     end
46:     
47:     @parent = @proposal
48:     
49:     @comments = @proposal.comments.approved.paginate :page => params[:page], :per_page => 50
50:         
51:   end

Propuestas ciudadanas

[Source]

    # File app/controllers/proposals_controller.rb, line 17
17:   def yours
18:     @title = t('proposals.propuestas_ciudadanas')
19:     @proposals = Proposal.from_citizens.approved.published.paginate :order => "created_at DESC", 
20:       :per_page => 20, :page => params[:page]
21:     @breadcrumbs_info = [[t('proposals.propuestas'), proposals_path], [t('proposals.propuestas_ciudadanas'), yours_proposals_path]]
22:     @introductory_text = Proposal.yours_intro_page
23:   end

[Validate]