diff --git a/Gemfile b/Gemfile index 5efa7d67b..675e738b1 100644 --- a/Gemfile +++ b/Gemfile @@ -25,7 +25,7 @@ gem 'devise', '~> 3.5.6' gem 'omniauth' gem 'omniauth-twitter' gem 'omniauth-facebook', '~> 3.0.0' -gem 'omniauth-google-oauth2', '~> 0.3.0' +gem 'omniauth-google-oauth2', '~> 0.4.0' gem 'kaminari' gem 'ancestry' diff --git a/Gemfile.lock b/Gemfile.lock index 6ffbb5c1d..18fa95bd9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -201,14 +201,14 @@ GEM terminal-table (>= 1.5.1) initialjs-rails (0.2.0.1) railties (>= 3.1, < 5.0) - jquery-rails (4.1.0) - rails-dom-testing (~> 1.0) + jquery-rails (4.1.1) + rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) jquery-ui-rails (5.0.5) railties (>= 3.2.16) json (1.8.3) - jwt (1.5.1) + jwt (1.5.3) kaminari (0.16.3) actionpack (>= 3.0.0) activesupport (>= 3.0.0) @@ -239,19 +239,19 @@ GEM mini_portile2 (~> 2.0.0.rc2) nori (2.6.0) oauth (0.5.0) - oauth2 (1.1.0) + oauth2 (1.0.0) faraday (>= 0.8, < 0.10) - jwt (~> 1.0, < 1.5.2) + jwt (~> 1.0) multi_json (~> 1.3) multi_xml (~> 0.5) - rack (>= 1.2, < 3) + rack (~> 1.2) omniauth (1.3.1) hashie (>= 1.2, < 4) rack (>= 1.0, < 3) omniauth-facebook (3.0.0) omniauth-oauth2 (~> 1.2) - omniauth-google-oauth2 (0.3.1) - jwt (~> 1.0) + omniauth-google-oauth2 (0.4.1) + jwt (~> 1.5.2) multi_json (~> 1.3) omniauth (>= 1.1.1) omniauth-oauth2 (>= 1.3.1) @@ -311,7 +311,7 @@ GEM rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) raindrops (0.15.0) - rake (11.0.1) + rake (11.1.1) redcarpet (3.3.4) referer-parser (0.3.0) request_store (1.3.0) @@ -471,7 +471,7 @@ DEPENDENCIES newrelic_rpm (~> 3.14) omniauth omniauth-facebook (~> 3.0.0) - omniauth-google-oauth2 (~> 0.3.0) + omniauth-google-oauth2 (~> 0.4.0) omniauth-twitter paranoia pg diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 7bc4b5274..68d9c636c 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -42,6 +42,7 @@ //= require suggest //= require forms //= require tracks +//= require valuation_spending_proposal_form var initialize_modules = function() { App.Comments.initialize(); @@ -58,7 +59,8 @@ var initialize_modules = function() { App.RegistrationForm.initialize(); App.Suggest.initialize(); App.Forms.initialize(); - App.Tracks.initialize(); + App.Tracks.initialize(); + App.ValuationSpendingProposalForm.initialize(); }; $(function(){ diff --git a/app/assets/javascripts/valuation_spending_proposal_form.js.coffee b/app/assets/javascripts/valuation_spending_proposal_form.js.coffee new file mode 100644 index 000000000..fa0bc2106 --- /dev/null +++ b/app/assets/javascripts/valuation_spending_proposal_form.js.coffee @@ -0,0 +1,32 @@ +App.ValuationSpendingProposalForm = + + showFeasibleFields: -> + $('#valuation_spending_proposal_edit_form #not_feasible_fields').hide('down') + $('#valuation_spending_proposal_edit_form #feasible_fields').show() + + showNotFeasibleFields: -> + $('#valuation_spending_proposal_edit_form #feasible_fields').hide('down') + $('#valuation_spending_proposal_edit_form #not_feasible_fields').show() + + showAllFields: -> + $('#valuation_spending_proposal_edit_form #feasible_fields').show('down') + $('#valuation_spending_proposal_edit_form #not_feasible_fields').show('down') + + showFeasibilityFields: -> + feasible = $("#valuation_spending_proposal_edit_form input[type=radio][name='spending_proposal[feasible]']:checked").val() + if feasible == 'true' + App.ValuationSpendingProposalForm.showFeasibleFields() + else if feasible == 'false' + App.ValuationSpendingProposalForm.showNotFeasibleFields() + + + showFeasibilityFieldsOnChange: -> + $("#valuation_spending_proposal_edit_form input[type=radio][name='spending_proposal[feasible]']").change -> + App.ValuationSpendingProposalForm.showAllFields() + App.ValuationSpendingProposalForm.showFeasibilityFields() + + + initialize: -> + App.ValuationSpendingProposalForm.showFeasibilityFields() + App.ValuationSpendingProposalForm.showFeasibilityFieldsOnChange() + false \ No newline at end of file diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index 55f8e5456..75f8cf741 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -421,10 +421,6 @@ header { } } - span { - color: $border; - } - .input-group { padding-top: $line-height/4; @@ -739,7 +735,7 @@ form { min-height: $line-height*13; } - .checkbox { + .checkbox, .radio { display: inline-block; font-weight: normal; line-height: $line-height; @@ -879,7 +875,7 @@ img.avatar, img.admin-avatar, img.moderator-avatar, img.initialjs-avatar { } .user-deleted { - top: -9px; + top: -4px; } .user-permissions { @@ -1388,7 +1384,7 @@ table { } } - .date { + .date-of-birth { select { float: left; @@ -1550,6 +1546,7 @@ table { .comment { margin: $line-height/4 0; + position: relative; p { margin-bottom: 0; @@ -1727,6 +1724,7 @@ table { td { padding-left: $line-height*1.5; position: relative; + word-break: break-all; &:before { color: $brand; diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index 182c52863..bc6aa3694 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -70,7 +70,7 @@ line-height: rem-calc(48); vertical-align: super; - span { + span.percentage { color: white; display: inline-block; font-size: rem-calc(16); @@ -730,7 +730,7 @@ @media (min-width: $small-breakpoint) { .like, .unlike { - span { + span.percentage { display: block; line-height: $line-height/2; } diff --git a/app/controllers/admin/spending_proposals_controller.rb b/app/controllers/admin/spending_proposals_controller.rb index 3ae4872db..25707e66e 100644 --- a/app/controllers/admin/spending_proposals_controller.rb +++ b/app/controllers/admin/spending_proposals_controller.rb @@ -15,13 +15,16 @@ class Admin::SpendingProposalsController < Admin::BaseController def edit @admins = Administrator.includes(:user).all - @valuators = Valuator.includes(:user).all.order("users.username ASC") + @valuators = Valuator.includes(:user).all.order("description ASC").order("users.email ASC") @tags = ActsAsTaggableOn::Tag.spending_proposal_tags end def update if @spending_proposal.update(spending_proposal_params) - redirect_to admin_spending_proposal_path(@spending_proposal, anchor: 'classification'), notice: t("flash.actions.update.spending_proposal") + path = admin_spending_proposal_path( @spending_proposal, + { anchor: 'classification' }.merge(SpendingProposal.filter_params(params))) + + redirect_to path, notice: t("flash.actions.update.spending_proposal") else render :edit end diff --git a/app/controllers/admin/valuators_controller.rb b/app/controllers/admin/valuators_controller.rb index 35c449299..4561e7579 100644 --- a/app/controllers/admin/valuators_controller.rb +++ b/app/controllers/admin/valuators_controller.rb @@ -19,9 +19,15 @@ class Admin::ValuatorsController < Admin::BaseController end def create - @valuator.user_id = params[:user_id] + @valuator = Valuator.new(create_params) @valuator.save redirect_to admin_valuators_path end + + private + def create_params + params[:valuator][:description] = nil if params[:valuator][:description].blank? + params.require(:valuator).permit(:user_id, :description) + end end diff --git a/app/controllers/spending_proposals_controller.rb b/app/controllers/spending_proposals_controller.rb index 7e32b0a93..9b64c462d 100644 --- a/app/controllers/spending_proposals_controller.rb +++ b/app/controllers/spending_proposals_controller.rb @@ -28,6 +28,12 @@ class SpendingProposalsController < ApplicationController end end + def destroy + spending_proposal = current_user.spending_proposals.find(params[:id]) + spending_proposal.destroy + redirect_to user_path(current_user, filter: 'spending_proposals'), notice: t('flash.actions.destroy.spending_proposal') + end + private def spending_proposal_params diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 068c17b71..10da73712 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -20,7 +20,7 @@ module UsersHelper commentable.title + "".html_safe else - link_to(commentable.title, commentable) + link_to(commentable.title, comment) end end diff --git a/app/helpers/valuators_helper.rb b/app/helpers/valuators_helper.rb new file mode 100644 index 000000000..752713ed3 --- /dev/null +++ b/app/helpers/valuators_helper.rb @@ -0,0 +1,7 @@ +module ValuatorsHelper + + def valuator_label(valuator) + truncate([valuator.name, valuator.email, valuator.description].compact.join(' - '), length: 100) + end + +end \ No newline at end of file diff --git a/app/models/abilities/administrator.rb b/app/models/abilities/administrator.rb index 49184c447..78cb60806 100644 --- a/app/models/abilities/administrator.rb +++ b/app/models/abilities/administrator.rb @@ -37,7 +37,7 @@ module Abilities can :manage, Annotation - can :manage, SpendingProposal + can [:read, :update], SpendingProposal end end end diff --git a/app/models/abilities/common.rb b/app/models/abilities/common.rb index 002518dac..92eacea52 100644 --- a/app/models/abilities/common.rb +++ b/app/models/abilities/common.rb @@ -25,7 +25,7 @@ module Abilities can :suggest, Debate can :suggest, Proposal - + can [:flag, :unflag], Comment cannot [:flag, :unflag], Comment, user_id: user.id @@ -44,6 +44,7 @@ module Abilities can :vote, Proposal can :vote_featured, Proposal can :create, SpendingProposal + can :destroy, SpendingProposal, author_id: user.id end can :create, Annotation diff --git a/app/models/abilities/valuator.rb b/app/models/abilities/valuator.rb index edb542e4b..15add866a 100644 --- a/app/models/abilities/valuator.rb +++ b/app/models/abilities/valuator.rb @@ -3,7 +3,7 @@ module Abilities include CanCan::Ability def initialize(user) - can :manage, SpendingProposal + can [:read, :update, :valuate], SpendingProposal end end end \ No newline at end of file diff --git a/app/models/concerns/verification.rb b/app/models/concerns/verification.rb index c876ef5ed..4eb933204 100644 --- a/app/models/concerns/verification.rb +++ b/app/models/concerns/verification.rb @@ -53,7 +53,7 @@ module Verification def no_phone_available? !verification_sms_sent? end - + def user_type case when level_three_verified? @@ -62,9 +62,9 @@ module Verification :level_2_user else :level_1_user - end + end end - + def sms_code_not_confirmed? !sms_verified? end diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 27842fa91..237da73f7 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -35,6 +35,10 @@ class SpendingProposal < ActiveRecord::Base super.try :html_safe end + def self.filter_params(params) + params.select{|x,_| %w{geozone_id administrator_id tag_name valuator_id}.include? x.to_s } + end + def self.search(params, current_filter) results = self results = results.by_geozone(params[:geozone_id]) if params[:geozone_id].present? diff --git a/app/models/user.rb b/app/models/user.rb index 3bf54b3ca..3b58fb607 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -20,6 +20,7 @@ class User < ActiveRecord::Base has_many :debates, -> { with_hidden }, foreign_key: :author_id has_many :proposals, -> { with_hidden }, foreign_key: :author_id has_many :comments, -> { with_hidden } + has_many :spending_proposals, foreign_key: :author_id has_many :failed_census_calls has_many :notifications belongs_to :geozone diff --git a/app/models/valuator.rb b/app/models/valuator.rb index ab0ea6ece..c7cb6e4a8 100644 --- a/app/models/valuator.rb +++ b/app/models/valuator.rb @@ -6,4 +6,8 @@ class Valuator < ActiveRecord::Base has_many :spending_proposals, through: :valuation_assignments validates :user_id, presence: true, uniqueness: true + + def description_or_email + description.present? ? description : email + end end diff --git a/app/views/account/show.html.erb b/app/views/account/show.html.erb index 99931e4ac..f0d2b6abc 100644 --- a/app/views/account/show.html.erb +++ b/app/views/account/show.html.erb @@ -33,7 +33,7 @@
<%= f.label :public_activity do %> - <%= f.check_box :public_activity, label: false %> + <%= f.check_box :public_activity, title: t('account.show.public_activity_label'), label: false %> <%= t("account.show.public_activity_label") %> <% end %>
@@ -42,21 +42,21 @@
<%= f.label :email_on_comment do %> - <%= f.check_box :email_on_comment, label: false %> + <%= f.check_box :email_on_comment, title: t('account.show.email_on_comment_label'), label: false %> <%= t("account.show.email_on_comment_label") %> <% end %>
<%= f.label :email_on_comment_reply do %> - <%= f.check_box :email_on_comment_reply, label: false %> + <%= f.check_box :email_on_comment_reply, title: t('account.show.email_on_comment_reply_label'), label: false %> <%= t("account.show.email_on_comment_reply_label") %> <% end %>
<%= f.label :email_newsletter_subscribed do %> - <%= f.check_box :newsletter, label: false %> + <%= f.check_box :newsletter, title: t('account.show.subscription_to_website_newsletter_label'), label: false %> <%= t("account.show.subscription_to_website_newsletter_label") %> <% end %>
@@ -70,21 +70,21 @@

