diff --git a/CUSTOMIZE_ES.md b/CUSTOMIZE_ES.md index 71c3701e4..f7af01649 100644 --- a/CUSTOMIZE_ES.md +++ b/CUSTOMIZE_ES.md @@ -1,8 +1,8 @@ # Personalización -Puedes modificar consul y ponerle tu propia imagen, para esto debes primero hacer un fork de https://github.com/consul/consul creando un repositorio nuevo en Github. Puedes usar otro servicio como Gitlab, pero no te olvides de poner el enlace en el footer a tu repositorio en cumplimiento con la licencia de este proyecto (GPL Affero 3). +Puedes modificar consul y ponerle tu propia imagen, para esto debes primero hacer un fork de https://github.com/consul/consul creando un repositorio nuevo en Github. Puedes usar otro servicio como Gitlab, pero no te olvides de poner el enlace en el footer a tu repositorio en cumplimiento con la licencia de este proyecto (GPL Affero 3). -Hemos creado una estructura específica donde puedes sobreescribir y personalizar la aplicación para que puedas actualizar sin que tengas problemas al hacer merge y se sobreescriban por error tus cambios. Intentamos que Consul sea una aplicación Ruby on Rails lo más plain vanilla posible para facilitar el acceso de nuevas desarrolladoras. +Hemos creado una estructura específica donde puedes sobreescribir y personalizar la aplicación para que puedas actualizar sin que tengas problemas al hacer merge y se sobreescriban por error tus cambios. Intentamos que Consul sea una aplicación Ruby on Rails lo más plain vanilla posible para facilitar el acceso de nuevas desarrolladoras. ## Ficheros y directorios especiales @@ -21,16 +21,16 @@ Aparte de estos directorios también cuentas con ciertos ficheros para: * Gemfile_custom * config/application.custom.rb -### Internacionalización +### Internacionalización -Si quieres modificar algún texto de la web deberías encontrarlos en los ficheros formato YML disponibles en *config/locales/*. Puedes leer la [guía de internacionalización](http://guides.rubyonrails.org/i18n.html) de Ruby on Rails sobre como funciona este sistema. +Si quieres modificar algún texto de la web deberías encontrarlos en los ficheros formato YML disponibles en *config/locales/*. Puedes leer la [guía de internacionalización](http://guides.rubyonrails.org/i18n.html) de Ruby on Rails sobre como funciona este sistema. -Las adaptaciones los debes poner en el directorio *config/locales/custom/*, recomendamos poner solo los textos que quieras personalizar. Por ejemplo si quieres personalizar el texto de "Ayuntamiento de Madrid, 2016" que se encuentra en el footer en todas las páginas, primero debemos ubicar en que plantilla se encuentra (app/views/layouts/_footer.html.erb), vemos que en el código pone lo siguiente: +Las adaptaciones los debes poner en el directorio *config/locales/custom/*, recomendamos poner solo los textos que quieras personalizar. Por ejemplo si quieres personalizar el texto de "Ayuntamiento de Madrid, 2016" que se encuentra en el footer en todas las páginas, primero debemos ubicar en que plantilla se encuentra (app/views/layouts/_footer.html.erb), vemos que en el código pone lo siguiente: ``` -<%= t("layouts.footer.copyright", year: Time.now.year) %> +<%= t("layouts.footer.copyright", year: Time.current.year) %> ``` -Y que en el fichero config/locales/es.yml sigue esta estructura (solo ponemos lo relevante para este caso): +Y que en el fichero config/locales/es.yml sigue esta estructura (solo ponemos lo relevante para este caso): ``` es: @@ -40,11 +40,11 @@ es: ``` -Si creamos el fichero config/locales/custom/es.yml y modificamos "Ayuntamiento de Madrid" por el nombre de la organización que se este haciendo la modificación. Recomendamos directamente copiar los ficheros config/locales/ e ir revisando y corrigiendo las que querramos, borrando las líneas que no querramos traducir. +Si creamos el fichero config/locales/custom/es.yml y modificamos "Ayuntamiento de Madrid" por el nombre de la organización que se este haciendo la modificación. Recomendamos directamente copiar los ficheros config/locales/ e ir revisando y corrigiendo las que querramos, borrando las líneas que no querramos traducir. ### Imágenes -Si quieres sobreescribir alguna imagen debes primero fijarte el nombre que tiene, por defecto se encuentran en *app/assets/images*. Por ejemplo si quieres modificar *app/assets/images/logo_header.png* debes poner otra con ese mismo nombre en el directorio app/assets/images/custom. Los iconos que seguramente quieras modificar son: +Si quieres sobreescribir alguna imagen debes primero fijarte el nombre que tiene, por defecto se encuentran en *app/assets/images*. Por ejemplo si quieres modificar *app/assets/images/logo_header.png* debes poner otra con ese mismo nombre en el directorio app/assets/images/custom. Los iconos que seguramente quieras modificar son: * apple-touch-icon-200.png * icon_home.png @@ -59,7 +59,7 @@ Si quieres modificar el HTML de alguna página puedes hacerlo copiando el HTML d ### CSS -Si quieres cambiar algun selector CSS (de las hojas de estilo) puedes hacerlo en el fichero *app/assets/stylesheets/custom.scss*. Por ejemplo si quieres cambiar el color del header (.top-links) puedes hacerlo agregando: +Si quieres cambiar algun selector CSS (de las hojas de estilo) puedes hacerlo en el fichero *app/assets/stylesheets/custom.scss*. Por ejemplo si quieres cambiar el color del header (.top-links) puedes hacerlo agregando: ``` .top-links { @@ -67,11 +67,11 @@ Si quieres cambiar algun selector CSS (de las hojas de estilo) puedes hacerlo en } ``` -Usamos un preprocesador de CSS, [SASS, con la sintaxis SCSS](http://sass-lang.com/guide). +Usamos un preprocesador de CSS, [SASS, con la sintaxis SCSS](http://sass-lang.com/guide). ### Javascript -Si quieres agregar código Javascript puedes hacerlo en el fichero *app/assets/javascripts/custom.js". Por ejemplo si quieres que salga una alerta puedes poner lo siguiente: +Si quieres agregar código Javascript puedes hacerlo en el fichero *app/assets/javascripts/custom.js". Por ejemplo si quieres que salga una alerta puedes poner lo siguiente: ``` $(function(){ @@ -81,9 +81,9 @@ $(function(){ ### Modelos -Si quieres agregar modelos nuevos, o modificar o agregar métodos a uno ya existente puedes hacerlo en *app/models/custom*. En el caso de los modelos antiguos debes primero hacer un require de la dependencia. +Si quieres agregar modelos nuevos, o modificar o agregar métodos a uno ya existente puedes hacerlo en *app/models/custom*. En el caso de los modelos antiguos debes primero hacer un require de la dependencia. -Por ejemplo en el caso del Ayuntamiento de Madrid se requiere comprobar que el código postal durante la verificación sigue un cierto formato (empieza con 280). Esto se realiza creando este fichero en *app/models/custom/verification/residence.rb*: +Por ejemplo en el caso del Ayuntamiento de Madrid se requiere comprobar que el código postal durante la verificación sigue un cierto formato (empieza con 280). Esto se realiza creando este fichero en *app/models/custom/verification/residence.rb*: ``` require_dependency Rails.root.join('app', 'models', 'verification', 'residence').to_s @@ -123,10 +123,10 @@ No olvides poner los tests relevantes en *spec/models/custom*, siguiendo con el require 'rails_helper' describe Verification::Residence do - + let(:residence) { build(:verification_residence, document_number: "12345678Z") } - describe "verification" do + describe "verification" do describe "postal code" do it "should be valid with postal codes starting with 280" do @@ -162,7 +162,7 @@ TODO ### Gemfile -Para agregar librerías (gems) nuevas puedes hacerlo en el fichero *Gemfile_custom*. Por ejemplo si quieres agregar la gema [rails-footnotes](https://github.com/josevalim/rails-footnotes) debes hacerlo agregandole +Para agregar librerías (gems) nuevas puedes hacerlo en el fichero *Gemfile_custom*. Por ejemplo si quieres agregar la gema [rails-footnotes](https://github.com/josevalim/rails-footnotes) debes hacerlo agregandole ``` gem 'rails-footnotes', '~> 4.0' @@ -170,9 +170,9 @@ gem 'rails-footnotes', '~> 4.0' Y siguiendo el flujo clásico en Ruby on Rails (bundle install y seguir con los pasos específicos de la gema en la documentación) -### application.rb +### application.rb -Cuando necesites extender o modificar el *config/application.rb* puedes hacerlo a través del fichero *config/application_custom.rb*. Por ejemplo si quieres modificar el idioma por defecto al inglés pondrías lo siguiente: +Cuando necesites extender o modificar el *config/application.rb* puedes hacerlo a través del fichero *config/application_custom.rb*. Por ejemplo si quieres modificar el idioma por defecto al inglés pondrías lo siguiente: ``` @@ -198,15 +198,15 @@ TODO TODO -## Actualizar +## Actualizar -Te recomendamos que agregues el remote de consul para facilitar este proceso de merge: +Te recomendamos que agregues el remote de consul para facilitar este proceso de merge: ``` -$ git remote add consul https://github.com/consul/consul +$ git remote add consul https://github.com/consul/consul ``` -Con esto puedes actualizarte con +Con esto puedes actualizarte con ``` git checkout -b consul_update diff --git a/Gemfile.lock b/Gemfile.lock index 398fa4143..50ab5bb9d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -522,6 +522,3 @@ DEPENDENCIES unicorn (~> 5.1.0) web-console (= 3.3.0) whenever - -BUNDLED WITH - 1.13.3 diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb index fd10e503c..8262f014a 100644 --- a/app/controllers/debates_controller.rb +++ b/app/controllers/debates_controller.rb @@ -41,7 +41,7 @@ class DebatesController < ApplicationController end def mark_featured - @debate.update_attribute(:featured_at, Time.now) + @debate.update_attribute(:featured_at, Time.current) redirect_to request.query_parameters.merge(action: :index) end @@ -55,4 +55,4 @@ class DebatesController < ApplicationController Debate end -end \ No newline at end of file +end diff --git a/app/controllers/management/users_controller.rb b/app/controllers/management/users_controller.rb index 8ee04cfdf..53004a838 100644 --- a/app/controllers/management/users_controller.rb +++ b/app/controllers/management/users_controller.rb @@ -8,8 +8,8 @@ class Management::UsersController < Management::BaseController @user = User.new(user_params) @user.skip_password_validation = true @user.terms_of_service = '1' - @user.residence_verified_at = Time.now - @user.verified_at = Time.now + @user.residence_verified_at = Time.current + @user.verified_at = Time.current if @user.save then render :show diff --git a/app/controllers/proposals_controller.rb b/app/controllers/proposals_controller.rb index 9523a0df2..d0ff9551e 100644 --- a/app/controllers/proposals_controller.rb +++ b/app/controllers/proposals_controller.rb @@ -38,7 +38,7 @@ class ProposalsController < ApplicationController end def retire - if valid_retired_params? && @proposal.update(retired_params.merge(retired_at: Time.now)) + if valid_retired_params? && @proposal.update(retired_params.merge(retired_at: Time.current)) redirect_to proposal_path(@proposal), notice: t('proposals.notice.retired') else render action: :retire_form @@ -107,4 +107,4 @@ class ProposalsController < ApplicationController @proposal_successfull_exists = Proposal.successfull.exists? end -end \ No newline at end of file +end diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb index d600e2e9c..ab6bedd6e 100644 --- a/app/controllers/stats_controller.rb +++ b/app/controllers/stats_controller.rb @@ -23,6 +23,6 @@ class StatsController < ApplicationController private def daily_cache(key, &block) - Rails.cache.fetch("public_stats/#{Time.now.strftime("%Y-%m-%d")}/#{key}", &block) + Rails.cache.fetch("public_stats/#{Time.current.strftime("%Y-%m-%d")}/#{key}", &block) end end diff --git a/app/controllers/verification/email_controller.rb b/app/controllers/verification/email_controller.rb index 9f8fd9f8a..1774197d9 100644 --- a/app/controllers/verification/email_controller.rb +++ b/app/controllers/verification/email_controller.rb @@ -6,7 +6,7 @@ class Verification::EmailController < ApplicationController def show if Verification::Email.find(current_user, params[:email_verification_token]) - current_user.update(verified_at: Time.now) + current_user.update(verified_at: Time.current) redirect_to account_path, notice: t('verification.email.show.flash.success') else redirect_to verified_user_path, alert: t('verification.email.show.alert.failure') diff --git a/app/controllers/verification/letter_controller.rb b/app/controllers/verification/letter_controller.rb index 998f42766..0e726a683 100644 --- a/app/controllers/verification/letter_controller.rb +++ b/app/controllers/verification/letter_controller.rb @@ -29,7 +29,7 @@ class Verification::LetterController < ApplicationController def update @letter = Verification::Letter.new(letter_params.merge(user: current_user, verify: true)) if @letter.valid? - current_user.update(verified_at: Time.now) + current_user.update(verified_at: Time.current) redirect_to account_path, notice: t('verification.letter.update.flash.success') else Lock.increase_tries(@letter.user) if @letter.user @@ -56,4 +56,4 @@ class Verification::LetterController < ApplicationController end end -end \ No newline at end of file +end diff --git a/app/controllers/verification/sms_controller.rb b/app/controllers/verification/sms_controller.rb index 1cb5b2d8e..f06af5e6a 100644 --- a/app/controllers/verification/sms_controller.rb +++ b/app/controllers/verification/sms_controller.rb @@ -31,7 +31,7 @@ class Verification::SmsController < ApplicationController ahoy.track(:level_2_user, user_id: current_user.id) rescue nil if VerifiedUser.phone?(current_user) - current_user.update(verified_at: Time.now) + current_user.update(verified_at: Time.current) end redirect_to_next_path @@ -69,4 +69,4 @@ class Verification::SmsController < ApplicationController end end -end \ No newline at end of file +end diff --git a/app/models/banner.rb b/app/models/banner.rb index db8f10635..c4f2295e6 100644 --- a/app/models/banner.rb +++ b/app/models/banner.rb @@ -12,9 +12,9 @@ class Banner < ActiveRecord::Base validates :post_started_at, presence: true validates :post_ended_at, presence: true - scope :with_active, -> {where("post_started_at <= ?", Time.now). - where("post_ended_at >= ?", Time.now) } + scope :with_active, -> {where("post_started_at <= ?", Time.current). + where("post_ended_at >= ?", Time.current) } - scope :with_inactive,-> {where("post_started_at > ? or post_ended_at < ?", Time.now, Time.now) } + scope :with_inactive,-> {where("post_started_at > ? or post_ended_at < ?", Time.current, Time.current) } -end \ No newline at end of file +end diff --git a/app/models/concerns/flaggable.rb b/app/models/concerns/flaggable.rb index a111562b3..c3125c440 100644 --- a/app/models/concerns/flaggable.rb +++ b/app/models/concerns/flaggable.rb @@ -13,7 +13,7 @@ module Flaggable end def ignore_flag - update(ignored_flag_at: Time.now) + update(ignored_flag_at: Time.current) end end diff --git a/app/models/lock.rb b/app/models/lock.rb index 3c043de79..c0d5fae39 100644 --- a/app/models/lock.rb +++ b/app/models/lock.rb @@ -4,7 +4,7 @@ class Lock < ActiveRecord::Base before_save :set_locked_until def locked? - locked_until > Time.now + locked_until > Time.current end def set_locked_until @@ -12,7 +12,7 @@ class Lock < ActiveRecord::Base end def lock_time - Time.now + (2**tries).minutes + Time.current + (2**tries).minutes end def too_many_tries? diff --git a/app/models/organization.rb b/app/models/organization.rb index 069afc27f..74fd16111 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -14,11 +14,11 @@ class Organization < ActiveRecord::Base scope :rejected, -> { where.not(rejected_at: nil).where("(organizations.verified_at IS NULL or organizations.verified_at < rejected_at)") } def verify - update(verified_at: Time.now) + update(verified_at: Time.current) end def reject - update(rejected_at: Time.now) + update(rejected_at: Time.current) end def verified? diff --git a/app/models/proposal_notification.rb b/app/models/proposal_notification.rb index f73264318..60912d887 100644 --- a/app/models/proposal_notification.rb +++ b/app/models/proposal_notification.rb @@ -9,9 +9,9 @@ class ProposalNotification < ActiveRecord::Base def minimum_interval return true if proposal.try(:notifications).blank? - if proposal.notifications.last.created_at > (Time.now - Setting[:proposal_notification_minimum_interval_in_days].to_i.days).to_datetime + if proposal.notifications.last.created_at > (Time.current - Setting[:proposal_notification_minimum_interval_in_days].to_i.days).to_datetime errors.add(:title, I18n.t('activerecord.errors.models.proposal_notification.attributes.minimum_interval.invalid', interval: Setting[:proposal_notification_minimum_interval_in_days])) end end -end \ No newline at end of file +end diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index a2c143336..223e9adfe 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -114,7 +114,7 @@ class SpendingProposal < ActiveRecord::Base def send_unfeasible_email Mailer.unfeasible_spending_proposal(self).deliver_later - update(unfeasible_email_sent_at: Time.now) + update(unfeasible_email_sent_at: Time.current) end def reason_for_not_being_votable_by(user) diff --git a/app/models/user.rb b/app/models/user.rb index 44250109c..3ca79cedf 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -69,7 +69,7 @@ class User < ActiveRecord::Base oauth_email: oauth_email, password: Devise.friendly_token[0,20], terms_of_service: '1', - confirmed_at: oauth_email_confirmed ? DateTime.now : nil + confirmed_at: oauth_email_confirmed ? DateTime.current : nil ) end @@ -158,7 +158,7 @@ class User < ActiveRecord::Base def erase(erase_reason = nil) self.update( - erased_at: Time.now, + erased_at: Time.current, erase_reason: erase_reason, username: nil, email: nil, @@ -258,4 +258,4 @@ class User < ActiveRecord::Base validator.validate(self) end -end \ No newline at end of file +end diff --git a/app/models/verification/letter.rb b/app/models/verification/letter.rb index 0beb7c8d8..c746e73e4 100644 --- a/app/models/verification/letter.rb +++ b/app/models/verification/letter.rb @@ -17,7 +17,7 @@ class Verification::Letter end def letter_requested! - user.update(letter_requested_at: Time.now, letter_verification_code: generate_verification_code) + user.update(letter_requested_at: Time.current, letter_verification_code: generate_verification_code) end def validate_existing_user diff --git a/app/models/verification/management/document.rb b/app/models/verification/management/document.rb index fcbc19ca4..f01c132bb 100644 --- a/app/models/verification/management/document.rb +++ b/app/models/verification/management/document.rb @@ -40,7 +40,7 @@ class Verification::Management::Document end def verify - user.update(verified_at: Time.now) if user? + user.update(verified_at: Time.current) if user? end end diff --git a/app/models/verification/management/email.rb b/app/models/verification/management/email.rb index 33282b569..de13d1ab4 100644 --- a/app/models/verification/management/email.rb +++ b/app/models/verification/management/email.rb @@ -27,8 +27,8 @@ class Verification::Management::Email user.update(document_type: document_type, document_number: document_number, - residence_verified_at: Time.now, - level_two_verified_at: Time.now, + residence_verified_at: Time.current, + level_two_verified_at: Time.current, email_verification_token: plain_token) Mailer.email_verification(user, email, encrypted_token, document_type, document_number).deliver_later diff --git a/app/models/verification/residence.rb b/app/models/verification/residence.rb index cc24bb7c8..96a36e5cd 100644 --- a/app/models/verification/residence.rb +++ b/app/models/verification/residence.rb @@ -31,7 +31,7 @@ class Verification::Residence geozone: self.geozone, date_of_birth: date_of_birth.to_datetime, gender: gender, - residence_verified_at: Time.now) + residence_verified_at: Time.current) end def allowed_age diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb index da6074706..324a049af 100644 --- a/app/views/layouts/_footer.html.erb +++ b/app/views/layouts/_footer.html.erb @@ -42,7 +42,7 @@