<%= t("account.show.user_permission_info") %>

No estoy empadronado en Madrid ¿por qué no puedo participar?

@@ -41,43 +41,43 @@
  • Si nos registramos en la web con nuestro correo electrónico y no damos ningún dato más (no hacemos el proceso de verificación de residencia) podremos:
  • -

    Participar en debates

    -

    Crear propuestas

    +

    Participar en debates

    +

    Crear propuestas

    -

    Participar en debates

    -

    Crear propuestas

    -

    Apoyar propuestas

    +

    Participar en debates

    +

    Crear propuestas

    +

    Apoyar propuestas

    -

    Participar en debates

    -

    Crear propuestas

    -

    Apoyar propuestas

    -

    Votar propuestas

    +

    Participar en debates

    +

    Crear propuestas

    +

    Apoyar propuestas

    +

    Votar propuestas

    Recuerda que la votación de propuestas es un proceso muy concreto que sólo ocurre durante una semana una vez las propuestas han llegado al 2% de apoyos, por lo tanto por lo general será posible realizar todas las acciones en la web con la verificación básica de nuestra cuenta.

    -

    También es importante recalcar que podemos crear y verificar completamente nuestra cuenta sin pasar por Internet, realizando el proceso completamente de manera presencial en cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid. +

    También es importante recalcar que podemos crear y verificar completamente nuestra cuenta sin pasar por Internet, realizando el proceso completamente de manera presencial en cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid.

    ¿Necesito teléfono móvil o acceso a Internet para poder participar?

    -

    No. Todas las acciones relacionadas con las propuestas, tanto crearlas, como apoyarlas, votarlas o informarnos sobre ellas, es algo que podemos hacer presencialmente en cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid, simplemente presentando nuestro DNI, pasaporte o tarjeta de residencia (recuerda que para apoyar o votar propuestas es necesario estar empadronado en Madrid). Además podremos presentar hojas de firmas para apoyar una propuesta concreta. También podremos crearnos una cuenta de usuario completamente verificada, en caso de que optemos en algún momento por utilizar la web directamente. +

    No. Todas las acciones relacionadas con las propuestas, tanto crearlas, como apoyarlas, votarlas o informarnos sobre ellas, es algo que podemos hacer presencialmente en cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid, simplemente presentando nuestro DNI, pasaporte o tarjeta de residencia (recuerda que para apoyar o votar propuestas es necesario estar empadronado en Madrid). Además podremos presentar hojas de firmas para apoyar una propuesta concreta. También podremos crearnos una cuenta de usuario completamente verificada, en caso de que optemos en algún momento por utilizar la web directamente.

    ¿Cómo creo y verifico mi cuenta?

    ¿Cómo puedo enviar una propuesta al Ayuntamiento? ¿Puedo mandaros directamente mi propuesta a alguno de los correos electrónico que aparecen en la web de participación?

    -

    El camino correcto para hacer una propuesta es añadirla uno mismo directamente en la web de participación dentro de la sección "Propuestas" (para ello es necesario primero crear una cuenta haciendo click en el enlace Registrarse, y una vez creada, hacer click en el botón "Crear propuesta" de la sección "Propuestas"), o presencialmente a través de cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid. En caso de que lo que queremos presentar sea una sugerencia o reclamación, la información para presentarlas se encuentra en esta página. +

    El camino correcto para hacer una propuesta es añadirla uno mismo directamente en la web de participación dentro de la sección "Propuestas" (para ello es necesario primero crear una cuenta haciendo click en el enlace Registrarse, y una vez creada, hacer click en el botón "Crear propuesta" de la sección "Propuestas"), o presencialmente a través de cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid. En caso de que lo que queremos presentar sea una sugerencia o reclamación, la información para presentarlas se encuentra en esta página.

    Hay muchas propuestas parecidas, ¿no se podrían unificar?

    En breve implementaremos una nueva funcionalidad de la web que permitirá marcar propuestas similares como tales, y que se muestren al visualizar cualquiera de ellas. De esta forma la gente podrá decidir cuál de ellas apoyar tras compararlas, y ayudará a que no se dispersen tanto los apoyos y no se repitan tanto las mismas propuestas. También implementaremos un sistema que cuando creemos nuestra propuesta nos mostrará propuestas similares, por si la idea que queremos lanzar ya existiera en el portal de participación.

    @@ -87,14 +87,14 @@

    Me he olvidado de mi contraseña o no me funciona ¿qué puedo hacer?

    No consigo crear mi cuenta correctamente.

    ¿Cómo puedo cambiar mi correo electrónico, mi nombre de usuario, mi contraseña, darme de baja o activar/desactivar las notificaciones que me llegan al correo electrónico?

    diff --git a/app/views/pages/how_it_works.html.erb b/app/views/pages/how_it_works.html.erb index eec62da64..9d52c2732 100644 --- a/app/views/pages/how_it_works.html.erb +++ b/app/views/pages/how_it_works.html.erb @@ -1,7 +1,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> diff --git a/app/views/pages/how_to_use.html.erb b/app/views/pages/how_to_use.html.erb index e488f2072..680d15cdf 100644 --- a/app/views/pages/how_to_use.html.erb +++ b/app/views/pages/how_to_use.html.erb @@ -1,7 +1,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> diff --git a/app/views/pages/opendata.html.erb b/app/views/pages/opendata.html.erb index 9c8094535..496ae5938 100644 --- a/app/views/pages/opendata.html.erb +++ b/app/views/pages/opendata.html.erb @@ -5,11 +5,13 @@

    <%= t("pages.opendata.title") %>

    <%= t("pages.opendata.slogan_html") %>

    - <%= link_to t("pages.opendata.go_old"), t("layouts.header.external_link_opendata_url"), target: "_blank", class: "button" %> + <%= link_to t("pages.opendata.go_old"), t("layouts.header.external_link_opendata_url"), + title: t('shared.target_blank_html'), + target: "_blank", class: "button" %>
    - <%= image_tag("icon_home.png", size: "330x240", alt:"", role:"presentation") %> + <%= image_tag("icon_home.png", size: "330x240", alt:"") %>
    diff --git a/app/views/pages/participation.html.erb b/app/views/pages/participation.html.erb index 649896224..78debb113 100644 --- a/app/views/pages/participation.html.erb +++ b/app/views/pages/participation.html.erb @@ -1,7 +1,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> @@ -38,7 +38,7 @@

    Este nuevo área de gobierno también es la encargada de la atención al ciudadano, de las sugerencias y reclamaciones, de la evaluación y calidad de las políticas y gestión del Ayuntamiento, de la administración electrónica y otros temas relacionados con la relación entre ciudadanía e institución.

    -

    Iremos publicando nuestros avances, las novedades y cualquier otra cosa que queramos compartir con vosotros en relación con el proyecto en nuestro blog.

    +

    Iremos publicando nuestros avances, las novedades y cualquier otra cosa que queramos compartir con vosotros en relación con el proyecto en nuestro blog.

    Podéis escribirnos para lo que queráis a ag.gobiernoabierto@madrid.es

    @@ -77,7 +77,7 @@ En el moderno proceso de toma de decisiones por los responsables políticos, la publicación de las agendas de los cargos públicos es una medida fundamental para garantizar la transparencia de las instituciones. De esta forma, la ciudadanía puede tener una idea clara de quiénes participan en el proceso de toma de decisiones.
    Esta necesidad de publicidad viene refrendada por destacados organismos internacionales, como el Grupo de Estados Contra la Corrupción del Consejo de Europa (GRECO), que la señala como uno de los estándares internacionales a tener en cuenta para incorporar al sistema parlamentario español; o la Organización para la Cooperación y el Desarrollo Económico (OCDE) que, en junio de 2013, destacaba que "en el despertar de una crisis global donde la protección del interés público ha sido cuestionada de forma mundial, hay una creciente necesidad de valorar el progreso alcanzado para garantizar un proceso de toma de decisiones abierto, balanceado y con un público informado".
    En línea con este espíritu de apertura, y con la decidida voluntad de que exista fluidez en la información, se considera necesario hacer públicas las agendas de los Concejales como inicio de una política de transparencia y rendición de cuentas en el Ayuntamiento de Madrid, de forma que sea posible saber qué trabajo realizan los miembros del gobierno municipal y qué colectivos o circunstancias pueden tener repercusión en las decisiones que se toman.
    - Ya se pueden consultar las agendas de los concejales pero el Ayuntamiento está trabajando en una aplicación mejor que permita encontrar las reuniones más fácilmente. + Ya se pueden consultar las agendas de los concejales pero el Ayuntamiento está trabajando en una aplicación mejor que permita encontrar las reuniones más fácilmente.
  • II.5. Transparencia del Lobby Con el objetivo de hacer el proceso de toma de decisiones del Ayuntamiento de Madrid un proceso lo más transparente posible, se propone la creación de un registro de lobbies que obligue a todas las personas que quieran reunirse con el Gobierno para ejercer influencia sobre los asuntos públicos a estar registrada en el mismo. El objetivo de este registro es conocer a qué intereses representan las personas que se reúnen con los representantes públicos.
  • diff --git a/app/views/pages/participation_facts.html.erb b/app/views/pages/participation_facts.html.erb index 995c4413d..a4c97c483 100644 --- a/app/views/pages/participation_facts.html.erb +++ b/app/views/pages/participation_facts.html.erb @@ -2,7 +2,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> diff --git a/app/views/pages/participation_world.html.erb b/app/views/pages/participation_world.html.erb index f93ccf619..4b836ce7f 100644 --- a/app/views/pages/participation_world.html.erb +++ b/app/views/pages/participation_world.html.erb @@ -1,7 +1,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> @@ -19,22 +19,22 @@

    La nueva ola global de participación ciudadana

    -

    Las nuevas formas de participación se están dirigiendo principalmente a que sean la ciudadanía quien decida qué caminos debe tomar la política de su país, a través de mecanismos de iniciativas ciudadanas. Finlandia es uno de los países donde se están desarrollando nuevas herramientas similares al nuevo portal de gobierno abierto de Madrid. Su plataforma Open Ministry permite a la población presentar y apoyar propuestas, y ha conseguido por ejemplo que se apruebe gracias a él la ley de matrimonio igualitario. Islandia también ha tenido una gran repercusión desde 2011, cuando lanzaron su plataforma Better Reykjavik, que ha permitido que el 58% de la población participe en el proceso de propuestas, seleccionando cada mes las 15 ideas más votadas.

    +

    Las nuevas formas de participación se están dirigiendo principalmente a que sean la ciudadanía quien decida qué caminos debe tomar la política de su país, a través de mecanismos de iniciativas ciudadanas. Finlandia es uno de los países donde se están desarrollando nuevas herramientas similares al nuevo portal de gobierno abierto de Madrid. Su plataforma Open Ministry permite a la población presentar y apoyar propuestas, y ha conseguido por ejemplo que se apruebe gracias a él la ley de matrimonio igualitario. Islandia también ha tenido una gran repercusión desde 2011, cuando lanzaron su plataforma Better Reykjavik, que ha permitido que el 58% de la población participe en el proceso de propuestas, seleccionando cada mes las 15 ideas más votadas.

    Estonia es uno de los países que gracias a una apuesta clara por las nuevas tecnologías, ha podido situarse en cabeza de Europa en el nivel de uso por parte de la ciudadanía de Internet para la interacción con el gobierno. No sólo los ciudadanos y ciudadanas resuelven diariamente todos sus trámites a través de Internet, sino que han puesto en marcha plataformas como Rahvakogu, donde después de los escándalos políticos de 2012, 50.000 personas (de un total de 1.3 millones) participaron proponiendo medidas para mejorar la situación democrática del país.

    Otra de las principales experiencias que se están extendiendo rápidamente por todo el mundo son los presupuestos participativos. Estos consisten en mecanismos, generalmente acompañados de una plataforma en Internet, por los cuales el gobierno reserva parte de sus presupuestos de inversión (los que no están comprometidos ya en cuestiones como limpieza o servicios sociales), para que sea la ciudadanía quien decida en qué se gasta dicho dinero.

    -

    Islandia es uno de los países de referencia al respecto, a través de su plataforma Betri Reykjavík-Betri Hverfi (Better District). Cada año se gastan 1.8 millones de euros en alrededor de 200 proyectos propuestos por la población para los distintos barrios de Reykjavík. Las ciudadanas y ciudadanos pueden participar y seguir el proyecto a través de la plataforma digital betrireykjavik, en Facebook o a través de centros en sus distritos o comités distritales.

    +

    Islandia es uno de los países de referencia al respecto, a través de su plataforma Betri Reykjavík-Betri Hverfi (Better District). Cada año se gastan 1.8 millones de euros en alrededor de 200 proyectos propuestos por la población para los distintos barrios de Reykjavík. Las ciudadanas y ciudadanos pueden participar y seguir el proyecto a través de la plataforma digital betrireykjavik, en Facebook o a través de centros en sus distritos o comités distritales.

    -

    Otras experiencias de referencia incluyen París, donde los residentes decidirán hasta el 2020 cómo se gastan 426 millones de euros (lo que corresponde al 5% del presupuesto municipal de París); Nueva York, donde el año pasado dedicaron 32 millones de euros a presupuestos participativos; más de 100 ciudades brasileñas donde se han manejado presupuestos participativos que han oscilado entre el 5% y el 15%; entre muchas otras ciudades del mundo.

    +

    Otras experiencias de referencia incluyen París, donde los residentes decidirán hasta el 2020 cómo se gastan 426 millones de euros (lo que corresponde al 5% del presupuesto municipal de París); Nueva York, donde el año pasado dedicaron 32 millones de euros a presupuestos participativos; más de 100 ciudades brasileñas donde se han manejado presupuestos participativos que han oscilado entre el 5% y el 15%; entre muchas otras ciudades del mundo.

    Participación ciudadana directa con experiencia

    En diferentes países del mundo existen sistemas de participación ciudadana directa que vienen funcionando desde hace mucho tiempo sin pasar por las nuevas tecnologías. Aunque estos sistemas no tengan la agilidad de las nuevas plataformas, los procesos que se dan en ellos son básicamente los mismos, y nos aseguran la calidad y los resultados de los mecanismos que se van a poner en marcha. Comentamos a continuación tres de los casos más importantes y resaltamos algunas cifras para entender de lo que hablamos:

    Suiza

    -

    Desde 1848 se han votado unos 600 referéndum a nivel federal (compilación en francés), y se celebran cada año en todo el país del orden de 200 referéndum a todos los niveles (municipal, cantonal y federal).

    +

    Desde 1848 se han votado unos 600 referéndum a nivel federal (compilación en francés), y se celebran cada año en todo el país del orden de 200 referéndum a todos los niveles (municipal, cantonal y federal).

    Aproximadamente una de cada dos leyes aprobadas en el Parlamento directamente, y luego consultada a la ciudadanía, fue anulada. Por otro lado, incluso aunque las iniciativas populares no tengan éxito, el gobierno acaba concediendo parte de las demandas propuestas, y se genera una atención nacional sobre el asunto tratado. Esto hace que aproximadamente la mitad de la gente que lanzó las iniciativas que no tuvieron éxito consideren que mereció la pena el esfuerzo y se obtuvo algo que no hubiera sido posible sin la iniciativa.

    Estados Unidos

    diff --git a/app/views/pages/proposals_info.html.erb b/app/views/pages/proposals_info.html.erb index a54a40353..e95af5591 100644 --- a/app/views/pages/proposals_info.html.erb +++ b/app/views/pages/proposals_info.html.erb @@ -2,7 +2,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> @@ -23,7 +23,7 @@
  • ¡Se hace! Si hay más gente a favor de tu propuesta que en contra, el gobierno del Ayuntamiento de Madrid asumirá como propia la propuesta y la llevará a cabo.
  • -

    Además no hace falta ni que tengas Internet, todos los pasos se pueden hacer en cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid.

    +

    Además no hace falta ni que tengas Internet, todos los pasos se pueden hacer en cualquiera de las 26 Oficinas de Atención al Ciudadano que hay por todo Madrid.

    @@ -37,11 +37,11 @@
  • Realización de las propuestas. En caso de que haya más gente a favor de una propuesta que rechazándola se aceptará como propuesta colectiva de la ciudadanía de Madrid, y el gobierno del Ayuntamiento de Madrid la asumirá como propia y la llevará a cabo. Para ello en un plazo máximo de un mes, se realizarán los informes técnicos correspondientes sobre su legalidad, viabilidad y coste económico, teniendo en cuenta a los sectores afectados y a la persona que haya lanzado la propuesta, para detallar la actuación correspondiente por parte del Ayuntamiento. Se publicarán en la web todos los informes realizados, y un seguimiento de las actuaciones que se lleven a cabo, para asegurar un correcto desarrollo de la propuesta.
  • -

    Todas las acciones relacionadas con el proceso de propuestas ciudadanas pueden realizarse a través del portal de gobierno abierto, o presencialmente en cualquiera de las 26 Oficinas de Atención al Ciudadano existentes en Madrid.

    +

    Todas las acciones relacionadas con el proceso de propuestas ciudadanas pueden realizarse a través del portal de gobierno abierto, o presencialmente en cualquiera de las 26 Oficinas de Atención al Ciudadano existentes en Madrid.

    -

    El proceso de recogida de apoyos de una propuesta puede realizarse también a través de hojas de firmas, cuyo modelo puede ser descargado en este documento PDF. Los apoyos recogidos de esta manera se sumarán a los apoyos ya existentes en el portal de gobierno abierto. Las hojas pueden ser entregadas en cualquiera de los Registros del Ayuntamiento, presentes en cada una de las Juntas de Distrito. Ver la lista completa de Oficinas de Registro.

    +

    El proceso de recogida de apoyos de una propuesta puede realizarse también a través de hojas de firmas, cuyo modelo puede ser descargado en este documento PDF. Los apoyos recogidos de esta manera se sumarán a los apoyos ya existentes en el portal de gobierno abierto. Las hojas pueden ser entregadas en cualquiera de los Registros del Ayuntamiento, presentes en cada una de las Juntas de Distrito. Ver la lista completa de Oficinas de Registro.

    -

    Las directrices aprobadas por el Ayuntamiento por las que se regulan las propuestas ciudadanas son las siguientes: Directrices sobre el derecho de propuesta (documento PDF).

    +

    Las directrices aprobadas por el Ayuntamiento por las que se regulan las propuestas ciudadanas son las siguientes: Directrices sobre el derecho de propuesta (documento PDF).

    Preguntas Frecuentes

      @@ -81,7 +81,7 @@ El quórum es el mínimo de participación necesaria para considerar una votación vinculante de manera legal. Ningún reglamento del Ayuntamiento puede hacer que este mecanismo sea vinculante juridicamente, porque eso está en contra de la legislación española. La vinculación con el mecanismo es política y se asume de manera personal por los concejales y la Alcaldesa. Por ello no se considerará ningún quórum.
    1. ¿Existen mecanismos presenciales para participar? ¿Se ha planteado llegar a los ciudadanos y ciudadanas con dificultades de acceso a Internet o en situación de exclusión?
      - Todas las acciones relacionadas con el proceso de propuestas ciudadanas pueden realizarse presencialmente en cualquiera de las 26 Oficinas de Atención al Ciudadano repartidas por todos los distritos de Madrid. Además, el proceso de recogida de apoyos de una propuesta puede realizarse también a través de hojas de firmas, cuyo modelo puede ser descargado en este documento PDF. + Todas las acciones relacionadas con el proceso de propuestas ciudadanas pueden realizarse presencialmente en cualquiera de las 26 Oficinas de Atención al Ciudadano repartidas por todos los distritos de Madrid. Además, el proceso de recogida de apoyos de una propuesta puede realizarse también a través de hojas de firmas, cuyo modelo puede ser descargado en este documento PDF.
      Adicionalmente se ha creado en el Área de Gobierno de Participación Ciudadana, Transparencia y Gobierno Abierto el Servicio de Inclusión, Neutralidad y Privacidad que pondrá en marcha una mesa de inclusión con personal del Ayuntamiento y asociaciones que trabajan con colectivos en situación de exclusión, para diseñar mecanismos especiales para que puedan participar dichos colectivos.
    2. ¿Cómo puede participar la gente que no esté empadronada en Madrid?
      @@ -98,8 +98,8 @@

    Hojas de firmas para recoger apoyos

    -

    El proceso de recogida de apoyos de una propuesta, además de en la web, puede realizarse a través de hojas de firmas, cuyo modelo puede ser descargado en este documento PDF.

    +

    El proceso de recogida de apoyos de una propuesta, además de en la web, puede realizarse a través de hojas de firmas, cuyo modelo puede ser descargado en este documento PDF.

    La hoja debe contener en las casillas superiores el código de la propuesta y su título, según figura en la página web específica de la propuesta, dentro del Portal de Gobierno Abierto.

    -

    Los apoyos recogidos de esta manera se sumarán a los apoyos ya existentes en el portal de gobierno abierto. Las hojas pueden ser entregadas en cualquiera de los Registros del Ayuntamiento, presentes en cada una de las Juntas de Distrito. Ver la lista completa de Oficinas de Registro.

    +

    Los apoyos recogidos de esta manera se sumarán a los apoyos ya existentes en el portal de gobierno abierto. Las hojas pueden ser entregadas en cualquiera de los Registros del Ayuntamiento, presentes en cada una de las Juntas de Distrito. Ver la lista completa de Oficinas de Registro.

    diff --git a/app/views/pages/spending_proposals_info.html.erb b/app/views/pages/spending_proposals_info.html.erb index 060024ab0..bf22505bc 100644 --- a/app/views/pages/spending_proposals_info.html.erb +++ b/app/views/pages/spending_proposals_info.html.erb @@ -1,7 +1,7 @@
    <%= link_to "/more_information", class: 'back' do %> - + <%= t("debates.show.back_link") %> <% end %> diff --git a/app/views/proposals/_flag_actions.html.erb b/app/views/proposals/_flag_actions.html.erb index 382414921..aba7a2423 100644 --- a/app/views/proposals/_flag_actions.html.erb +++ b/app/views/proposals/_flag_actions.html.erb @@ -1,7 +1,7 @@ <% if show_flag_action? proposal %> - +