merges with master and fixes conflicts
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -49,6 +49,7 @@ gem 'daemons'
|
|||||||
gem 'devise-async'
|
gem 'devise-async'
|
||||||
gem 'newrelic_rpm', '~> 3.14'
|
gem 'newrelic_rpm', '~> 3.14'
|
||||||
gem 'whenever', require: false
|
gem 'whenever', require: false
|
||||||
|
gem 'pg_search'
|
||||||
|
|
||||||
gem 'ahoy_matey', '~> 1.2.1'
|
gem 'ahoy_matey', '~> 1.2.1'
|
||||||
gem 'groupdate' # group temporary data
|
gem 'groupdate' # group temporary data
|
||||||
|
|||||||
@@ -263,6 +263,10 @@ GEM
|
|||||||
paranoia (2.1.3)
|
paranoia (2.1.3)
|
||||||
activerecord (~> 4.0)
|
activerecord (~> 4.0)
|
||||||
pg (0.18.3)
|
pg (0.18.3)
|
||||||
|
pg_search (1.0.5)
|
||||||
|
activerecord (>= 3.1)
|
||||||
|
activesupport (>= 3.1)
|
||||||
|
arel
|
||||||
poltergeist (1.7.0)
|
poltergeist (1.7.0)
|
||||||
capybara (~> 2.1)
|
capybara (~> 2.1)
|
||||||
cliver (~> 0.3.1)
|
cliver (~> 0.3.1)
|
||||||
@@ -455,6 +459,7 @@ DEPENDENCIES
|
|||||||
omniauth-twitter
|
omniauth-twitter
|
||||||
paranoia
|
paranoia
|
||||||
pg
|
pg
|
||||||
|
pg_search
|
||||||
poltergeist
|
poltergeist
|
||||||
quiet_assets
|
quiet_assets
|
||||||
rails (= 4.2.4)
|
rails (= 4.2.4)
|
||||||
|
|||||||
BIN
app/assets/images/header_print_proposals.jpg
Normal file
BIN
app/assets/images/header_print_proposals.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
@@ -92,6 +92,10 @@ body.admin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.for-print-only {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
// 02. Sidebar
|
// 02. Sidebar
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
|||||||
@@ -687,6 +687,7 @@ header {
|
|||||||
line-height: $line-height*3;
|
line-height: $line-height*3;
|
||||||
margin-left: rem-calc(12);
|
margin-left: rem-calc(12);
|
||||||
margin-right: rem-calc(36);
|
margin-right: rem-calc(36);
|
||||||
|
margin-right: 12px\9;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
@@ -898,6 +899,13 @@ form.locale-form {
|
|||||||
select {
|
select {
|
||||||
background-image: image-url("language_select.png");
|
background-image: image-url("language_select.png");
|
||||||
|
|
||||||
|
option {
|
||||||
|
background: white;
|
||||||
|
color: $text;
|
||||||
|
border: 0;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
&.locale-switcher {
|
&.locale-switcher {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -916,6 +924,19 @@ form {
|
|||||||
line-height: $line-height;
|
line-height: $line-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input, textarea {
|
||||||
|
height: 48px\9;
|
||||||
|
line-height: 48px\9;
|
||||||
|
margin-bottom: 24px\9;
|
||||||
|
width: 100%\9;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="checkbox"] {
|
||||||
|
height: auto\9;
|
||||||
|
line-height: inherit\9;
|
||||||
|
width: auto\9;
|
||||||
|
}
|
||||||
|
|
||||||
input[type]:not([type=submit]):not([type=file]):not([type=checkbox]) {
|
input[type]:not([type=submit]):not([type=file]):not([type=checkbox]) {
|
||||||
background: $input-bg;
|
background: $input-bg;
|
||||||
height: rem-calc(48);
|
height: rem-calc(48);
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
/* Print proposals */
|
/* Print proposals */
|
||||||
|
|
||||||
|
.admin-content { margin-top: 0 !important; }
|
||||||
|
|
||||||
.tags a { display: none !important; }
|
.tags a { display: none !important; }
|
||||||
|
|
||||||
.supports { display: none !important; }
|
.supports { display: none !important; }
|
||||||
@@ -24,7 +26,7 @@ img.left { display: none !important; }
|
|||||||
|
|
||||||
.captcha { display: none !important; }
|
.captcha { display: none !important; }
|
||||||
|
|
||||||
li.name span { display: none !important; }
|
li.name { display: none !important; }
|
||||||
|
|
||||||
p.proposal-info span:nth-child(3) { display: none !important; }
|
p.proposal-info span:nth-child(3) { display: none !important; }
|
||||||
|
|
||||||
@@ -36,11 +38,22 @@ p.proposal-info span:nth-child(3) { display: none !important; }
|
|||||||
|
|
||||||
input[type="submit"] { display: none !important; }
|
input[type="submit"] { display: none !important; }
|
||||||
|
|
||||||
|
.filters h2 { margin: 0 !important; font-size: 20px !important; line-height: 20px !important; width: auto !important; }
|
||||||
|
|
||||||
|
.search-results h2 { margin: 0 !important; font-size: 20px !important; line-height: 20px !important; }
|
||||||
|
|
||||||
|
.admin h2 { font-size: 20px !important; line-height: 20px !important; }
|
||||||
|
|
||||||
.select-order {
|
.select-order {
|
||||||
border: 0;
|
border: 0 !important;
|
||||||
font-size: 24px;
|
font-size: 20px !important;
|
||||||
font-weight: bold;
|
font-weight: bold !important;
|
||||||
margin-left: -6px;
|
line-height: 20px !important;
|
||||||
|
margin-left: 10px !important;
|
||||||
|
margin-top: 0 !important;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
margin-right: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.proposal-info { margin-left: -6px; }
|
p.proposal-info { margin-left: -6px; }
|
||||||
@@ -49,16 +62,26 @@ a { text-decoration: none !important; }
|
|||||||
|
|
||||||
a:after { content: none !important; }
|
a:after { content: none !important; }
|
||||||
|
|
||||||
.proposal .panel { min-height: auto !important; }
|
.proposal .panel { min-height: auto !important; margin: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; }
|
||||||
|
|
||||||
.proposal .panel .proposal-content { min-height: auto !important; }
|
.proposal .panel .proposal-content { min-height: auto !important; }
|
||||||
|
|
||||||
.proposal .panel h3 { min-height: auto !important; }
|
.proposal .panel h3 { min-height: auto !important; font-size: 16px !important; }
|
||||||
|
|
||||||
.proposal .panel .proposal-description { height: auto; }
|
.proposal .panel .proposal-description { height: auto !important; margin-bottom: 0 !important; }
|
||||||
|
|
||||||
.proposal .panel {
|
.proposal .panel {
|
||||||
border-left: 0 !important;
|
border-left: 0 !important;
|
||||||
border-right: 0 !important;
|
border-right: 0 !important;
|
||||||
border-top: 0 !important;
|
border-top: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.for-print-only { display: block !important; }
|
||||||
|
|
||||||
|
.for-print-only p { font-size: 14px !important; line-height: 24px !important; }
|
||||||
|
|
||||||
|
.not-print { display: none !important; }
|
||||||
|
|
||||||
|
.date-for-print { font-size: 14px !important; line-height: 20px !important; }
|
||||||
|
|
||||||
|
.filters { height: 48px !important;}
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ class ApplicationController < ActionController::Base
|
|||||||
include HasOrders
|
include HasOrders
|
||||||
|
|
||||||
before_action :authenticate_http_basic, if: :http_basic_auth_site?
|
before_action :authenticate_http_basic, if: :http_basic_auth_site?
|
||||||
before_action :authenticate_user!, unless: :devise_controller?, if: :beta_site?
|
|
||||||
before_action :authenticate_beta_tester!, unless: :devise_controller?, if: :beta_site?
|
|
||||||
|
|
||||||
before_action :ensure_signup_complete
|
before_action :ensure_signup_complete
|
||||||
before_action :set_locale
|
before_action :set_locale
|
||||||
@@ -33,21 +31,6 @@ class ApplicationController < ActionController::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def authenticate_beta_tester!
|
|
||||||
unless signed_in? && beta_testers.include?(current_user.email)
|
|
||||||
sign_out(current_user)
|
|
||||||
redirect_to new_user_session_path, alert: t('application.alert.only_beta_testers')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def beta_testers
|
|
||||||
File.readlines('config/beta-testers.txt').map {|email| email.strip }
|
|
||||||
end
|
|
||||||
|
|
||||||
def beta_site?
|
|
||||||
Rails.application.secrets.beta_site
|
|
||||||
end
|
|
||||||
|
|
||||||
def http_basic_auth_site?
|
def http_basic_auth_site?
|
||||||
Rails.application.secrets.http_basic_auth
|
Rails.application.secrets.http_basic_auth
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class ProposalsController < ApplicationController
|
|||||||
respond_to :html, :js
|
respond_to :html, :js
|
||||||
|
|
||||||
def index_customization
|
def index_customization
|
||||||
@featured_proposals = Proposal.all.sort_by_confidence_score.limit(3) if @search_terms.blank?
|
@featured_proposals = Proposal.all.sort_by_confidence_score.limit(3) if (@search_terms.blank? && @tag_filter.blank?)
|
||||||
if @featured_proposals.present?
|
if @featured_proposals.present?
|
||||||
set_featured_proposal_votes(@featured_proposals)
|
set_featured_proposal_votes(@featured_proposals)
|
||||||
@resources = @resources.where('proposals.id NOT IN (?)', @featured_proposals.map(&:id))
|
@resources = @resources.where('proposals.id NOT IN (?)', @featured_proposals.map(&:id))
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ class Debate < ActiveRecord::Base
|
|||||||
include Conflictable
|
include Conflictable
|
||||||
include Measurable
|
include Measurable
|
||||||
include Sanitizable
|
include Sanitizable
|
||||||
|
include PgSearch
|
||||||
|
|
||||||
apply_simple_captcha
|
apply_simple_captcha
|
||||||
acts_as_votable
|
acts_as_votable
|
||||||
@@ -36,6 +37,22 @@ class Debate < ActiveRecord::Base
|
|||||||
# Ahoy setup
|
# Ahoy setup
|
||||||
visitable # Ahoy will automatically assign visit_id on create
|
visitable # Ahoy will automatically assign visit_id on create
|
||||||
|
|
||||||
|
pg_search_scope :pg_search, {
|
||||||
|
against: {
|
||||||
|
title: 'A',
|
||||||
|
description: 'B'
|
||||||
|
},
|
||||||
|
associated_against: {
|
||||||
|
tags: :name
|
||||||
|
},
|
||||||
|
using: {
|
||||||
|
tsearch: { dictionary: "spanish" },
|
||||||
|
trigram: { threshold: 0.1 },
|
||||||
|
},
|
||||||
|
ranked_by: '(:tsearch + debates.cached_votes_up)',
|
||||||
|
order_within_rank: "debates.created_at DESC"
|
||||||
|
}
|
||||||
|
|
||||||
def description
|
def description
|
||||||
super.try :html_safe
|
super.try :html_safe
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ class Proposal < ActiveRecord::Base
|
|||||||
include Conflictable
|
include Conflictable
|
||||||
include Measurable
|
include Measurable
|
||||||
include Sanitizable
|
include Sanitizable
|
||||||
|
include PgSearch
|
||||||
|
|
||||||
apply_simple_captcha
|
apply_simple_captcha
|
||||||
acts_as_votable
|
acts_as_votable
|
||||||
@@ -38,12 +39,30 @@ class Proposal < ActiveRecord::Base
|
|||||||
scope :sort_by_random, -> { order("RANDOM()") }
|
scope :sort_by_random, -> { order("RANDOM()") }
|
||||||
scope :sort_by_flags, -> { order(flags_count: :desc, updated_at: :desc) }
|
scope :sort_by_flags, -> { order(flags_count: :desc, updated_at: :desc) }
|
||||||
|
|
||||||
|
pg_search_scope :pg_search, {
|
||||||
|
against: {
|
||||||
|
title: 'A',
|
||||||
|
question: 'B',
|
||||||
|
summary: 'C',
|
||||||
|
description: 'D'
|
||||||
|
},
|
||||||
|
associated_against: {
|
||||||
|
tags: :name
|
||||||
|
},
|
||||||
|
using: {
|
||||||
|
tsearch: { dictionary: "spanish" },
|
||||||
|
trigram: { threshold: 0.1 },
|
||||||
|
},
|
||||||
|
ranked_by: '(:tsearch + proposals.cached_votes_up)',
|
||||||
|
order_within_rank: "proposals.created_at DESC"
|
||||||
|
}
|
||||||
|
|
||||||
def description
|
def description
|
||||||
super.try :html_safe
|
super.try :html_safe
|
||||||
end
|
end
|
||||||
|
|
||||||
def total_votes
|
def total_votes
|
||||||
cached_votes_up
|
cached_votes_up + physical_votes
|
||||||
end
|
end
|
||||||
|
|
||||||
def editable?
|
def editable?
|
||||||
@@ -74,14 +93,13 @@ class Proposal < ActiveRecord::Base
|
|||||||
|
|
||||||
def calculate_hot_score
|
def calculate_hot_score
|
||||||
self.hot_score = ScoreCalculator.hot_score(created_at,
|
self.hot_score = ScoreCalculator.hot_score(created_at,
|
||||||
cached_votes_up,
|
total_votes,
|
||||||
cached_votes_up,
|
total_votes,
|
||||||
comments_count)
|
comments_count)
|
||||||
end
|
end
|
||||||
|
|
||||||
def calculate_confidence_score
|
def calculate_confidence_score
|
||||||
self.confidence_score = ScoreCalculator.confidence_score(cached_votes_up,
|
self.confidence_score = ScoreCalculator.confidence_score(total_votes, total_votes)
|
||||||
cached_votes_up)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def after_hide
|
def after_hide
|
||||||
@@ -93,7 +111,7 @@ class Proposal < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.search(terms)
|
def self.search(terms)
|
||||||
terms.present? ? where("title ILIKE ? OR description ILIKE ? OR question ILIKE ?", "%#{terms}%", "%#{terms}%", "%#{terms}%") : none
|
self.pg_search(terms)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.votes_needed_for_success
|
def self.votes_needed_for_success
|
||||||
|
|||||||
@@ -60,7 +60,6 @@
|
|||||||
<div class="row-full subnavigation-container">
|
<div class="row-full subnavigation-container">
|
||||||
<section class="subnavigation row">
|
<section class="subnavigation row">
|
||||||
<div class="small-12 medium-8 column">
|
<div class="small-12 medium-8 column">
|
||||||
<%= link_to t("layouts.header.highlights"), highlights_path, class: ("active" if current_page? highlights_path) %>
|
|
||||||
<%= link_to t("layouts.header.debates"), debates_path, class: ("active" if current_page?(controller: "/debates")) %>
|
<%= link_to t("layouts.header.debates"), debates_path, class: ("active" if current_page?(controller: "/debates")) %>
|
||||||
<%= link_to t("layouts.header.proposals"), proposals_path, class: ("active" if current_page?(controller: "/proposals")) %>
|
<%= link_to t("layouts.header.proposals"), proposals_path, class: ("active" if current_page?(controller: "/proposals")) %>
|
||||||
<%= link_to t("layouts.header.more_information"), "/more_information", class: ("active" if current_page?("/more_information")) %>
|
<%= link_to t("layouts.header.more_information"), "/more_information", class: ("active" if current_page?("/more_information")) %>
|
||||||
|
|||||||
@@ -5,14 +5,24 @@
|
|||||||
<%= t('management.proposals.print.print_button') %>
|
<%= t('management.proposals.print.print_button') %>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<%= image_tag "header_print_proposals.jpg", class: "for-print-only" %>
|
||||||
|
|
||||||
<div class="filters">
|
<div class="filters">
|
||||||
|
<span class="for-print-only date-for-print"><%= l Date.today, format: :long %></span>
|
||||||
|
|
||||||
<h2 class="inline-block">
|
<h2 class="inline-block">
|
||||||
<%= t("proposals.index.select_order_long") %>
|
<span class="not-print"><%= t("proposals.index.select_order_long") %></span>
|
||||||
|
<span class="for-print-only"><%= t("management.print.proposals_title") %></span>
|
||||||
</h2>
|
</h2>
|
||||||
<%= render 'shared/order_selector', i18n_namespace: "proposals.index" %>
|
<%= render 'shared/order_selector', i18n_namespace: "proposals.index" %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= render @proposals %>
|
<%= render @proposals %>
|
||||||
|
|
||||||
|
<div class="for-print-only">
|
||||||
|
<p><strong><%= t("management.print.info") %></strong><br>
|
||||||
|
<%= t("management.print.note") %></p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ namespace :deploy do
|
|||||||
# Custom compile and rsync of assets - works, but it is very slow
|
# Custom compile and rsync of assets - works, but it is very slow
|
||||||
#after 'deploy:symlink:shared', 'deploy:compile_assets_locally'
|
#after 'deploy:symlink:shared', 'deploy:compile_assets_locally'
|
||||||
|
|
||||||
after :finishing, 'deploy:beta_testers'
|
|
||||||
after :finishing, 'deploy:cleanup'
|
after :finishing, 'deploy:cleanup'
|
||||||
# Restart unicorn
|
# Restart unicorn
|
||||||
after 'deploy:publishing', 'deploy:restart'
|
after 'deploy:publishing', 'deploy:restart'
|
||||||
|
|||||||
@@ -2,17 +2,17 @@ en:
|
|||||||
activemodel:
|
activemodel:
|
||||||
models:
|
models:
|
||||||
verification:
|
verification:
|
||||||
residence: Residence
|
residence: "Residence"
|
||||||
sms: SMS
|
sms: "SMS"
|
||||||
attributes:
|
attributes:
|
||||||
verification:
|
verification:
|
||||||
residence:
|
residence:
|
||||||
document_type: Document type
|
document_type: "Document type"
|
||||||
document_number: Document number(including letter)
|
document_number: "Document number (including letters)"
|
||||||
date_of_birth: Date of birth
|
date_of_birth: "Date of birth"
|
||||||
postal_code: Postal code
|
postal_code: "Postcode"
|
||||||
sms:
|
sms:
|
||||||
phone: 'Phone'
|
phone: "Telephone"
|
||||||
confirmation_code: 'Confirmation code'
|
confirmation_code: "Confirmation code"
|
||||||
email:
|
email:
|
||||||
recipient: 'Email'
|
recipient: "Email"
|
||||||
@@ -2,17 +2,17 @@ es:
|
|||||||
activemodel:
|
activemodel:
|
||||||
models:
|
models:
|
||||||
verification:
|
verification:
|
||||||
residence: Residencia
|
residence: "Residencia"
|
||||||
sms: SMS
|
sms: "SMS"
|
||||||
attributes:
|
attributes:
|
||||||
verification:
|
verification:
|
||||||
residence:
|
residence:
|
||||||
document_type: Tipo documento
|
document_type: "Tipo documento"
|
||||||
document_number: Numero de documento (incluida letra)
|
document_number: "Numero de documento (incluida letra)"
|
||||||
date_of_birth: Fecha de nacimiento
|
date_of_birth: "Fecha de nacimiento"
|
||||||
postal_code: 'Código postal'
|
postal_code: "Código postal"
|
||||||
sms:
|
sms:
|
||||||
phone: 'Teléfono'
|
phone: "Teléfono"
|
||||||
confirmation_code: 'Código de confirmación'
|
confirmation_code: "Código de confirmación"
|
||||||
email:
|
email:
|
||||||
recipient: 'Email'
|
recipient: "Email"
|
||||||
@@ -7,46 +7,68 @@ en:
|
|||||||
email:
|
email:
|
||||||
password_already_set: "This user already has a password"
|
password_already_set: "This user already has a password"
|
||||||
models:
|
models:
|
||||||
activity: Activity
|
activity:
|
||||||
comment: Comment
|
one: "activity"
|
||||||
debate: Debate
|
other: "activities"
|
||||||
proposal: Proposal
|
comment:
|
||||||
tag: Topic
|
one: "Comment"
|
||||||
user: User
|
other: "Comments"
|
||||||
vote: Vote
|
debate:
|
||||||
organization: Organization
|
one: "Debate"
|
||||||
|
other: "Debates"
|
||||||
|
tag:
|
||||||
|
one: "Tag"
|
||||||
|
other: "Tags"
|
||||||
|
user:
|
||||||
|
one: "User"
|
||||||
|
other: "Users"
|
||||||
|
moderator:
|
||||||
|
one: "Moderator"
|
||||||
|
other: "Moderators"
|
||||||
|
administrator:
|
||||||
|
one: "Administrator"
|
||||||
|
other: "Administrators"
|
||||||
|
vote:
|
||||||
|
one: "Vote"
|
||||||
|
other: "Votes"
|
||||||
|
organization:
|
||||||
|
one: "Organisation"
|
||||||
|
other: "Organisations"
|
||||||
|
proposal:
|
||||||
|
one: "Citizen proposal"
|
||||||
|
other: "Citizen proposals"
|
||||||
attributes:
|
attributes:
|
||||||
comment:
|
comment:
|
||||||
body: Comment
|
body: "Comment"
|
||||||
user: User
|
user: "User"
|
||||||
debate:
|
debate:
|
||||||
author: Author
|
author: "Author"
|
||||||
description: Opinion
|
description: "Opinion"
|
||||||
terms_of_service: Terms of service
|
terms_of_service: "Terms of service"
|
||||||
title: Title
|
title: "Title"
|
||||||
proposal:
|
proposal:
|
||||||
author: Author
|
author: "Author"
|
||||||
title: Title
|
title: "Title"
|
||||||
question: Question
|
question: "Question"
|
||||||
description: Description
|
description: "Description"
|
||||||
terms_of_service: Terms of service
|
terms_of_service: "Terms of service"
|
||||||
user:
|
user:
|
||||||
email: Email
|
email: "Email"
|
||||||
username: Username
|
username: "Username"
|
||||||
password: Password
|
password: "Password"
|
||||||
phone_number: Phone number
|
phone_number: "Phone number"
|
||||||
official_position: Official position
|
official_position: "Official position"
|
||||||
official_level: Official level
|
official_level: "Official level"
|
||||||
organization:
|
organization:
|
||||||
name: Organization name
|
name: "Name of organisation"
|
||||||
responsible_name: Person in charge
|
responsible_name: "Person responsible for the group"
|
||||||
errors:
|
errors:
|
||||||
models:
|
models:
|
||||||
debate:
|
debate:
|
||||||
attributes:
|
attributes:
|
||||||
tag_list:
|
tag_list:
|
||||||
less_than_or_equal_to: tags must be less than or equal to %{count}
|
less_than_or_equal_to: "tags must be less than or equal to %{count}"
|
||||||
proposal:
|
proposal:
|
||||||
attributes:
|
attributes:
|
||||||
tag_list:
|
tag_list:
|
||||||
less_than_or_equal_to: tags must be less than or equal to %{count}
|
less_than_or_equal_to: "tags must be less than or equal to %{count}"
|
||||||
|
|||||||
@@ -8,67 +8,67 @@ es:
|
|||||||
password_already_set: "Este usuario ya tiene una clave asociada"
|
password_already_set: "Este usuario ya tiene una clave asociada"
|
||||||
models:
|
models:
|
||||||
activity:
|
activity:
|
||||||
one: actividad
|
one: "actividad"
|
||||||
other: actividades
|
other: "actividades"
|
||||||
comment:
|
comment:
|
||||||
one: Comentario
|
one: "Comentario"
|
||||||
other: Comentarios
|
other: "Comentarios"
|
||||||
debate:
|
debate:
|
||||||
one: Debate
|
one: "Debate"
|
||||||
other: Debates
|
other: "Debates"
|
||||||
tag:
|
tag:
|
||||||
one: Tema
|
one: "Tema"
|
||||||
other: Temas
|
other: "Temas"
|
||||||
user:
|
user:
|
||||||
one: Usuario
|
one: "Usuario"
|
||||||
other: Usuarios
|
other: "Usuarios"
|
||||||
moderator:
|
moderator:
|
||||||
one: Moderador
|
one: "Moderador"
|
||||||
other: Moderadores
|
other: "Moderadores"
|
||||||
administrator:
|
administrator:
|
||||||
one: Administrador
|
one: "Administrador"
|
||||||
other: Administradores
|
other: "Administradores"
|
||||||
vote:
|
vote:
|
||||||
one: Voto
|
one: "Voto"
|
||||||
other: Voto
|
other: "Votos"
|
||||||
organization:
|
organization:
|
||||||
one: Organización
|
one: "Organización"
|
||||||
other: Organizaciones
|
other: "Organizaciones"
|
||||||
proposal:
|
proposal:
|
||||||
one: Propuesta ciudadana
|
one: "Propuesta ciudadana"
|
||||||
other: Propuestas ciudadanas
|
other: "Propuestas ciudadanas"
|
||||||
attributes:
|
attributes:
|
||||||
comment:
|
comment:
|
||||||
body: Comentario
|
body: "Comentario"
|
||||||
user: Usuario
|
user: "Usuario"
|
||||||
debate:
|
debate:
|
||||||
author: Autor
|
author: "Autor"
|
||||||
description: Opinión
|
description: "Opinión"
|
||||||
terms_of_service: Términos de servicio
|
terms_of_service: "Términos de servicio"
|
||||||
title: Título
|
title: "Título"
|
||||||
proposal:
|
proposal:
|
||||||
author: Autor
|
author: "Autor"
|
||||||
title: Título
|
title: "Título"
|
||||||
question: Pregunta
|
question: "Pregunta"
|
||||||
description: Descripción
|
description: "Descripción"
|
||||||
terms_of_service: Términos de servicio
|
terms_of_service: "Términos de servicio"
|
||||||
user:
|
user:
|
||||||
email: Correo electrónico
|
email: "Correo electrónico"
|
||||||
username: Nombre de usuario
|
username: "Nombre de usuario"
|
||||||
password: Contraseña
|
password: "Contraseña"
|
||||||
phone_number: Teléfono
|
phone_number: "Teléfono"
|
||||||
official_position: Cargo público
|
official_position: "Cargo público"
|
||||||
official_level: Nivel del cargo
|
official_level: "Nivel del cargo"
|
||||||
organization:
|
organization:
|
||||||
name: Nombre de organización
|
name: "Nombre de organización"
|
||||||
responsible_name: Persona responsable del colectivo
|
responsible_name: "Persona responsable del colectivo"
|
||||||
errors:
|
errors:
|
||||||
models:
|
models:
|
||||||
debate:
|
debate:
|
||||||
attributes:
|
attributes:
|
||||||
tag_list:
|
tag_list:
|
||||||
less_than_or_equal_to: los temas deben ser menor o igual que %{count}
|
less_than_or_equal_to: "los temas deben ser menor o igual que %{count}"
|
||||||
proposal:
|
proposal:
|
||||||
attributes:
|
attributes:
|
||||||
tag_list:
|
tag_list:
|
||||||
less_than_or_equal_to: los temas deben ser menor o igual que %{count}
|
less_than_or_equal_to: "los temas deben ser menor o igual que %{count}"
|
||||||
|
|||||||
244
config/locales/admin.en.yml
Normal file → Executable file
244
config/locales/admin.en.yml
Normal file → Executable file
@@ -2,177 +2,177 @@ en:
|
|||||||
admin:
|
admin:
|
||||||
settings:
|
settings:
|
||||||
index:
|
index:
|
||||||
title: Global settings
|
title: "General settings"
|
||||||
update_setting: Update
|
update_setting: "Update"
|
||||||
flash:
|
flash:
|
||||||
updated: 'Setting updated!'
|
updated: "Value updated"
|
||||||
dashboard:
|
dashboard:
|
||||||
index:
|
index:
|
||||||
title: Administration
|
title: "Administration"
|
||||||
menu:
|
menu:
|
||||||
settings: Global settings
|
settings: "General settings"
|
||||||
debate_topics: Debate topics
|
debate_topics: "Debate topics"
|
||||||
hidden_proposals: Hidden proposals
|
hidden_proposals: "Hidden proposals"
|
||||||
hidden_debates: Hidden debates
|
hidden_debates: "Hidden debates"
|
||||||
hidden_comments: Hidden comments
|
hidden_comments: "Hidden comments"
|
||||||
hidden_users: Blocked users
|
hidden_users: "Hidden users"
|
||||||
incomplete_verifications: Incomplete verifications
|
incomplete_verifications: "Incomplete verifications"
|
||||||
organizations: Organizations
|
organizations: "Organisations"
|
||||||
officials: Officials
|
officials: "Officials"
|
||||||
moderators: Moderators
|
moderators: "Moderators"
|
||||||
stats: Statistics
|
stats: "Statistics"
|
||||||
activity: Moderation Activity
|
activity: "Moderator activity"
|
||||||
shared:
|
shared:
|
||||||
user_search:
|
user_search:
|
||||||
placeholder: 'Search user by name or email'
|
placeholder: "Search user by name or email'"
|
||||||
button: 'Search'
|
button: "Search"
|
||||||
proposal_search:
|
proposal_search:
|
||||||
placeholder: 'Search proposals by title, description or question'
|
placeholder: "Search proposals by title, description or question"
|
||||||
button: 'Search'
|
button: "Search"
|
||||||
organizations:
|
organizations:
|
||||||
index:
|
index:
|
||||||
title: Organizations
|
title: "Organisations"
|
||||||
search_placeholder: "Name, email or phone"
|
search_placeholder: "Name, email or phone number"
|
||||||
search: Search
|
search: "Search"
|
||||||
verify: Verify
|
verify: "Verify"
|
||||||
reject: Reject
|
reject: "Reject"
|
||||||
verified: Verified
|
verified: "Verified"
|
||||||
rejected: Rejected
|
rejected: "Rejected"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
pending: Pending
|
pending: "Pending"
|
||||||
verified: Verified
|
verified: "Verified"
|
||||||
rejected: Rejected
|
rejected: "Rejected"
|
||||||
hidden_count:
|
hidden_count:
|
||||||
one: "There is %{count} organization without user or with the user banned"
|
one: "There is also one organisation with no users or with a hidden user"
|
||||||
other: "There is %{count} organizations without user or with the user banned"
|
other: "There are %{count} organisations with no users or with a hidden user"
|
||||||
search:
|
search:
|
||||||
title: "Search Organizations"
|
title: "Search Organisations"
|
||||||
actions:
|
actions:
|
||||||
hide: Hide
|
hide: "Hide"
|
||||||
hide_author: Ban author
|
hide_author: "Hide author"
|
||||||
restore: Restore
|
restore: "Restore"
|
||||||
confirm: 'Are you sure?'
|
confirm: "Are you sure?"
|
||||||
confirm_hide: Confirm
|
confirm_hide: "Confirm"
|
||||||
tags:
|
tags:
|
||||||
index:
|
index:
|
||||||
title: 'Debate topics'
|
title: "Debate topics"
|
||||||
add_tag: 'Add a new debate topic'
|
add_tag: "Add a new debate topic"
|
||||||
mark_as_featured: 'Propose topic to create debate'
|
mark_as_featured: "Propose topic upon creating debate"
|
||||||
name:
|
name:
|
||||||
placeholder: 'Write a topic'
|
placeholder: "Type the name of the topic"
|
||||||
create: Create Topic
|
create: "Create Topic"
|
||||||
update: Update Topic
|
update: "Update Topic"
|
||||||
destroy: Delete Topic
|
destroy: "Destroy Topic"
|
||||||
comments:
|
comments:
|
||||||
index:
|
index:
|
||||||
title: Hidden comments
|
title: "Hidden comments"
|
||||||
hidden_proposal: "Hidden proposal"
|
hidden_proposal: "Hidden proposal"
|
||||||
hidden_debate: "Hidden debate"
|
hidden_debate: "Hidden debate"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
with_confirmed_hide: Confirmed
|
with_confirmed_hide: "Confirmed"
|
||||||
without_confirmed_hide: Pending
|
without_confirmed_hide: "Pending"
|
||||||
debates:
|
debates:
|
||||||
index:
|
index:
|
||||||
title: Hidden debates
|
title: "Hidden debates"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
with_confirmed_hide: Confirmed
|
with_confirmed_hide: "Confirmed"
|
||||||
without_confirmed_hide: Pending
|
without_confirmed_hide: "Pending"
|
||||||
proposals:
|
proposals:
|
||||||
index:
|
index:
|
||||||
title: Hidden proposals
|
title: "Hidden proposals"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
with_confirmed_hide: Confirmed
|
with_confirmed_hide: "Confirmed"
|
||||||
without_confirmed_hide: Pending
|
without_confirmed_hide: "Pending"
|
||||||
users:
|
users:
|
||||||
index:
|
index:
|
||||||
title: Banned users
|
title: "Hidden users"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
with_confirmed_hide: Confirmed
|
with_confirmed_hide: "Confirmed"
|
||||||
without_confirmed_hide: Pending
|
without_confirmed_hide: "Pending"
|
||||||
show:
|
show:
|
||||||
title: "User activity from %{user}"
|
title: "Activity of user %{user}"
|
||||||
back: Back
|
back: "Back"
|
||||||
email: "Email:"
|
email: "Email:"
|
||||||
registered_at: "Registered at:"
|
registered_at: "Registered at:"
|
||||||
hidden_at: "Hidden at:"
|
hidden_at: "Hidden at:"
|
||||||
verifications:
|
verifications:
|
||||||
index:
|
index:
|
||||||
title: Incomplete verifications
|
title: "Incomplete verifications"
|
||||||
phone_not_given: 'Phone not given'
|
phone_not_given: "Phone not given"
|
||||||
sms_code_not_confirmed: 'Has not confirmed the sms code'
|
sms_code_not_confirmed: "Has not confirmed the sms code"
|
||||||
officials:
|
officials:
|
||||||
level_0: Not an official
|
level_0: "Not official"
|
||||||
level_1: Level 1
|
level_1: "Level 1"
|
||||||
level_2: Level 2
|
level_2: "Level 2"
|
||||||
level_3: Level 3
|
level_3: "Level 3"
|
||||||
level_4: Level 4
|
level_4: "Level 4"
|
||||||
level_5: Level 5
|
level_5: "Level 5"
|
||||||
index:
|
index:
|
||||||
title: Officials
|
title: "Officials"
|
||||||
search:
|
search:
|
||||||
title: 'Officials: Search users'
|
title: "Official positions: User search"
|
||||||
edit_official: Edit official
|
edit_official: "Edit official"
|
||||||
make_official: Make this user an official
|
make_official: "Make official"
|
||||||
edit:
|
edit:
|
||||||
title: 'Officials: edit user'
|
title: "Officials: Edit user"
|
||||||
destroy: "Remove 'Official' condition"
|
destroy: "Remove 'Official' status"
|
||||||
back: Back
|
back: "Back"
|
||||||
flash:
|
flash:
|
||||||
official_updated: 'Official position saved!'
|
official_updated: "Details of official saved"
|
||||||
official_destroyed: 'User is not an official anymore'
|
official_destroyed: "Details saved: the user is no longer an official"
|
||||||
moderators:
|
moderators:
|
||||||
index:
|
index:
|
||||||
title: Moderators
|
title: "Moderators"
|
||||||
search:
|
search:
|
||||||
email_placeholder: 'Search user by email'
|
email_placeholder: "Search user by email"
|
||||||
search: Search
|
search: "Search"
|
||||||
user_not_found: 'User not found'
|
user_not_found: "User not found"
|
||||||
moderator:
|
moderator:
|
||||||
delete: Delete
|
delete: "Delete"
|
||||||
add: Add
|
add: "Add"
|
||||||
activity:
|
activity:
|
||||||
show:
|
show:
|
||||||
title: Activity of Moderators
|
title: "Moderator activity"
|
||||||
action: Action
|
action: "Action"
|
||||||
by: Moderated by
|
by: "Moderated by"
|
||||||
type: Type
|
type: "Type"
|
||||||
filter: Show
|
filter: "Show"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
on_proposals: On Proposals
|
on_proposals: "Proposals"
|
||||||
on_debates: On Debates
|
on_debates: "Debates"
|
||||||
on_comments: On Comments
|
on_comments: "Comments"
|
||||||
on_users: On Users
|
on_users: "Users"
|
||||||
actions:
|
actions:
|
||||||
hide: Hidden
|
hide: "Hidden"
|
||||||
restore: Restored
|
restore: "Restored"
|
||||||
block: Blocked
|
block: "Blocked"
|
||||||
stats:
|
stats:
|
||||||
show:
|
show:
|
||||||
stats_title: Stats
|
stats_title: "Stats"
|
||||||
visits_title: Visits
|
visits_title: "Visits"
|
||||||
combined_title: Combined
|
combined_title: "Combined"
|
||||||
summary:
|
summary:
|
||||||
visits: Visits
|
visits: "Visits"
|
||||||
debates: Debates
|
debates: "Debates"
|
||||||
proposals: Proposals
|
proposals: "Proposals"
|
||||||
comments: Comments
|
comments: "Comments"
|
||||||
debate_votes: Debate votes
|
debate_votes: "Debate votes"
|
||||||
proposal_votes: Proposal votes
|
proposal_votes: "Proposal votes"
|
||||||
comment_votes: Comment votes
|
comment_votes: "Comment votes"
|
||||||
votes: Total votes
|
votes: "Total votes"
|
||||||
user_level_three: Level three users
|
user_level_three: "Level three users"
|
||||||
user_level_two: Level two users
|
user_level_two: "Level two users"
|
||||||
unverified_users: Unverified users
|
unverified_users: "Unverified users"
|
||||||
verified_users: Verified users
|
verified_users: "Verified users"
|
||||||
users: Total users
|
users: "Total users"
|
||||||
@@ -2,177 +2,177 @@ es:
|
|||||||
admin:
|
admin:
|
||||||
settings:
|
settings:
|
||||||
index:
|
index:
|
||||||
title: Configuración global
|
title: "Configuración global"
|
||||||
update_setting: Actualizar
|
update_setting: "Actualizar"
|
||||||
flash:
|
flash:
|
||||||
updated: 'Valor actualizado'
|
updated: "Valor actualizado"
|
||||||
dashboard:
|
dashboard:
|
||||||
index:
|
index:
|
||||||
title: Administración
|
title: "Administración"
|
||||||
menu:
|
menu:
|
||||||
settings: Configuración global
|
settings: "Configuración global"
|
||||||
debate_topics: Temas de debate
|
debate_topics: "Temas de debate"
|
||||||
hidden_proposals: Propuestas ocultas
|
hidden_proposals: "Propuestas ocultas"
|
||||||
hidden_debates: Debates ocultos
|
hidden_debates: "Debates ocultos"
|
||||||
hidden_comments: Comentarios ocultos
|
hidden_comments: "Comentarios ocultos"
|
||||||
hidden_users: Usuarios bloqueados
|
hidden_users: "Usuarios bloqueados"
|
||||||
incomplete_verifications: Verificaciones incompletas
|
incomplete_verifications: "Verificaciones incompletas"
|
||||||
organizations: Organizaciones
|
organizations: "Organizaciones"
|
||||||
officials: Cargos públicos
|
officials: "Cargos públicos"
|
||||||
moderators: Moderadores
|
moderators: "Moderadores"
|
||||||
stats: Estadísticas
|
stats: "Estadísticas"
|
||||||
activity: Actividad de moderadores
|
activity: "Actividad de moderadores"
|
||||||
shared:
|
shared:
|
||||||
user_search:
|
user_search:
|
||||||
placeholder: 'Buscar usuario por nombre o email'
|
placeholder: "Buscar usuario por nombre o email"
|
||||||
button: 'Buscar'
|
button: "Buscar"
|
||||||
proposal_search:
|
proposal_search:
|
||||||
placeholder: 'Buscar propuestas por título, descripción o pregunta'
|
placeholder: "Buscar propuestas por título, descripción o pregunta"
|
||||||
button: 'Buscar'
|
button: "Buscar"
|
||||||
organizations:
|
organizations:
|
||||||
index:
|
index:
|
||||||
title: Organizaciones
|
title: "Organizaciones"
|
||||||
search_placeholder: "Nombre, email o teléfono"
|
search_placeholder: "Nombre, email o teléfono"
|
||||||
search: Buscar
|
search: "Buscar"
|
||||||
verify: Verificar
|
verify: "Verificar"
|
||||||
reject: Rechazar
|
reject: "Rechazar"
|
||||||
verified: Verificada
|
verified: "Verificada"
|
||||||
rejected: Rechazada
|
rejected: "Rechazada"
|
||||||
filter: Filtro
|
filter: "Filtro"
|
||||||
filters:
|
filters:
|
||||||
all: Todas
|
all: "Todas"
|
||||||
pending: Pendientes
|
pending: "Pendientes"
|
||||||
verified: Verificadas
|
verified: "Verificadas"
|
||||||
rejected: Rechazadas
|
rejected: "Rechazadas"
|
||||||
hidden_count:
|
hidden_count:
|
||||||
one: "Hay además una organización sin usuario o con el usuario bloqueado"
|
one: "Hay además una organización sin usuario o con el usuario bloqueado"
|
||||||
other: "Hay %{count} organizaciones sin usuario o con el usuario bloqueado"
|
other: "Hay %{count} organizaciones sin usuario o con el usuario bloqueado"
|
||||||
search:
|
search:
|
||||||
title: "Buscar Organizaciones"
|
title: "Buscar Organizaciones"
|
||||||
actions:
|
actions:
|
||||||
hide: Ocultar
|
hide: "Ocultar"
|
||||||
hide_author: Bloquear al autor
|
hide_author: "Bloquear al autor"
|
||||||
restore: Volver a mostrar
|
restore: "Volver a mostrar"
|
||||||
confirm: '¿Estás seguro?'
|
confirm: "¿Estás seguro?"
|
||||||
confirm_hide: Confirmar
|
confirm_hide: "Confirmar"
|
||||||
tags:
|
tags:
|
||||||
index:
|
index:
|
||||||
title: 'Temas de debate'
|
title: "Temas de debate"
|
||||||
add_tag: 'Añade un nuevo tema de debate'
|
add_tag: "Añade un nuevo tema de debate"
|
||||||
mark_as_featured: 'Proponer tema al crear debate'
|
mark_as_featured: "Proponer tema al crear debate"
|
||||||
name:
|
name:
|
||||||
placeholder: 'Escribe el nombre del tema'
|
placeholder: "Escribe el nombre del tema"
|
||||||
create: Crear Tema
|
create: "Crear Tema"
|
||||||
update: Actualizar Tema
|
update: "Actualizar Tema"
|
||||||
destroy: Eliminar Tema
|
destroy: "Eliminar Tema"
|
||||||
comments:
|
comments:
|
||||||
index:
|
index:
|
||||||
title: Comentarios ocultos
|
title: "Comentarios ocultos"
|
||||||
hidden_proposal: "Propuesta oculta"
|
hidden_proposal: "Propuesta oculta"
|
||||||
hidden_debate: "Debate oculto"
|
hidden_debate: "Debate oculto"
|
||||||
filter: Filtro
|
filter: "Filtro"
|
||||||
filters:
|
filters:
|
||||||
all: Todos
|
all: "Todos"
|
||||||
with_confirmed_hide: Confirmados
|
with_confirmed_hide: "Confirmados"
|
||||||
without_confirmed_hide: Pendientes
|
without_confirmed_hide: "Pendientes"
|
||||||
debates:
|
debates:
|
||||||
index:
|
index:
|
||||||
title: Debates ocultos
|
title: "Debates ocultos"
|
||||||
filter: Filtro
|
filter: "Filtro"
|
||||||
filters:
|
filters:
|
||||||
all: Todos
|
all: "Todos"
|
||||||
with_confirmed_hide: Confirmados
|
with_confirmed_hide: "Confirmados"
|
||||||
without_confirmed_hide: Pendientes
|
without_confirmed_hide: "Pendientes"
|
||||||
proposals:
|
proposals:
|
||||||
index:
|
index:
|
||||||
title: Propuestas ocultos
|
title: "Propuestas ocultos"
|
||||||
filter: Filtro
|
filter: "Filtro"
|
||||||
filters:
|
filters:
|
||||||
all: Todas
|
all: "Todas"
|
||||||
with_confirmed_hide: Confirmadas
|
with_confirmed_hide: "Confirmadas"
|
||||||
without_confirmed_hide: Pendientes
|
without_confirmed_hide: "Pendientes"
|
||||||
users:
|
users:
|
||||||
index:
|
index:
|
||||||
title: Usuarios bloqueados
|
title: "Usuarios bloqueados"
|
||||||
filter: Filtro
|
filter: "Filtro"
|
||||||
filters:
|
filters:
|
||||||
all: Todos
|
all: "Todos"
|
||||||
with_confirmed_hide: Confirmados
|
with_confirmed_hide: "Confirmados"
|
||||||
without_confirmed_hide: Pendientes
|
without_confirmed_hide: "Pendientes"
|
||||||
show:
|
show:
|
||||||
title: "Actividad del usuario %{user}"
|
title: "Actividad del usuario %{user}"
|
||||||
back: Volver
|
back: "Volver"
|
||||||
email: "Email:"
|
email: "Email:"
|
||||||
registered_at: "Fecha de alta:"
|
registered_at: "Fecha de alta:"
|
||||||
hidden_at: "Bloqueado:"
|
hidden_at: "Bloqueado:"
|
||||||
verifications:
|
verifications:
|
||||||
index:
|
index:
|
||||||
title: Verificaciones incompletas
|
title: "Verificaciones incompletas"
|
||||||
phone_not_given: 'No ha dado su teléfono'
|
phone_not_given: "No ha dado su teléfono"
|
||||||
sms_code_not_confirmed: 'No ha introducido su código de seguridad'
|
sms_code_not_confirmed: "No ha introducido su código de seguridad"
|
||||||
officials:
|
officials:
|
||||||
level_0: "No es cargo público"
|
level_0: "No es cargo público"
|
||||||
level_1: Nivel 1
|
level_1: "Nivel 1"
|
||||||
level_2: Nivel 2
|
level_2: "Nivel 2"
|
||||||
level_3: Nivel 3
|
level_3: "Nivel 3"
|
||||||
level_4: Nivel 4
|
level_4: "Nivel 4"
|
||||||
level_5: Nivel 5
|
level_5: "Nivel 5"
|
||||||
index:
|
index:
|
||||||
title: Cargos Públicos
|
title: "Cargos Públicos"
|
||||||
search:
|
search:
|
||||||
title: 'Cargos Públicos: Búsqueda de usuarios'
|
title: "Cargos Públicos: Búsqueda de usuarios"
|
||||||
edit_official: Editar cargo público
|
edit_official: "Editar cargo público"
|
||||||
make_official: Convertir en cargo público
|
make_official: "Convertir en cargo público"
|
||||||
edit:
|
edit:
|
||||||
title: 'Cargos Públicos: Editar usuario'
|
title: "Cargos Públicos: Editar usuario"
|
||||||
destroy: "Eliminar condición de 'Cargo Público'"
|
destroy: "Eliminar condición de 'Cargo Público'"
|
||||||
back: Volver
|
back: "Volver"
|
||||||
flash:
|
flash:
|
||||||
official_updated: 'Datos del cargo público guardados'
|
official_updated: "Datos del cargo público guardados"
|
||||||
official_destroyed: 'Datos guardados: el usuario ya no es cargo público'
|
official_destroyed: "Datos guardados: el usuario ya no es cargo público"
|
||||||
moderators:
|
moderators:
|
||||||
index:
|
index:
|
||||||
title: Moderadores
|
title: "Moderadores"
|
||||||
search:
|
search:
|
||||||
email_placeholder: 'Buscar usuario por email'
|
email_placeholder: "Buscar usuario por email"
|
||||||
search: Buscar
|
search: "Buscar"
|
||||||
user_not_found: 'Usuario no encontrado'
|
user_not_found: "Usuario no encontrado"
|
||||||
moderator:
|
moderator:
|
||||||
delete: Borrar
|
delete: "Borrar"
|
||||||
add: Añadir
|
add: "Añadir"
|
||||||
activity:
|
activity:
|
||||||
show:
|
show:
|
||||||
title: Actividad de los Moderadores
|
title: "Actividad de los Moderadores"
|
||||||
action: 'Acción'
|
action: "Acción"
|
||||||
by: Moderado por
|
by: "Moderado por"
|
||||||
type: Tipo
|
type: "Tipo"
|
||||||
filter: Mostrar
|
filter: "Mostrar"
|
||||||
filters:
|
filters:
|
||||||
all: Todo
|
all: "Todo"
|
||||||
on_proposals: Propuestas
|
on_proposals: "Propuestas"
|
||||||
on_debates: Debates
|
on_debates: "Debates"
|
||||||
on_comments: Comentarios
|
on_comments: "Comentarios"
|
||||||
on_users: Usuarios
|
on_users: "Usuarios"
|
||||||
actions:
|
actions:
|
||||||
hide: Ocultado
|
hide: "Ocultado"
|
||||||
restore: Restaurado
|
restore: "Restaurado"
|
||||||
block: Bloqueado
|
block: "Bloqueado"
|
||||||
stats:
|
stats:
|
||||||
show:
|
show:
|
||||||
stats_title: Estadísticas
|
stats_title: "Estadísticas"
|
||||||
visits_title: Visitas
|
visits_title: "Visitas"
|
||||||
combined_title: Combinado
|
combined_title: "Combinado"
|
||||||
summary:
|
summary:
|
||||||
visits: Visitas
|
visits: "Visitas"
|
||||||
debates: Debates
|
debates: "Debates"
|
||||||
proposals: Propuestas
|
proposals: "Propuestas"
|
||||||
comments: Comentarios
|
comments: "Comentarios"
|
||||||
debate_votes: Votos en debates
|
debate_votes: "Votos en debates"
|
||||||
proposal_votes: Votos en propuestas
|
proposal_votes: "Votos en propuestas"
|
||||||
comment_votes: Votos en comentarios
|
comment_votes: "Votos en comentarios"
|
||||||
votes: Votos
|
votes: "Votos"
|
||||||
user_level_three: Usuarios de nivel tres
|
user_level_three: "Usuarios de nivel tres"
|
||||||
user_level_two: Usuarios de nivel dos
|
user_level_two: "Usuarios de nivel dos"
|
||||||
unverified_users: Usuarios sin verificar
|
unverified_users: "Usuarios sin verificar"
|
||||||
verified_users: Usuarios verificados
|
verified_users: "Usuarios verificados"
|
||||||
users: Usuarios
|
users: "Usuarios"
|
||||||
|
|||||||
76
config/locales/devise.en.yml
Normal file → Executable file
76
config/locales/devise.en.yml
Normal file → Executable file
@@ -3,58 +3,62 @@
|
|||||||
en:
|
en:
|
||||||
devise:
|
devise:
|
||||||
confirmations:
|
confirmations:
|
||||||
confirmed: "Your email address has been successfully confirmed."
|
confirmed: "Your account has been confirmed."
|
||||||
send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
|
send_instructions: "In a few minutes you will receive an email containing instructions on how to reset your password."
|
||||||
send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
|
send_paranoid_instructions: "If your email address is in our database, in a few minutes you will receive an email containing instructions on how to reset your password."
|
||||||
failure:
|
failure:
|
||||||
already_authenticated: "You are already signed in."
|
already_authenticated: "You are already signed in."
|
||||||
inactive: "Your account is not activated yet."
|
inactive: "Your account has not yet been activated."
|
||||||
invalid: "Invalid %{authentication_keys} or password."
|
invalid: "Invalid %{authentication_keys} or password."
|
||||||
locked: "Your account is locked."
|
locked: "Your account has been locked."
|
||||||
last_attempt: "You have one more attempt before your account is locked."
|
last_attempt: "You have one more attempt remaining before your account is blocked."
|
||||||
not_found_in_database: "Invalid %{authentication_keys} or password."
|
not_found_in_database: "Invalid %{authentication_keys} or password."
|
||||||
timeout: "Your session expired. Please sign in again to continue."
|
timeout: "Your session has expired. Please sign in again to continue."
|
||||||
unauthenticated: "You need to sign in or sign up before continuing."
|
unauthenticated: "You must sign in or register to continue."
|
||||||
unconfirmed: "You have to confirm your email address before continuing."
|
unconfirmed: "You must confirm your account to continue."
|
||||||
mailer:
|
mailer:
|
||||||
confirmation_instructions:
|
confirmation_instructions:
|
||||||
subject: "Confirmation instructions"
|
subject: "Confirmation instructions"
|
||||||
reset_password_instructions:
|
reset_password_instructions:
|
||||||
subject: "Reset password instructions"
|
subject: "Instructions for resetting your password"
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
subject: "Unlock instructions"
|
subject: "Unlocking instructions"
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
|
failure: "It has not been possible to authorise you as %{kind} because \"%{reason}\"."
|
||||||
success: "Successfully authenticated from %{kind} account."
|
success: "Successfully identified as %{kind}."
|
||||||
passwords:
|
passwords:
|
||||||
no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
|
no_token: "You cannot access this page except through a password reset link. If you have accessed it through a password reset link, please check that the URL is complete."
|
||||||
send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
|
send_instructions: "In a few minutes, you will receive an email containing instructions on resetting your password."
|
||||||
send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
|
send_paranoid_instructions: "If your email address is in our database, in a few minutes you will receive a link to use to reset your password."
|
||||||
updated: "Your password has been changed successfully. You are now signed in."
|
updated: "Your password has been changed successfully. Authentication successful."
|
||||||
updated_not_active: "Your password has been changed successfully."
|
updated_not_active: "Your password has been changed successfully."
|
||||||
registrations:
|
registrations:
|
||||||
destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
|
destroyed:
|
||||||
signed_up: "Welcome! You have signed up successfully."
|
"Goodbye! Your account has been cancelled. We hope to see you again soon. In accordance with your request, personal data registered as
|
||||||
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
|
a user of the site decide.madrid.es and form part of the file 'Gestión de procesos participativos' under the responsibility of the
|
||||||
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
|
Dirección General de Participación Ciudadana, they have been canceled under the terms of the provisions of Article 16 of the
|
||||||
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
|
Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal and Article 31 of its Reglamento de desarrollo (RD 1720/2007)."
|
||||||
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
|
signed_up: "Welcome! You have been authenticated."
|
||||||
|
signed_up_but_inactive: "Your registration was successful, but you could not be signed in because your account has not been activated."
|
||||||
|
signed_up_but_locked: "Your registration was successful, but you could not be signed in because your account is locked."
|
||||||
|
signed_up_but_unconfirmed: "You have been sent a message containing a verification link. Please click on this link to activate your account."
|
||||||
|
update_needs_confirmation: "Your account has been updated successfully; however, we need to verify your new email address. Please check your email and click on the link to complete the confirmation of your new email address."
|
||||||
updated: "Your account has been updated successfully."
|
updated: "Your account has been updated successfully."
|
||||||
sessions:
|
sessions:
|
||||||
signed_in: "Signed in successfully."
|
signed_in: "You have been signed in successfully."
|
||||||
signed_out: "Signed out successfully."
|
signed_out: "You have been signed out successfully."
|
||||||
already_signed_out: "Signed out successfully."
|
already_signed_out: "You have been signed out successfully."
|
||||||
unlocks:
|
unlocks:
|
||||||
send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
|
send_instructions: "In a few minutes, you will receive an email containing instructions on unlocking your account."
|
||||||
send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
|
send_paranoid_instructions: "If you have an account, in a few minutes you will receive an email containing instructions on unlocking your account."
|
||||||
unlocked: "Your account has been unlocked successfully. Please sign in to continue."
|
unlocked: "Your account has been unlocked. Please sign in to continue."
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
already_confirmed: "was already confirmed, please try signing in"
|
already_confirmed: "You have already been verified; please attempt to sign in."
|
||||||
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
|
confirmation_period_expired: "You need to be verified within %{period}; please make a repeat request."
|
||||||
expired: "has expired, please request a new one"
|
expired: "has expired; please make a repeat request."
|
||||||
not_found: "not found"
|
not_found: "not found."
|
||||||
not_locked: "was not locked"
|
not_locked: "was not locked."
|
||||||
not_saved:
|
not_saved:
|
||||||
one: "1 error prohibited this %{resource} from being saved:"
|
one: "1 error prevented this %{resource} from being saved:"
|
||||||
other: "%{count} errors prohibited this %{resource} from being saved:"
|
other: "%{count} errors prevented this %{resource} from being saved:"
|
||||||
|
|||||||
@@ -31,7 +31,11 @@ es:
|
|||||||
updated: "Tu contraseña ha cambiado correctamente. Has sido identificado correctamente."
|
updated: "Tu contraseña ha cambiado correctamente. Has sido identificado correctamente."
|
||||||
updated_not_active: "Tu contraseña se ha cambiado correctamente."
|
updated_not_active: "Tu contraseña se ha cambiado correctamente."
|
||||||
registrations:
|
registrations:
|
||||||
destroyed: "¡Adiós! Tu cuenta ha sido cancelada. Esperamos volver a verte pronto."
|
destroyed:
|
||||||
|
"¡Adiós! Tu cuenta ha sido cancelada. Esperamos volver a verte pronto. Le informamos que de conformidad con su petición,
|
||||||
|
sus datos personales registrados como usuario de la Web decide.madrid.es y que forman parte del fichero 'Gestión de procesos participativos'
|
||||||
|
cuyo responsable es la Dirección General de Participación Ciudadana, han sido cancelados en los términos de lo previsto en el artículo 16 de la
|
||||||
|
Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal y del artículo 31 de su Reglamento de desarrollo (RD 1720/2007)."
|
||||||
signed_up: "¡Bienvenido! Has sido identificado."
|
signed_up: "¡Bienvenido! Has sido identificado."
|
||||||
signed_up_but_inactive: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta no ha sido activada."
|
signed_up_but_inactive: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta no ha sido activada."
|
||||||
signed_up_but_locked: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta está bloqueada."
|
signed_up_but_locked: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta está bloqueada."
|
||||||
|
|||||||
101
config/locales/devise_views.en.yml
Normal file → Executable file
101
config/locales/devise_views.en.yml
Normal file → Executable file
@@ -2,9 +2,9 @@ en:
|
|||||||
devise_views:
|
devise_views:
|
||||||
confirmations:
|
confirmations:
|
||||||
new:
|
new:
|
||||||
title: "Resend confirmation instructions"
|
title: "Re-send confirmation instructions"
|
||||||
email_label: Email
|
email_label: "Email"
|
||||||
submit: "Resend confirmation"
|
submit: "Re-send instructions"
|
||||||
show:
|
show:
|
||||||
title: "Confirm my account"
|
title: "Confirm my account"
|
||||||
instructions_html: "Confirming the account with email %{email}"
|
instructions_html: "Confirming the account with email %{email}"
|
||||||
@@ -14,28 +14,28 @@ en:
|
|||||||
submit: "Confirm"
|
submit: "Confirm"
|
||||||
mailer:
|
mailer:
|
||||||
confirmation_instructions:
|
confirmation_instructions:
|
||||||
title: "Welcome to open government portal"
|
title: "Welcome to the Open Government Portal of the Madrid City Council"
|
||||||
welcome: "Welcome"
|
welcome: "Welcome"
|
||||||
text: "You can confirm your account email through the link below:"
|
text: "You can confirm your email account at the following link:"
|
||||||
confirm_link: "Confirm my account"
|
confirm_link: "Confirm my account"
|
||||||
reset_password_instructions:
|
reset_password_instructions:
|
||||||
hello: "Hello"
|
hello: "Hello"
|
||||||
title: Change your password
|
title: "Change your password"
|
||||||
text: "Someone has requested to change your password. You can do this through the link below:"
|
text: "We have received a request to change your password. You can do this at the following link:"
|
||||||
change_link: "Change my password"
|
change_link: "Change my password"
|
||||||
ignore_text: "If you didn't request this, please ignore this email."
|
ignore_text: "If you did not request a password change, you can ignore this email."
|
||||||
info_text: "Your password won't change until you access the link above and create a new one."
|
info_text: "Your password will not be changed unless you access the link and edit it."
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
hello: "Hello"
|
hello: "Hello"
|
||||||
title: Your account has been locked
|
title: "Your account has been locked"
|
||||||
info_text: "Your account has been locked due to an excessive number of unsuccessful sign in attempts."
|
info_text: "Your account has been blocked due to an excessive number of failed sign-in attempts."
|
||||||
instructions_text: "Click the link below to unlock your account:"
|
instructions_text: "Please click on this link to unlock your account:"
|
||||||
unlock_link: "Unlock my account"
|
unlock_link: "Unlock my account"
|
||||||
menu:
|
menu:
|
||||||
login_items:
|
login_items:
|
||||||
logout: "Logout"
|
logout: "Sign out"
|
||||||
signup: "Sign up"
|
signup: "Register"
|
||||||
login: "Log in"
|
login: "Sign in"
|
||||||
passwords:
|
passwords:
|
||||||
edit:
|
edit:
|
||||||
title: "Change your password"
|
title: "Change your password"
|
||||||
@@ -43,40 +43,40 @@ en:
|
|||||||
password_confirmation_label: "Confirm new password"
|
password_confirmation_label: "Confirm new password"
|
||||||
change_submit: "Change my password"
|
change_submit: "Change my password"
|
||||||
new:
|
new:
|
||||||
title: "Forgot your password?"
|
title: "Forgotten password?"
|
||||||
email_label: "Email"
|
email_label: "Email"
|
||||||
send_submit: "Send me reset password"
|
send_submit: "Send instructions"
|
||||||
users:
|
users:
|
||||||
registrations:
|
registrations:
|
||||||
edit:
|
edit:
|
||||||
edit: "Edit"
|
edit: "Edit"
|
||||||
email_label: "Email"
|
email_label: "Email"
|
||||||
waiting_for: "Currently waiting confirmation for:"
|
waiting_for: "Awaiting confirmation of:"
|
||||||
leave_blank: "Leave blank if you don't want to change it"
|
leave_blank: "Leave blank if you do not wish to modify"
|
||||||
password_label: "New password"
|
password_label: "New password"
|
||||||
password_confirmation_label: "Confirm new password"
|
password_confirmation_label: "Confirm new password"
|
||||||
current_password_label: "Current password"
|
current_password_label: "Current password"
|
||||||
need_current: "We need your current password to confirm your changes"
|
need_current: "We need your current password to confirm the changes"
|
||||||
update_submit: "Update"
|
update_submit: "Update"
|
||||||
back_link: "Back"
|
back_link: "Back"
|
||||||
new:
|
new:
|
||||||
title: "Sign up"
|
title: "Register"
|
||||||
username_label: "Username"
|
username_label: "Username"
|
||||||
username_note: "Username which will appear in your publications"
|
username_note: "Name that appears next to your posts"
|
||||||
email_label: "Email"
|
email_label: "Email"
|
||||||
password_label: "Password"
|
password_label: "Password"
|
||||||
password_confirmation_label: "Confirm password"
|
password_confirmation_label: "Confirm password"
|
||||||
submit: "Sign up"
|
submit: "Register"
|
||||||
organization_signup: "Do you represent an organization / group? %{signup_link}"
|
organization_signup: "Do you represent an organisation or collective? %{signup_link}"
|
||||||
organization_signup_link: "Sign up here"
|
organization_signup_link: "Sign up here"
|
||||||
terms: "To sign up in this site your accept the %{terms}"
|
terms: "By registering you accept the %{terms}"
|
||||||
terms_link: "terms of use"
|
terms_link: "terms and conditions of use"
|
||||||
success:
|
success:
|
||||||
title: "Review your email inbox"
|
title: "Modify your email"
|
||||||
thank_you_html: "Thank you for registering. Now you must <b>confirm your email account</b>."
|
thank_you_html: "Thank you for registering for the website. You must now <b>confirm your email address</b>."
|
||||||
instructions_1_html: "Please <b>review your email inbox</b> - we have sent you a <b>link to confirm your account</b>."
|
instructions_1_html: "Please <b>check your email</b> - we have sent you a <b>link to confirm your account</b>."
|
||||||
instructions_2_html: "Once you click that link, you will be able to start participating"
|
instructions_2_html: "Once confirmed, you may begin participation."
|
||||||
back_to_index: "Understood, take me back to the home page"
|
back_to_index: "I understand; go back to main page"
|
||||||
delete_form:
|
delete_form:
|
||||||
title: "Erase account"
|
title: "Erase account"
|
||||||
info: "This action can not be undone. Please make sure this is what you want."
|
info: "This action can not be undone. Please make sure this is what you want."
|
||||||
@@ -86,41 +86,40 @@ en:
|
|||||||
organizations:
|
organizations:
|
||||||
registrations:
|
registrations:
|
||||||
new:
|
new:
|
||||||
title: "Sign up as organization / collective"
|
title: "Register as an organisation or collective"
|
||||||
organization_name_label: "Organization name"
|
organization_name_label: "Name of organisation"
|
||||||
responsible_name_label: "Name and surname of the person in charge"
|
responsible_name_label: "Full name of the person responsible for the collective"
|
||||||
responsible_name_note: "The responsible representative of the organization"
|
responsible_name_note: "This would be the person representing the association/collective in whose name the proposals are presented"
|
||||||
email_label: "Email"
|
email_label: "Email"
|
||||||
password_label: "Password"
|
password_label: "Password"
|
||||||
phone_number_label: "Phone number"
|
phone_number_label: "Phone number"
|
||||||
password_confirmation_label: "Confirm password"
|
password_confirmation_label: "Confirm password"
|
||||||
submit: "Sign up"
|
submit: "Register"
|
||||||
success:
|
success:
|
||||||
title: "Registration of organization / collective"
|
title: "Registration of organisation / collective"
|
||||||
thank_you_html: "Thank you for registering your organization or collective in the website. Now is <b>pending verification</b>."
|
thank_you_html: "Thank you for registering your collective on the website. It is now <b>pending verification</b>."
|
||||||
instructions_1_html: "We will <b>contact you soon</b> in order to verify that you represent your collective."
|
instructions_1_html: "<b>We will contact you soon</b> to verify that you do in fact represent this collective."
|
||||||
instructions_2_html: "Meanwhile, <b>review your email</b>. We have sent you a <b>confirmation link to activate your account</b>."
|
instructions_2_html: "While your <b>email is reviewed</b>, we have sent you a <b>link to confirm your account</b>."
|
||||||
instructions_3_html: "When you confirm your account will then be able to participate as a non-verified organization."
|
instructions_3_html: "Once confirmed, you may begin to participate as an unverified collective."
|
||||||
back_to_index: "Understood, take me back to the home page"
|
back_to_index: "I understand; go back to main page"
|
||||||
sessions:
|
sessions:
|
||||||
new:
|
new:
|
||||||
title: "Log in"
|
title: "Sign in"
|
||||||
email_label: "Email"
|
email_label: "Email"
|
||||||
password_label: "Password"
|
password_label: "Password"
|
||||||
remember_me: "Remember me"
|
remember_me: "Remember me"
|
||||||
submit: "Log in"
|
submit: "Enter"
|
||||||
unlocks:
|
unlocks:
|
||||||
new:
|
new:
|
||||||
title: "Resend unlock instructions"
|
title: "Re-sent unlocking instructions"
|
||||||
email_label: "Email"
|
email_label: "Email"
|
||||||
submit: "Resend unlock instructions"
|
submit: "Re-send unlocking instructions"
|
||||||
shared:
|
shared:
|
||||||
links:
|
links:
|
||||||
login: "Log in"
|
login: "Enter"
|
||||||
signup: "Don't have an account? %{signup_link}"
|
signup: "Don't have an account? %{signup_link}"
|
||||||
signup_link: "Sign up"
|
signup_link: "Sign up"
|
||||||
#organization_signup: "Sign up as an organization / collective"
|
|
||||||
signin_with_provider: "Sign in with %{provider}"
|
signin_with_provider: "Sign in with %{provider}"
|
||||||
new_password: "Forgot your password?"
|
new_password: "Forgotten your password?"
|
||||||
new_confirmation: "Didn't receive confirmation instructions?"
|
new_confirmation: "Haven't received instructions to activate your account?"
|
||||||
new_unlock: "Didn't receive unlock instructions?"
|
new_unlock: "Haven't received unlocking instructions?"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ es:
|
|||||||
confirmations:
|
confirmations:
|
||||||
new:
|
new:
|
||||||
title: "Reenviar instrucciones de confirmación"
|
title: "Reenviar instrucciones de confirmación"
|
||||||
email_label: Email
|
email_label: "Email"
|
||||||
submit: "Reenviar instrucciones"
|
submit: "Reenviar instrucciones"
|
||||||
show:
|
show:
|
||||||
title: "Confirmar mi cuenta"
|
title: "Confirmar mi cuenta"
|
||||||
@@ -27,7 +27,7 @@ es:
|
|||||||
info_text: "Tu contraseña no cambiará hasta que no accedas al enlace y la modifiques."
|
info_text: "Tu contraseña no cambiará hasta que no accedas al enlace y la modifiques."
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
hello: "Hola"
|
hello: "Hola"
|
||||||
title: Tu cuenta ha sido bloqueada
|
title: "Tu cuenta ha sido bloqueada"
|
||||||
info_text: "Tu cuenta ha sido bloqueada debido a un excesivo número de intentos fallidos de alta."
|
info_text: "Tu cuenta ha sido bloqueada debido a un excesivo número de intentos fallidos de alta."
|
||||||
instructions_text: "Sigue el siguiente enlace para desbloquear tu cuenta:"
|
instructions_text: "Sigue el siguiente enlace para desbloquear tu cuenta:"
|
||||||
unlock_link: "Desbloquear mi cuenta"
|
unlock_link: "Desbloquear mi cuenta"
|
||||||
@@ -119,7 +119,6 @@ es:
|
|||||||
login: "Entrar"
|
login: "Entrar"
|
||||||
signup: "¿No tienes una cuenta? %{signup_link}"
|
signup: "¿No tienes una cuenta? %{signup_link}"
|
||||||
signup_link: "Regístrate"
|
signup_link: "Regístrate"
|
||||||
#organization_signup: "Registro para organizaciones / colectivos"
|
|
||||||
signin_with_provider: "Entrar con %{provider}"
|
signin_with_provider: "Entrar con %{provider}"
|
||||||
new_password: "¿Olvidaste tu contraseña?"
|
new_password: "¿Olvidaste tu contraseña?"
|
||||||
new_confirmation: "¿No has recibido instrucciones para confirmar tu cuenta?"
|
new_confirmation: "¿No has recibido instrucciones para confirmar tu cuenta?"
|
||||||
|
|||||||
428
config/locales/en.yml
Normal file → Executable file
428
config/locales/en.yml
Normal file → Executable file
@@ -1,58 +1,58 @@
|
|||||||
en:
|
en:
|
||||||
locale: English
|
locale: "English"
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
user_not_found: "User not found"
|
user_not_found: "User not found"
|
||||||
layouts:
|
layouts:
|
||||||
header:
|
header:
|
||||||
logo: "Madrid"
|
logo: "Madrid"
|
||||||
external_link_transparency: Transparency
|
external_link_transparency: "Transparency"
|
||||||
external_link_transparency_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Transparencia?vgnextfmt=default&vgnextchannel=20fd850769797310VgnVCM2000000c205a0aRCRD"
|
external_link_transparency_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Transparencia?vgnextfmt=default&vgnextchannel=20fd850769797310VgnVCM2000000c205a0aRCRD"
|
||||||
external_link_opendata: Open data
|
external_link_opendata: "Open data"
|
||||||
external_link_opendata_url: "http://datos.madrid.es"
|
external_link_opendata_url: "http://datos.madrid.es"
|
||||||
external_link_blog: Blog
|
external_link_blog: "Blog"
|
||||||
external_link_blog_url: "/blog"
|
external_link_blog_url: "/blog"
|
||||||
open_gov: "%{open} government"
|
open_gov: "%{open} government"
|
||||||
open: "Open"
|
open: "open"
|
||||||
participation: "Participation"
|
participation: "Participation"
|
||||||
transparency: "Transparency"
|
transparency: "Transparency"
|
||||||
open_data: "Open data"
|
open_data: "Open data"
|
||||||
open_city_title: "The city you want, it will be the city you want."
|
open_city_title: "Love the city, and it will become a city you love."
|
||||||
open_city_slogan_html:
|
open_city_slogan_html:
|
||||||
"Start listening to Madrid.
|
"There are cities that are governed directly by their inhabitants, who <b>discuss</b> the topics they are concerned about, <b>propose</b> ideas to improve
|
||||||
For that we open this digital Puerta del Sol, where all the locals can meet to discuss and share everything we want."
|
their lives and <b>decide</b> among themselves which ones will be carried out. Madrid is already one of these cities."
|
||||||
see_all: "See proposals"
|
see_all: "See proposals"
|
||||||
my_account_link: My account
|
my_account_link: "My account"
|
||||||
locale: "Language:"
|
locale: "Language:"
|
||||||
administration: Administration
|
administration: "Administration"
|
||||||
moderation: Moderation
|
moderation: "Moderation"
|
||||||
highlights: "Highlights"
|
# highlights: "Highlights"
|
||||||
more_information: "More information"
|
more_information: "More information"
|
||||||
debates: Debates
|
debates: "Debates"
|
||||||
proposals: Proposals
|
proposals: "Citizen proposals"
|
||||||
footer:
|
footer:
|
||||||
description: "This portal use %{consul}, is %{open_source}. Madrid, for the whole world."
|
description: "This portal uses the %{consul} which is %{open_source}. From Madrid out into the world."
|
||||||
open_source: "software libre"
|
open_source: "open-source software"
|
||||||
open_source_url: "http://www.gnu.org/licenses/agpl-3.0.html"
|
open_source_url: "http://www.gnu.org/licenses/agpl-3.0.html"
|
||||||
consul: "Consul application"
|
consul: "Consul application"
|
||||||
consul_url: "https://github.com/ayuntamientomadrid"
|
consul_url: "https://github.com/ayuntamientomadrid"
|
||||||
copyright: "Ayuntamiento de Madrid, %{year}"
|
copyright: "Ayuntamiento de Madrid, %{year}"
|
||||||
participation_title: "Participation"
|
participation_title: "Participation"
|
||||||
participation_text: Decide what should be the city of Madrid you want.
|
participation_text: "Decide how to shape the Madrid you want to live in."
|
||||||
transparency_title: Transparency
|
transparency_title: "Transparency"
|
||||||
transparency_text: Get any information on the City of Madrid.
|
transparency_text: "Find out anything about the Madrid City Council."
|
||||||
open_data_title: Open Data
|
open_data_title: "Open data"
|
||||||
open_data_text: "All City Council data are yours."
|
open_data_text: "Every detail about the City Council is yours to access."
|
||||||
contact_us: "For technical support contact us"
|
contact_us: "Contact us at"
|
||||||
privacy: "Privacy Policy"
|
privacy: "Privacy Policy"
|
||||||
conditions: "Terms of use"
|
conditions: "Terms and conditions of use"
|
||||||
more_info: "More information"
|
more_info: "More information"
|
||||||
accessibility: "Accessibility"
|
accessibility: "Accessibility"
|
||||||
application:
|
application:
|
||||||
ie_title: "This site is not optimized for your browser"
|
ie_title: "This website is not optimised for your browser"
|
||||||
ie:
|
ie:
|
||||||
"You are using Internet Explorer.
|
"We have detected that you are browsing with Internet Explorer.
|
||||||
For a better experience we recommend use %{chrome} or %{firefox}."
|
For an enhanced experience, we recommend using %{chrome} or %{firefox}."
|
||||||
chrome: "Google Chrome"
|
chrome: "Google Chrome"
|
||||||
firefox: "Firefox"
|
firefox: "Firefox"
|
||||||
social:
|
social:
|
||||||
@@ -61,89 +61,86 @@ en:
|
|||||||
blog: "Blog"
|
blog: "Blog"
|
||||||
youtube: "YouTube"
|
youtube: "YouTube"
|
||||||
form:
|
form:
|
||||||
error: error
|
error: "error"
|
||||||
errors: errors
|
errors: "errors"
|
||||||
not_saved: "prohibited this %{resource} from being saved:"
|
not_saved: "prevented this %{resource} from being saved:"
|
||||||
accept_terms: "I accept the %{policy} and the %{conditions}"
|
accept_terms: "I agree to the %{policy} and the %{conditions}"
|
||||||
policy: "Privacy policy"
|
policy: "Privacy Policy"
|
||||||
conditions: "Terms of use"
|
conditions: "Terms and conditions of use"
|
||||||
user: account
|
user: "Account"
|
||||||
debate: debate
|
debate: "Debate"
|
||||||
proposal: proposal
|
proposal: "Proposal"
|
||||||
verification::sms: phone
|
verification::sms: "Telephone"
|
||||||
verification::letter: verification
|
verification::letter: "the verification"
|
||||||
application:
|
application:
|
||||||
alert:
|
|
||||||
only_beta_testers: "Sorry only Beta Testers are allowed access at the moment"
|
|
||||||
close: "Close"
|
close: "Close"
|
||||||
menu: "Menu"
|
menu: "Menu"
|
||||||
debates:
|
debates:
|
||||||
index:
|
index:
|
||||||
title: Debates
|
title: "Debates"
|
||||||
start_debate: Start a debate
|
start_debate: "Start a debate"
|
||||||
select_order: Order by
|
select_order: "Order by"
|
||||||
select_order_long: Order debates by
|
select_order_long: "You are viewing debates according to:"
|
||||||
orders:
|
orders:
|
||||||
confidence_score: best rated
|
confidence_score: "highest rated"
|
||||||
hot_score: most active
|
hot_score: "most active"
|
||||||
created_at: newest
|
created_at: "newest"
|
||||||
most_commented: most commented
|
most_commented: "most commented"
|
||||||
random: random
|
random: "random"
|
||||||
filter_topic:
|
filter_topic:
|
||||||
one: " with the topic '%{topic}'"
|
one: " with topic '%{topic}'"
|
||||||
other: " with the topic '%{topic}'"
|
other: " with topic '%{topic}'"
|
||||||
search_form:
|
search_form:
|
||||||
title: Search
|
title: "Search"
|
||||||
button: Search
|
button: "Search"
|
||||||
placeholder: "Search debates..."
|
placeholder: "Search debates..."
|
||||||
search_results:
|
search_results:
|
||||||
one: " containing '%{search_term}'"
|
one: " containing the term '%{search_term}'"
|
||||||
other: " containing '%{search_term}'"
|
other: " containing the term '%{search_term}'"
|
||||||
debate:
|
debate:
|
||||||
debate: Debate
|
debate: "Debate"
|
||||||
comments:
|
comments:
|
||||||
zero: No comments
|
zero: "No comments"
|
||||||
one: 1 Comment
|
one: "1 comment"
|
||||||
other: "%{count} Comments"
|
other: "%{count} comments"
|
||||||
votes:
|
votes:
|
||||||
zero: No votes
|
zero: "No votes"
|
||||||
one: 1 vote
|
one: "1 vote"
|
||||||
other: "%{count} votes"
|
other: "%{count} votes"
|
||||||
form:
|
form:
|
||||||
debate_title: Debate title
|
debate_title: "Debate title"
|
||||||
debate_text: Initial text for debate
|
debate_text: "Initial debate text"
|
||||||
tags_label: Topics
|
tags_label: "Topics"
|
||||||
tags_instructions: >
|
tags_instructions: "Tag this debate. You can choose from our suggestions or enter your own."
|
||||||
Tag this debate. You can choose among our proposals on the list or add any other topic you want.
|
tags_placeholder: "Enter the tags you would like to use, separated by commas (',')"
|
||||||
tags_placeholder: "Add topics writing them separated by ','"
|
|
||||||
show:
|
show:
|
||||||
back_link: Back
|
back_link: "Go back"
|
||||||
author_deleted: Deleted user
|
author_deleted: "User deleted"
|
||||||
comments_title: Comments
|
comments_title: "Comments"
|
||||||
comments:
|
comments:
|
||||||
zero: No comments
|
zero: "No comments"
|
||||||
one: 1 Comment
|
one: "1 comment"
|
||||||
other: "%{count} Comments"
|
other: "%{count} comments"
|
||||||
login_to_comment: "You need to %{signin} or %{signup} to comment."
|
login_to_comment: "You must %{signin} or %{signup} to leave a comment."
|
||||||
edit_debate_link: "Edit debate"
|
edit_debate_link: "Edit"
|
||||||
share: Share
|
share: "Share"
|
||||||
flag: "This debate has been flag as innapropiate for some users."
|
flag: "This debate has been flagged as inappropriate by several users."
|
||||||
edit:
|
edit:
|
||||||
editing: Edit debate
|
editing: "Edit debate"
|
||||||
show_link: Show debate
|
show_link: "View debate"
|
||||||
back_link: Back
|
back_link: "Go back"
|
||||||
form:
|
form:
|
||||||
submit_button: "Save changes"
|
submit_button: "Save changes"
|
||||||
new:
|
new:
|
||||||
start_new: Start a debate
|
start_new: "Start a debate"
|
||||||
info: "A debate is a discussion forum, not a proposal. And soon... we opened the section of citizen proposals."
|
info: "A debate is a discussion forum, not a citizen proposal. Very soon we will be opening the citizen proposal section, where anyone will be able to present a proposal which, if they receive support, will be implemented by the City Council."
|
||||||
more_info: "More info"
|
more_info: "More information"
|
||||||
back_link: Back
|
back_link: "Go back"
|
||||||
recommendations_title: Tips for creating a debate
|
recommendations_title: "Recommendations for creating a debate"
|
||||||
recommendation_one: "Do not write the title of the debate or whole sentences in capital. On the Internet this is considered shouting. And nobody likes to scream."
|
recommendation_one: "Do not use capital letters for the debate title or for whole sentences. On the internet, this is considered shouting. And nobody likes being shouted at."
|
||||||
recommendation_two: "Any discussion or comment that involves an illegal act will be eliminated, also intending to sabotage the debate spaces, everything else is permitted."
|
recommendation_two: "Any debate or comment suggesting illegal action will be deleted, as well as those intending to sabotage the debate spaces. Anything else is allowed."
|
||||||
recommendation_three: "The harsh criticism are very welcome. This is a space of thought but we recommend preserving the elegance and intelligence. The world is better with them present."
|
recommendation_three: "Ruthless criticism is very welcome. This is a space for reflection. But we recommend that you stick to elegance and intelligence. The world is a better place with these virtues in it."
|
||||||
recommendation_four: "Enjoy this space, voices that fill it, it is yours too."
|
recommendation_four: "Enjoy this space and the voices that fill it. It belongs to you too."
|
||||||
form:
|
form:
|
||||||
submit_button: "Start a debate"
|
submit_button: "Start a debate"
|
||||||
create:
|
create:
|
||||||
@@ -154,91 +151,90 @@ en:
|
|||||||
submit_button: "Save changes"
|
submit_button: "Save changes"
|
||||||
proposals:
|
proposals:
|
||||||
index:
|
index:
|
||||||
title: Proposals
|
title: "Proposals"
|
||||||
featured_proposals_html: "Featured<br>proposals"
|
featured_proposals_html: "Featured<br>proposals"
|
||||||
start_proposal: Start a proposal
|
start_proposal: "Create a proposal"
|
||||||
select_order: Order by
|
select_order: "Order by"
|
||||||
select_order_long: Order proposals by
|
select_order_long: "You are viewing proposals according to:"
|
||||||
orders:
|
orders:
|
||||||
confidence_score: "most supported"
|
confidence_score: "highest rated"
|
||||||
hot_score: "most active today"
|
hot_score: "most active"
|
||||||
created_at: newest
|
created_at: "newest"
|
||||||
most_commented: most commented
|
most_commented: "most commented"
|
||||||
random: random
|
random: "random"
|
||||||
filter_topic:
|
filter_topic:
|
||||||
one: " with the topic '%{topic}'"
|
one: " with topic '%{topic}'"
|
||||||
other: " with the topic '%{topic}'"
|
other: " with topic '%{topic}'"
|
||||||
search_form:
|
search_form:
|
||||||
title: Search
|
title: "Search"
|
||||||
button: Search
|
button: "Search"
|
||||||
placeholder: "Search proposals..."
|
placeholder: "Search citizen proposals..."
|
||||||
search_results:
|
search_results:
|
||||||
one: " containing '%{search_term}'"
|
one: " containing the term '%{search_term}'"
|
||||||
other: " containing '%{search_term}'"
|
other: " containing the term '%{search_term}'"
|
||||||
proposal:
|
proposal:
|
||||||
proposal: Proposal
|
proposal: "Proposal"
|
||||||
support: "Support"
|
support: "Support"
|
||||||
support_title: "Support this proposal"
|
support_title: "Support this proposal"
|
||||||
comments:
|
comments:
|
||||||
zero: No comments
|
zero: "No comments"
|
||||||
one: 1 Comment
|
one: "1 comment"
|
||||||
other: "%{count} Comments"
|
other: "%{count} comments"
|
||||||
supports:
|
supports:
|
||||||
zero: No supports
|
zero: "No supports"
|
||||||
one: 1 support
|
one: "1 support"
|
||||||
other: "%{count} supports"
|
other: "%{count} supports"
|
||||||
supports_necessary: "53.726 necessary supports"
|
supports_necessary: "53,726 supports needed"
|
||||||
census_percent: "2% of census"
|
census_percent: "2% of Census"
|
||||||
total_percent: "100%"
|
total_percent: "100%"
|
||||||
already_supported: "You already supported this proposal, share it!"
|
already_supported: "You have already supported this proposal. Share it!"
|
||||||
form:
|
form:
|
||||||
proposal_title: Proposal title
|
proposal_title: "Proposal title"
|
||||||
proposal_question: Proposal question
|
proposal_question: "Proposal question"
|
||||||
proposal_question_example_html: "Debe ser resumida en una pregunta cuya respuesta sea Sí o No. <em>Ej. '¿Está usted de acuerdo en peatonalizar la calle Mayor?'</em>"
|
proposal_question_example_html: "Must be summarised in one question with a Yes or No answer. <em>E.g. 'Do you agree with the pedestrianisation of Calle Mayor?'</em>"
|
||||||
proposal_text: Initial text for proposal
|
|
||||||
proposal_external_url: Link to additional documentation
|
|
||||||
proposal_video_url: "Enlace a vídeo externo"
|
|
||||||
proposal_video_url_note: "Puedes añadir un enlace a YouTube o Vimeo"
|
|
||||||
proposal_summary: "Proposal summary"
|
proposal_summary: "Proposal summary"
|
||||||
proposal_summary_note: "200 chars. maximum"
|
proposal_summary_note: "(maximum 200 characters)"
|
||||||
proposal_responsible_name: "First and last name of the person making this proposal"
|
proposal_text: "Proposal text"
|
||||||
proposal_responsible_name_note: "(individualmente o como representante de un colectivo; no se mostrará públicamente)"
|
proposal_external_url: "Link to additional documentation"
|
||||||
tags_label: Topics
|
proposal_video_url: "Link to external video"
|
||||||
tags_instructions: >
|
proposal_video_url_note: "You may add a link to YouTube or Vimeo"
|
||||||
Tag this proposal. You can choose among our proposals on the list or add any other topic you want.
|
proposal_responsible_name: "Full name of the person submitting the proposal"
|
||||||
tags_placeholder: "Add topics writing them separated by ','"
|
proposal_responsible_name_note: "(individually or as representative of a collective; will not be displayed publically)"
|
||||||
|
tags_label: "Tags"
|
||||||
|
tags_instructions: "Tag this proposal. You can choose from our tags or add your own."
|
||||||
|
tags_placeholder: "Enter the tags you would like to use, separated by commas (',')"
|
||||||
show:
|
show:
|
||||||
back_link: Back
|
back_link: "Go back"
|
||||||
author_deleted: Deleted user
|
author_deleted: "User deleted"
|
||||||
code: "Proposal code:"
|
code: "Proposal code:"
|
||||||
comments_title: Comments
|
comments_title: "Comments"
|
||||||
comments:
|
comments:
|
||||||
zero: No comments
|
zero: "No comments"
|
||||||
one: 1 Comment
|
one: "1 comment"
|
||||||
other: "%{count} Comments"
|
other: "%{count} comments"
|
||||||
login_to_comment: "You need to %{signin} or %{signup} to comment."
|
login_to_comment: "You must %{signin} or %{signup} to leave a comment."
|
||||||
edit_proposal_link: "Edit proposal"
|
edit_proposal_link: "Edit"
|
||||||
share: Share
|
share: "Share"
|
||||||
flag: "This proposal has been flag as innapropiate for some users."
|
flag: "This proposal has been flagged as inappropriate by several users."
|
||||||
edit:
|
edit:
|
||||||
editing: Edit proposal
|
editing: "Edit proposal"
|
||||||
show_link: Show proposal
|
show_link: "View proposal"
|
||||||
back_link: Back
|
back_link: "Go back"
|
||||||
form:
|
form:
|
||||||
submit_button: "Save changes"
|
submit_button: "Save changes"
|
||||||
new:
|
new:
|
||||||
start_new: Start a proposal
|
start_new: "Create new proposal"
|
||||||
more_info: "¿Cómo funcionan las propuestas ciudadanas?"
|
more_info: "How do citizen proposals work?"
|
||||||
back_link: Back
|
back_link: "Go back"
|
||||||
recommendations_title: Tips for creating a proposal
|
recommendations_title: "Recommendations for creating a proposal"
|
||||||
recommendation_one: "Do not write the title of the proposal or whole sentences in capital. On the Internet this is considered shouting. And nobody likes to scream."
|
recommendation_one: "Do not use capital letters for the proposal title or for whole sentences. On the internet, this is considered shouting. And nobody likes being shouted at."
|
||||||
recommendation_two: "Any discussion or comment that involves an illegal act will be eliminated, also intending to sabotage the proposal spaces, everything else is permitted."
|
recommendation_two: "Any proposal or comment suggesting illegal action will be deleted, as well as those intending to sabotage the debate spaces. Anything else is allowed."
|
||||||
recommendation_three: "Enjoy this space, voices that fill it, it is yours too."
|
recommendation_three: "Enjoy this space and the voices that fill it. It belongs to you too."
|
||||||
form:
|
form:
|
||||||
submit_button: "Start a proposal"
|
submit_button: "Create proposal"
|
||||||
create:
|
create:
|
||||||
form:
|
form:
|
||||||
submit_button: "Start a proposal"
|
submit_button: "Create proposal"
|
||||||
update:
|
update:
|
||||||
form:
|
form:
|
||||||
submit_button: "Save changes"
|
submit_button: "Save changes"
|
||||||
@@ -248,56 +244,56 @@ en:
|
|||||||
confidence_score: "Most voted"
|
confidence_score: "Most voted"
|
||||||
created_at: "Newest"
|
created_at: "Newest"
|
||||||
form:
|
form:
|
||||||
leave_comment: Write a comment
|
leave_comment: "Leave your comment"
|
||||||
comment_as_moderator: Comment as moderator
|
comment_as_moderator: "Comment as moderator"
|
||||||
comment_as_admin: Comment as administrator
|
comment_as_admin: "Comment as admin"
|
||||||
comment:
|
comment:
|
||||||
author: Author
|
author: "Author"
|
||||||
moderator: Moderator
|
moderator: "Moderator"
|
||||||
admin: Administrator
|
admin: "Administrator"
|
||||||
deleted: This comment has been deleted
|
deleted: "This comment has been deleted"
|
||||||
user_deleted: Deleted user
|
user_deleted: "User deleted"
|
||||||
responses:
|
responses:
|
||||||
zero: No Responses
|
zero: "No responses"
|
||||||
one: 1 Response
|
one: "1 response"
|
||||||
other: "%{count} Responses"
|
other: "%{count} responses"
|
||||||
votes:
|
votes:
|
||||||
zero: No votes
|
zero: "No votes"
|
||||||
one: 1 vote
|
one: "1 vote"
|
||||||
other: "%{count} votes"
|
other: "%{count} votes"
|
||||||
comments_helper:
|
comments_helper:
|
||||||
comment_link: Comment
|
comment_link: "Comment"
|
||||||
comment_button: Publish comment
|
comment_button: "Publish comment"
|
||||||
reply_link: Reply
|
reply_link: "Reply"
|
||||||
reply_button: Publish reply
|
reply_button: "Publish reply"
|
||||||
votes:
|
votes:
|
||||||
agree: I agree
|
agree: "I agree"
|
||||||
disagree: I disagree
|
disagree: "I disagree"
|
||||||
supports: Supports
|
supports: "Supports"
|
||||||
unauthenticated: "You need to %{signin} or %{signup} before continuing."
|
unauthenticated: "You must %{signin} or %{signup} to continue."
|
||||||
signin: sign in
|
signin: "Sign in"
|
||||||
signup: sign up
|
signup: "Sign up"
|
||||||
anonymous: "Too many anonymous votes, %{verify_account} to vote."
|
anonymous: "Too many anonymous votes to admit vote %{verify_account}."
|
||||||
verified_only: "Proposals can only be voted by verified users, %{verify_account}."
|
verified_only: "Only verified users can vote on proposals; %{verify_account}."
|
||||||
verify_account: verify your account
|
verify_account: "verify your account"
|
||||||
organizations: Organizations can not vote
|
organizations: "Organisations are not permitted to vote"
|
||||||
account:
|
account:
|
||||||
show:
|
show:
|
||||||
title: "My account"
|
title: "My account"
|
||||||
save_changes_submit: "Save changes"
|
save_changes_submit: "Save changes"
|
||||||
change_credentials_link: "Change my credentials"
|
change_credentials_link: "Change my credentials"
|
||||||
email_on_comment_label: "Receive email when someone comments on my debates or proposals"
|
email_on_comment_label: "Notify me by email when someone comments on my proposals or debates"
|
||||||
email_on_comment_reply_label: "Receive email when someone replies to my comments"
|
email_on_comment_reply_label: "Notify me by email when someone replies to my comments"
|
||||||
erase_account_link: "Erase my account"
|
erase_account_link: "Erase my account"
|
||||||
personal: "Personal data"
|
personal: "Personal details"
|
||||||
username_label: "Username"
|
username_label: "Username"
|
||||||
phone_number_label: "Phone number"
|
phone_number_label: "Phone number"
|
||||||
organization_name_label: "Organization name"
|
organization_name_label: "Name of organisation"
|
||||||
organization_responsible_name_placeholder: "The responsible representative of the organization"
|
organization_responsible_name_placeholder: "Representative of the organisation/collective"
|
||||||
notifications: Notifications
|
notifications: "Notifications"
|
||||||
finish_verification: "Finish verification"
|
finish_verification: "Complete verification"
|
||||||
verified_account: Verified account
|
verified_account: "Account verified"
|
||||||
verify_my_account: Verify my account
|
verify_my_account: "Verify my account"
|
||||||
user_permission_title: "Participation"
|
user_permission_title: "Participation"
|
||||||
user_permission_info: "With your account you can..."
|
user_permission_info: "With your account you can..."
|
||||||
user_permission_debates: "Participate on debates"
|
user_permission_debates: "Participate on debates"
|
||||||
@@ -307,45 +303,45 @@ en:
|
|||||||
user_permission_verify: "To perform all the actions verify your account."
|
user_permission_verify: "To perform all the actions verify your account."
|
||||||
user_permission_verify_info: "* Only for users on Madrid City Census."
|
user_permission_verify_info: "* Only for users on Madrid City Census."
|
||||||
simple_captcha:
|
simple_captcha:
|
||||||
placeholder: "Enter the image value"
|
placeholder: "Enter the text from the image"
|
||||||
label: "Enter the image value in the next form"
|
label: "Enter the text from the image in the box below"
|
||||||
refresh_button_text: "Refresh"
|
refresh_button_text: "Refresh"
|
||||||
message:
|
message:
|
||||||
user: "secret code did not match with the image"
|
user: "the secret code does not match the image"
|
||||||
debate: "secret code did not match with the image"
|
debate: "the secret code does not match the image"
|
||||||
proposal: "secret code did not match with the image"
|
proposal: "the secret code does not match the image"
|
||||||
shared:
|
shared:
|
||||||
author_info:
|
author_info:
|
||||||
author_deleted: Deleted user
|
author_deleted: "User deleted"
|
||||||
tags_cloud:
|
tags_cloud:
|
||||||
tags: Trend
|
tags: "Trending"
|
||||||
print:
|
print:
|
||||||
print_button: "Print this info"
|
print_button: "Print this info"
|
||||||
flag: Flag as inappropriate
|
flag: "Flag as inappropriate"
|
||||||
unflag: Undo flag
|
unflag: "Unflag"
|
||||||
collective: Collective
|
collective: "Collective"
|
||||||
check: Select
|
check: "Select"
|
||||||
check_all: All
|
check_all: "All"
|
||||||
check_none: None
|
check_none: "None"
|
||||||
unauthorized:
|
unauthorized:
|
||||||
default: "You are not authorized to access this page."
|
default: "You do not have permission to access this page."
|
||||||
manage:
|
manage:
|
||||||
all: "You are not authorized to %{action} %{subject}."
|
all: "You do not have permission to carry out the action '%{action}' on %{subject}."
|
||||||
welcome:
|
welcome:
|
||||||
highlights: "Highlights: "
|
highlights: "Highlights: "
|
||||||
signed_in_home_title: Recent activity
|
signed_in_home_title: "Recent activity"
|
||||||
debates:
|
debates:
|
||||||
title: "Debate"
|
title: "Debates"
|
||||||
description: "Meet, discuss and share what we think is important in our city."
|
description: "For meeting, discussing and sharing the things that matter to us in our city."
|
||||||
proposal:
|
proposal:
|
||||||
title: "You propose"
|
title: "You propose"
|
||||||
description: "Open to citizens proposals on the kind of city we want to live."
|
description: "Open space for citizen proposals about the kind of city we want to live in."
|
||||||
decide:
|
decide:
|
||||||
title: "You decide"
|
title: "You decide"
|
||||||
description: "Citizenship decide whether to accept or reject the most supported proposals."
|
description: "The public decides if it accepts or rejects the most supported proposals."
|
||||||
do:
|
do:
|
||||||
title: "It does"
|
title: "It gets done"
|
||||||
description: "If the proposal is accepted mostly, the City Council makes his own and done."
|
description: "If the proposal is accepted by the majority, the City Council accepts it as its own and it gets done."
|
||||||
welcome:
|
welcome:
|
||||||
title: "Participate"
|
title: "Participate"
|
||||||
go_to_index: "See proposals and debates"
|
go_to_index: "See proposals and debates"
|
||||||
@@ -353,19 +349,19 @@ en:
|
|||||||
user_permission_debates: "Participate on debates"
|
user_permission_debates: "Participate on debates"
|
||||||
user_permission_proposal: "Create new proposals"
|
user_permission_proposal: "Create new proposals"
|
||||||
user_permission_support_proposal: "Support proposals*"
|
user_permission_support_proposal: "Support proposals*"
|
||||||
user_permission_votes: "Participate on final voting*"
|
user_permission_votes: "Participate on final voting"
|
||||||
user_permission_verify: "To perform all the actions %{verify}."
|
user_permission_verify: "To perform all the actions %{verify}."
|
||||||
user_permission_verify_url: "verify your account"
|
user_permission_verify_url: "verify your account"
|
||||||
user_permission_verify_info: "* Only for users on Madrid City Census."
|
user_permission_verify_info: "* Only for users on Madrid Census."
|
||||||
omniauth:
|
omniauth:
|
||||||
finish_signup:
|
finish_signup:
|
||||||
title: Add Email
|
title: "Add your email address"
|
||||||
twitter:
|
twitter:
|
||||||
sign_in: Sign in with Twitter
|
sign_in: "Sign in with Twitter"
|
||||||
sign_up: Sign up with Twitter
|
sign_up: "Sign up with Twitter"
|
||||||
facebook:
|
facebook:
|
||||||
sign_in: Sign in with Facebook
|
sign_in: "Sign in with Facebook"
|
||||||
sign_up: Sign up with Facebook
|
sign_up: "Sign up with Facebook"
|
||||||
google_oauth2:
|
google_oauth2:
|
||||||
sign_in: Sign in with Google
|
sign_in: "Sign in with Google"
|
||||||
sign_up: Sign up with Google
|
sign_up: "Sign up with Google"
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ es:
|
|||||||
layouts:
|
layouts:
|
||||||
header:
|
header:
|
||||||
logo: "Madrid"
|
logo: "Madrid"
|
||||||
external_link_transparency: Transparencia
|
external_link_transparency: "Transparencia"
|
||||||
external_link_transparency_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Transparencia?vgnextfmt=default&vgnextchannel=20fd850769797310VgnVCM2000000c205a0aRCRD"
|
external_link_transparency_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Transparencia?vgnextfmt=default&vgnextchannel=20fd850769797310VgnVCM2000000c205a0aRCRD"
|
||||||
external_link_opendata: Datos abiertos
|
external_link_opendata: "Datos abiertos"
|
||||||
external_link_opendata_url: "http://datos.madrid.es"
|
external_link_opendata_url: "http://datos.madrid.es"
|
||||||
external_link_blog: Blog
|
external_link_blog: "Blog"
|
||||||
external_link_blog_url: "/blog"
|
external_link_blog_url: "/blog"
|
||||||
open_gov: "Gobierno %{open}"
|
open_gov: "Gobierno %{open}"
|
||||||
open: "abierto"
|
open: "abierto"
|
||||||
@@ -22,14 +22,14 @@ es:
|
|||||||
"Existen ciudades gobernadas directamente por sus habitantes, que <b>debaten</b> sobre temas que les preocupan, <b>proponen</b> ideas para mejorar
|
"Existen ciudades gobernadas directamente por sus habitantes, que <b>debaten</b> sobre temas que les preocupan, <b>proponen</b> ideas para mejorar
|
||||||
sus vidas y <b>deciden</b> entre todas y todos las que se llevan a cabo. Madrid ya es una de ellas."
|
sus vidas y <b>deciden</b> entre todas y todos las que se llevan a cabo. Madrid ya es una de ellas."
|
||||||
see_all: "Ver propuestas"
|
see_all: "Ver propuestas"
|
||||||
my_account_link: Mi cuenta
|
my_account_link: "Mi cuenta"
|
||||||
locale: "Idioma:"
|
locale: "Idioma:"
|
||||||
administration: Administrar
|
administration: "Administrar"
|
||||||
moderation: Moderar
|
moderation: "Moderar"
|
||||||
highlights: "Portada"
|
# highlights: "Portada"
|
||||||
more_information: "Más información"
|
more_information: "Más información"
|
||||||
debates: Debates
|
debates: "Debates"
|
||||||
proposals: Propuestas ciudadanas
|
proposals: "Propuestas ciudadanas"
|
||||||
footer:
|
footer:
|
||||||
description: "Este portal usa la %{consul} que es %{open_source}. De Madrid, para el mundo entero."
|
description: "Este portal usa la %{consul} que es %{open_source}. De Madrid, para el mundo entero."
|
||||||
open_source: "software libre"
|
open_source: "software libre"
|
||||||
@@ -39,9 +39,9 @@ es:
|
|||||||
copyright: "Ayuntamiento de Madrid, %{year}"
|
copyright: "Ayuntamiento de Madrid, %{year}"
|
||||||
participation_title: "Participación"
|
participation_title: "Participación"
|
||||||
participation_text: "Decide cómo debe ser la ciudad de Madrid que quieres."
|
participation_text: "Decide cómo debe ser la ciudad de Madrid que quieres."
|
||||||
transparency_title: Transparencia
|
transparency_title: "Transparencia"
|
||||||
transparency_text: "Obtén cualquier información sobre el Ayuntamiento de Madrid."
|
transparency_text: "Obtén cualquier información sobre el Ayuntamiento de Madrid."
|
||||||
open_data_title: Datos Abiertos
|
open_data_title: "Datos Abiertos"
|
||||||
open_data_text: "Todos los datos del Ayuntamiento son tuyos."
|
open_data_text: "Todos los datos del Ayuntamiento son tuyos."
|
||||||
contact_us: "Para asistencia técnica contáctenos en"
|
contact_us: "Para asistencia técnica contáctenos en"
|
||||||
privacy: "Política de privacidad"
|
privacy: "Política de privacidad"
|
||||||
@@ -61,28 +61,26 @@ es:
|
|||||||
blog: "Blog"
|
blog: "Blog"
|
||||||
youtube: "YouTube"
|
youtube: "YouTube"
|
||||||
form:
|
form:
|
||||||
error: error
|
error: "error"
|
||||||
errors: errores
|
errors: "errores"
|
||||||
not_saved: "impidieron guardar %{resource}:"
|
not_saved: "impidieron guardar %{resource}:"
|
||||||
accept_terms: "Acepto la %{policy} y las %{conditions}"
|
accept_terms: "Acepto la %{policy} y las %{conditions}"
|
||||||
policy: "Política de privacidad"
|
policy: "Política de privacidad"
|
||||||
conditions: "Condiciones de uso"
|
conditions: "Condiciones de uso"
|
||||||
user: la cuenta
|
user: "la cuenta"
|
||||||
debate: el debate
|
debate: "el debate"
|
||||||
proposal: la propuesta
|
proposal: "la propuesta"
|
||||||
verification::sms: el teléfono
|
verification::sms: "el teléfono"
|
||||||
verification::letter: la verificación
|
verification::letter: "la verificación"
|
||||||
application:
|
application:
|
||||||
alert:
|
|
||||||
only_beta_testers: "Lo sentimos sólo los usuarios de pruebas tienen acceso de momento"
|
|
||||||
close: "Cerrar"
|
close: "Cerrar"
|
||||||
menu: "Menú"
|
menu: "Menú"
|
||||||
debates:
|
debates:
|
||||||
index:
|
index:
|
||||||
title: Debates
|
title: "Debates"
|
||||||
start_debate: Empieza un debate
|
start_debate: "Empieza un debate"
|
||||||
select_order: Ordenar por
|
select_order: "Ordenar por"
|
||||||
select_order_long: Estás viendo los debates
|
select_order_long: "Estás viendo los debates"
|
||||||
orders:
|
orders:
|
||||||
confidence_score: "mejor valorados"
|
confidence_score: "mejor valorados"
|
||||||
hot_score: "más activos"
|
hot_score: "más activos"
|
||||||
@@ -93,53 +91,52 @@ es:
|
|||||||
one: " con el tema '%{topic}'"
|
one: " con el tema '%{topic}'"
|
||||||
other: " con el tema '%{topic}'"
|
other: " con el tema '%{topic}'"
|
||||||
search_form:
|
search_form:
|
||||||
title: Buscar
|
title: "Buscar"
|
||||||
button: Buscar
|
button: "Buscar"
|
||||||
placeholder: "Buscar debates..."
|
placeholder: "Buscar debates..."
|
||||||
search_results:
|
search_results:
|
||||||
one: " que contiene '%{search_term}'"
|
one: " que contiene '%{search_term}'"
|
||||||
other: " que contienen '%{search_term}'"
|
other: " que contienen '%{search_term}'"
|
||||||
debate:
|
debate:
|
||||||
debate: Debate
|
debate: "Debate"
|
||||||
comments:
|
comments:
|
||||||
zero: Sin comentarios
|
zero: "Sin comentarios"
|
||||||
one: 1 Comentario
|
one: "1 Comentario"
|
||||||
other: "%{count} Comentarios"
|
other: "%{count} Comentarios"
|
||||||
votes:
|
votes:
|
||||||
zero: Sin votos
|
zero: "Sin votos"
|
||||||
one: 1 voto
|
one: "1 voto"
|
||||||
other: "%{count} votos"
|
other: "%{count} votos"
|
||||||
form:
|
form:
|
||||||
debate_title: Título del debate
|
debate_title: "Título del debate"
|
||||||
debate_text: Texto inicial del debate
|
debate_text: "Texto inicial del debate"
|
||||||
tags_label: Temas
|
tags_label: "Temas"
|
||||||
tags_instructions: >
|
tags_instructions: "Etiqueta este debate. Puedes elegir entre nuestras propuestas o introducir las que desees."
|
||||||
Etiqueta este debate. Puedes elegir entre nuestras propuestas o introducir las que desees.
|
|
||||||
tags_placeholder: "Escribe las etiquetas que desees separadas por coma (',')"
|
tags_placeholder: "Escribe las etiquetas que desees separadas por coma (',')"
|
||||||
show:
|
show:
|
||||||
back_link: Volver
|
back_link: "Volver"
|
||||||
author_deleted: Usuario eliminado
|
author_deleted: "Usuario eliminado"
|
||||||
comments_title: Comentarios
|
comments_title: "Comentarios"
|
||||||
comments:
|
comments:
|
||||||
zero: Sin comentarios
|
zero: "Sin comentarios"
|
||||||
one: 1 Comentario
|
one: "1 Comentario"
|
||||||
other: "%{count} Comentarios"
|
other: "%{count} Comentarios"
|
||||||
login_to_comment: "Necesitas %{signin} o %{signup} para comentar."
|
login_to_comment: "Necesitas %{signin} o %{signup} para comentar."
|
||||||
edit_debate_link: "Editar debate"
|
edit_debate_link: "Editar debate"
|
||||||
share: Compartir
|
share: "Compartir"
|
||||||
flag: "Este debate ha sido marcado como inapropiado por varios usuarios."
|
flag: "Este debate ha sido marcado como inapropiado por varios usuarios."
|
||||||
edit:
|
edit:
|
||||||
editing: Editar debate
|
editing: "Editar debate"
|
||||||
show_link: Ver debate
|
show_link: "Ver debate"
|
||||||
back_link: Volver
|
back_link: "Volver"
|
||||||
form:
|
form:
|
||||||
submit_button: "Guardar cambios"
|
submit_button: "Guardar cambios"
|
||||||
new:
|
new:
|
||||||
start_new: Empezar un debate
|
start_new: "Empezar un debate"
|
||||||
info: "Un debate es un foro de discusión, no una propuesta ciudadana. Muy pronto abriremos la sección de propuestas ciudadanas, donde cualquiera podrá presentar propuestas y, si reciben apoyo, serán puestas en marcha por el Ayuntamiento."
|
info: "Un debate es un foro de discusión, no una propuesta ciudadana. Muy pronto abriremos la sección de propuestas ciudadanas, donde cualquiera podrá presentar propuestas y, si reciben apoyo, serán puestas en marcha por el Ayuntamiento."
|
||||||
more_info: "Más información"
|
more_info: "Más información"
|
||||||
back_link: Volver
|
back_link: "Volver"
|
||||||
recommendations_title: Recomendaciones para crear un debate
|
recommendations_title: "Recomendaciones para crear un debate"
|
||||||
recommendation_one: "No escribas el título del debate o frases enteras en mayúsculas. En internet eso se considera gritar. Y a nadie le gusta que le griten."
|
recommendation_one: "No escribas el título del debate o frases enteras en mayúsculas. En internet eso se considera gritar. Y a nadie le gusta que le griten."
|
||||||
recommendation_two: "Cualquier debate o comentario que implique una acción ilegal será eliminado, también los que tengan la intención de sabotear los espacios de debate, todo lo demás está permitido."
|
recommendation_two: "Cualquier debate o comentario que implique una acción ilegal será eliminado, también los que tengan la intención de sabotear los espacios de debate, todo lo demás está permitido."
|
||||||
recommendation_three: "Las críticas despiadadas son muy bienvenidas. Este es un espacio de pensamiento. Pero te recomendamos conservar la elegancia y la inteligencia. El mundo es mejor con ellas presentes."
|
recommendation_three: "Las críticas despiadadas son muy bienvenidas. Este es un espacio de pensamiento. Pero te recomendamos conservar la elegancia y la inteligencia. El mundo es mejor con ellas presentes."
|
||||||
@@ -154,11 +151,11 @@ es:
|
|||||||
submit_button: "Guardar cambios"
|
submit_button: "Guardar cambios"
|
||||||
proposals:
|
proposals:
|
||||||
index:
|
index:
|
||||||
title: Propuestas ciudadanas
|
title: "Propuestas ciudadanas"
|
||||||
featured_proposals_html: "Propuestas<br>destacadas"
|
featured_proposals_html: "Propuestas<br>destacadas"
|
||||||
start_proposal: Crea una propuesta
|
start_proposal: "Crea una propuesta"
|
||||||
select_order: Ordenar por
|
select_order: "Ordenar por"
|
||||||
select_order_long: Estás viendo las propuestas
|
select_order_long: "Estás viendo las propuestas"
|
||||||
orders:
|
orders:
|
||||||
confidence_score: "más apoyadas"
|
confidence_score: "más apoyadas"
|
||||||
hot_score: "más activas hoy"
|
hot_score: "más activas hoy"
|
||||||
@@ -169,68 +166,67 @@ es:
|
|||||||
one: " con el tema '%{topic}'"
|
one: " con el tema '%{topic}'"
|
||||||
other: " con el tema '%{topic}'"
|
other: " con el tema '%{topic}'"
|
||||||
search_form:
|
search_form:
|
||||||
title: Search
|
title: "Buscar"
|
||||||
button: Search
|
button: "Buscar"
|
||||||
placeholder: "Buscar propuestas ciudadanas..."
|
placeholder: "Buscar propuestas ciudadanas..."
|
||||||
search_results:
|
search_results:
|
||||||
one: " que contiene '%{search_term}'"
|
one: " que contiene '%{search_term}'"
|
||||||
other: " que contienen '%{search_term}'"
|
other: " que contienen '%{search_term}'"
|
||||||
proposal:
|
proposal:
|
||||||
proposal: Propuesta
|
proposal: "Propuesta"
|
||||||
support: "Apoyar"
|
support: "Apoyar"
|
||||||
support_title: "Apoyar esta propuesta"
|
support_title: "Apoyar esta propuesta"
|
||||||
comments:
|
comments:
|
||||||
zero: Sin comentarios
|
zero: "Sin comentarios"
|
||||||
one: 1 Comentario
|
one: "1 Comentario"
|
||||||
other: "%{count} Comentarios"
|
other: "%{count} Comentarios"
|
||||||
supports:
|
supports:
|
||||||
zero: Sin apoyos
|
zero: "Sin apoyos"
|
||||||
one: 1 apoyo
|
one: "1 apoyo"
|
||||||
other: "%{count} apoyos"
|
other: "%{count} apoyos"
|
||||||
supports_necessary: "53.726 apoyos necesarios"
|
supports_necessary: "53.726 apoyos necesarios"
|
||||||
census_percent: "2% del Censo"
|
census_percent: "2% del Censo"
|
||||||
total_percent: "100%"
|
total_percent: "100%"
|
||||||
already_supported: "¡Ya has apoyado esta propuesta, compártela!"
|
already_supported: "¡Ya has apoyado esta propuesta, compártela!"
|
||||||
form:
|
form:
|
||||||
proposal_title: Título de la propuesta
|
proposal_title: "Título de la propuesta"
|
||||||
proposal_question: Pregunta de la propuesta
|
proposal_question: "Pregunta de la propuesta"
|
||||||
proposal_question_example_html: "Debe ser resumida en una pregunta cuya respuesta sea Sí o No. <em>Ej. '¿Está usted de acuerdo en peatonalizar la calle Mayor?'</em>"
|
proposal_question_example_html: "Debe ser resumida en una pregunta cuya respuesta sea Sí o No. <em>Ej. '¿Está usted de acuerdo en peatonalizar la calle Mayor?'</em>"
|
||||||
proposal_summary: "Resumen de la propuesta"
|
proposal_summary: "Resumen de la propuesta"
|
||||||
proposal_summary_note: "(máximo 200 caracteres)"
|
proposal_summary_note: "(máximo 200 caracteres)"
|
||||||
proposal_text: Texto desarrollado de la propuesta
|
proposal_text: "Texto desarrollado de la propuesta"
|
||||||
proposal_external_url: Enlace a documentación adicional
|
proposal_external_url: "Enlace a documentación adicional"
|
||||||
proposal_video_url: "Enlace a vídeo externo"
|
proposal_video_url: "Enlace a vídeo externo"
|
||||||
proposal_video_url_note: "Puedes añadir un enlace a YouTube o Vimeo"
|
proposal_video_url_note: "Puedes añadir un enlace a YouTube o Vimeo"
|
||||||
proposal_responsible_name: "Nombre y apellidos de la persona que hace esta propuesta"
|
proposal_responsible_name: "Nombre y apellidos de la persona que hace esta propuesta"
|
||||||
proposal_responsible_name_note: "(individualmente o como representante de un colectivo; no se mostrará públicamente)"
|
proposal_responsible_name_note: "(individualmente o como representante de un colectivo; no se mostrará públicamente)"
|
||||||
tags_label: Temas
|
tags_label: "Temas"
|
||||||
tags_instructions: >
|
tags_instructions: "Etiqueta esta propuesta. Puedes elegir entre nuestras propuestas o introducir las que desees."
|
||||||
Etiqueta esta propuesta. Puedes elegir entre nuestras propuestas o introducir las que desees.
|
|
||||||
tags_placeholder: "Escribe las etiquetas que desees separadas por una coma (',')"
|
tags_placeholder: "Escribe las etiquetas que desees separadas por una coma (',')"
|
||||||
show:
|
show:
|
||||||
back_link: Volver
|
back_link: "Volver"
|
||||||
author_deleted: Usuario eliminado
|
author_deleted: "Usuario eliminado"
|
||||||
code: "Código de la propuesta:"
|
code: "Código de la propuesta:"
|
||||||
comments_title: Comentarios
|
comments_title: "Comentarios"
|
||||||
comments:
|
comments:
|
||||||
zero: Sin comentarios
|
zero: "Sin comentarios"
|
||||||
one: 1 Comentario
|
one: "1 Comentario"
|
||||||
other: "%{count} Comentarios"
|
other: "%{count} Comentarios"
|
||||||
login_to_comment: "Necesitas %{signin} o %{signup} para comentar."
|
login_to_comment: "Necesitas %{signin} o %{signup} para comentar."
|
||||||
edit_proposal_link: "Editar propuesta"
|
edit_proposal_link: "Editar propuesta"
|
||||||
share: Compartir
|
share: "Compartir"
|
||||||
flag: "Esta propuesta ha sido marcada como inapropiada por varios usuarios."
|
flag: "Esta propuesta ha sido marcada como inapropiada por varios usuarios."
|
||||||
edit:
|
edit:
|
||||||
editing: Editar propuesta
|
editing: "Editar propuesta"
|
||||||
show_link: Ver propuesta
|
show_link: "Ver propuesta"
|
||||||
back_link: Volver
|
back_link: "Volver"
|
||||||
form:
|
form:
|
||||||
submit_button: "Guardar cambios"
|
submit_button: "Guardar cambios"
|
||||||
new:
|
new:
|
||||||
start_new: Crear una propuesta
|
start_new: "Crear una propuesta"
|
||||||
more_info: "¿Cómo funcionan las propuestas ciudadanas?"
|
more_info: "¿Cómo funcionan las propuestas ciudadanas?"
|
||||||
back_link: Volver
|
back_link: "Volver"
|
||||||
recommendations_title: Recomendaciones para crear una propuesta
|
recommendations_title: "Recomendaciones para crear una propuesta"
|
||||||
recommendation_one: "No escribas el título de la propuesta o frases enteras en mayúsculas. En internet eso se considera gritar. Y a nadie le gusta que le griten."
|
recommendation_one: "No escribas el título de la propuesta o frases enteras en mayúsculas. En internet eso se considera gritar. Y a nadie le gusta que le griten."
|
||||||
recommendation_two: "Cualquier propuesta o comentario que implique una acción ilegal será eliminada, también las que tengan la intención de sabotear los espacios de propuesta, todo lo demás está permitido."
|
recommendation_two: "Cualquier propuesta o comentario que implique una acción ilegal será eliminada, también las que tengan la intención de sabotear los espacios de propuesta, todo lo demás está permitido."
|
||||||
recommendation_three: "Disfruta de este espacio, de las voces que lo llenan, también es tuyo."
|
recommendation_three: "Disfruta de este espacio, de las voces que lo llenan, también es tuyo."
|
||||||
@@ -248,39 +244,39 @@ es:
|
|||||||
confidence_score: "Más votados"
|
confidence_score: "Más votados"
|
||||||
created_at: "Más nuevos"
|
created_at: "Más nuevos"
|
||||||
form:
|
form:
|
||||||
leave_comment: Deja tu comentario
|
leave_comment: "Deja tu comentario"
|
||||||
comment_as_moderator: Comentar como moderador
|
comment_as_moderator: "Comentar como moderador"
|
||||||
comment_as_admin: Comentar como administrador
|
comment_as_admin: "Comentar como administrador"
|
||||||
comment:
|
comment:
|
||||||
author: Autor
|
author: "Autor"
|
||||||
moderator: Moderador
|
moderator: "Moderador"
|
||||||
admin: Administrador
|
admin: "Administrador"
|
||||||
deleted: Este comentario ha sido eliminado
|
deleted: "Este comentario ha sido eliminado"
|
||||||
user_deleted: Usuario eliminado
|
user_deleted: "Usuario eliminado"
|
||||||
responses:
|
responses:
|
||||||
zero: Sin respuestas
|
zero: "Sin respuestas"
|
||||||
one: 1 Respuesta
|
one: "1 Respuesta"
|
||||||
other: "%{count} Respuestas"
|
other: "%{count} Respuestas"
|
||||||
votes:
|
votes:
|
||||||
zero: Sin votos
|
zero: "Sin votos"
|
||||||
one: 1 voto
|
one: "1 voto"
|
||||||
other: "%{count} votos"
|
other: "%{count} votos"
|
||||||
comments_helper:
|
comments_helper:
|
||||||
comment_link: Comentar
|
comment_link: "Comentar"
|
||||||
comment_button: Publicar comentario
|
comment_button: "Publicar comentario"
|
||||||
reply_link: Responder
|
reply_link: "Responder"
|
||||||
reply_button: Publicar respuesta
|
reply_button: "Publicar respuesta"
|
||||||
votes:
|
votes:
|
||||||
agree: Estoy de acuerdo
|
agree: "Estoy de acuerdo"
|
||||||
disagree: No estoy de acuerdo
|
disagree: "No estoy de acuerdo"
|
||||||
supports: Apoyos
|
supports: "Apoyos"
|
||||||
unauthenticated: "Necesitas %{signin} o %{signup} para continuar."
|
unauthenticated: "Necesitas %{signin} o %{signup} para continuar."
|
||||||
signin: iniciar sesión
|
signin: "iniciar sesión"
|
||||||
signup: registrarte
|
signup: "registrarte"
|
||||||
anonymous: "Demasiados votos anónimos, para poder votar %{verify_account}."
|
anonymous: "Demasiados votos anónimos, para poder votar %{verify_account}."
|
||||||
verified_only: "Las propuestas sólo pueden ser votadas por usuarios verificados, %{verify_account}."
|
verified_only: "Las propuestas sólo pueden ser votadas por usuarios verificados, %{verify_account}."
|
||||||
verify_account: verifica tu cuenta
|
verify_account: "verifica tu cuenta"
|
||||||
organizations: Las organizaciones no pueden votar
|
organizations: "Las organizaciones no pueden votar"
|
||||||
account:
|
account:
|
||||||
show:
|
show:
|
||||||
title: "Mi cuenta"
|
title: "Mi cuenta"
|
||||||
@@ -294,10 +290,10 @@ es:
|
|||||||
phone_number_label: "Teléfono"
|
phone_number_label: "Teléfono"
|
||||||
organization_name_label: "Nombre de la organización"
|
organization_name_label: "Nombre de la organización"
|
||||||
organization_responsible_name_placeholder: "Representante de la asociación/colectivo"
|
organization_responsible_name_placeholder: "Representante de la asociación/colectivo"
|
||||||
notifications: Notificaciones
|
notifications: "Notificaciones"
|
||||||
finish_verification: "Finalizar verificación"
|
finish_verification: "Finalizar verificación"
|
||||||
verified_account: Cuenta verificada
|
verified_account: "Cuenta verificada"
|
||||||
verify_my_account: Verificar mi cuenta
|
verify_my_account: "Verificar mi cuenta"
|
||||||
user_permission_title: "Participación"
|
user_permission_title: "Participación"
|
||||||
user_permission_info: "Con tu cuenta ya puedes..."
|
user_permission_info: "Con tu cuenta ya puedes..."
|
||||||
user_permission_debates: "Participar en debates"
|
user_permission_debates: "Participar en debates"
|
||||||
@@ -318,22 +314,22 @@ es:
|
|||||||
author_info:
|
author_info:
|
||||||
author_deleted: Usuario eliminado
|
author_deleted: Usuario eliminado
|
||||||
tags_cloud:
|
tags_cloud:
|
||||||
tags: Tendencias
|
tags: "Tendencias"
|
||||||
print:
|
print:
|
||||||
print_button: "Imprimir esta información"
|
print_button: "Imprimir esta información"
|
||||||
flag: Denunciar como inapropiado
|
flag: "Denunciar como inapropiado"
|
||||||
unflag: Deshacer denuncia
|
unflag: "Deshacer denuncia"
|
||||||
collective: Colectivo
|
collective: "Colectivo"
|
||||||
check: Seleccionar
|
check: "Seleccionar"
|
||||||
check_all: Todos
|
check_all: "Todos"
|
||||||
check_none: Ninguno
|
check_none: "Ninguno"
|
||||||
unauthorized:
|
unauthorized:
|
||||||
default: "No tienes permiso para acceder a esta página."
|
default: "No tienes permiso para acceder a esta página."
|
||||||
manage:
|
manage:
|
||||||
all: "No tienes permiso para realizar la acción '%{action}' sobre %{subject}."
|
all: "No tienes permiso para realizar la acción '%{action}' sobre %{subject}."
|
||||||
welcome:
|
welcome:
|
||||||
highlights: "Portada: "
|
highlights: "Portada: "
|
||||||
signed_in_home_title: Actividad reciente
|
signed_in_home_title: "Actividad reciente"
|
||||||
debates:
|
debates:
|
||||||
title: "Debates"
|
title: "Debates"
|
||||||
description: "Encontrarnos, debatir y compartir lo que nos parece importante en nuestra ciudad."
|
description: "Encontrarnos, debatir y compartir lo que nos parece importante en nuestra ciudad."
|
||||||
@@ -359,13 +355,13 @@ es:
|
|||||||
user_permission_verify_info: "* Sólo usuarios empadronados en el municipio de Madrid."
|
user_permission_verify_info: "* Sólo usuarios empadronados en el municipio de Madrid."
|
||||||
omniauth:
|
omniauth:
|
||||||
finish_signup:
|
finish_signup:
|
||||||
title: Añade tu email
|
title: "Añade tu email"
|
||||||
twitter:
|
twitter:
|
||||||
sign_in: Entra con Twitter
|
sign_in: "Entra con Twitter"
|
||||||
sign_up: Regístrate con Twitter
|
sign_up: "Regístrate con Twitter"
|
||||||
facebook:
|
facebook:
|
||||||
sign_in: Entra con Facebook
|
sign_in: "Entra con Facebook"
|
||||||
sign_up: Regístrate con Facebook
|
sign_up: "Regístrate con Facebook"
|
||||||
google_oauth2:
|
google_oauth2:
|
||||||
sign_in: Entra con Google
|
sign_in: "Entra con Google"
|
||||||
sign_up: Regístrate con Google
|
sign_up: "Regístrate con Google"
|
||||||
|
|||||||
16
config/locales/kaminari.en.yml
Normal file → Executable file
16
config/locales/kaminari.en.yml
Normal file → Executable file
@@ -3,19 +3,19 @@ en:
|
|||||||
pagination:
|
pagination:
|
||||||
first: "« First"
|
first: "« First"
|
||||||
last: "Last »"
|
last: "Last »"
|
||||||
previous: "‹ Prev"
|
previous: "‹ Previous"
|
||||||
next: "Next ›"
|
next: "Next ›"
|
||||||
truncate: "…"
|
truncate: "…"
|
||||||
helpers:
|
helpers:
|
||||||
page_entries_info:
|
page_entries_info:
|
||||||
entry:
|
entry:
|
||||||
zero: "entries"
|
zero: "Entries"
|
||||||
one: "entry"
|
one: "Entry"
|
||||||
other: "entries"
|
other: "Entries"
|
||||||
one_page:
|
one_page:
|
||||||
display_entries:
|
display_entries:
|
||||||
zero: "No %{entry_name} found"
|
zero: "%{entry_name} cannot be found"
|
||||||
one: "Displaying <b>1</b> %{entry_name}"
|
one: "There is <b>1</b> %{entry_name}"
|
||||||
other: "Displaying <b>all %{count}</b> %{entry_name}"
|
other: "There are <b> %{count}</b> %{entry_name}"
|
||||||
more_pages:
|
more_pages:
|
||||||
display_entries: "Displaying %{entry_name} <b>%{first} - %{last}</b> of <b>%{total}</b> in total"
|
display_entries: "Displaying <b>%{first} - %{last}</b> of <b>%{total}</b> %{entry_name}"
|
||||||
|
|||||||
25
config/locales/mailers.en.yml
Normal file → Executable file
25
config/locales/mailers.en.yml
Normal file → Executable file
@@ -2,19 +2,18 @@ en:
|
|||||||
mailers:
|
mailers:
|
||||||
comment:
|
comment:
|
||||||
subject: "Someone has commented on your %{commentable}"
|
subject: "Someone has commented on your %{commentable}"
|
||||||
hi: Hello
|
hi: "Hi"
|
||||||
title: New comment
|
title: "New comment"
|
||||||
new_comment_by_html: "There is a new comment by <b>%{commenter}</b> on"
|
new_comment_by_html: "There is a new comment from <b>%{commenter}</b>"
|
||||||
reply:
|
reply:
|
||||||
subject: Someone has replied to your comment
|
subject: "Someone has responded to your comment"
|
||||||
hi: Hello
|
hi: "Hi"
|
||||||
title: New reply on your comment
|
title: "New response to your comment"
|
||||||
new_reply_by_html: "There'is a new reply by <b>%{commenter}</b> to your comment on"
|
new_reply_by_html: "There is a new response from <b>%{commenter}</b> to your comment on"
|
||||||
email_verification:
|
email_verification:
|
||||||
subject: Verify your email
|
subject: "Confirm your email"
|
||||||
title: Please verify yourself
|
title: "Confirm your account using the following link"
|
||||||
instructions_html: "We need to verify you using this email, which we got from the Census. %{verification_link}"
|
instructions_html: "To complete the verification of your user account in the Open Government Portal of the Madrid City Council, you must click %{verification_link}."
|
||||||
click_here_to_verify: "Please click here to verify yourself"
|
click_here_to_verify: "this link"
|
||||||
instructions_2_html: "This email will verify your account with <b>%{document_type} %{document_number}</b>. If these don't belong to you, please don't click on the previous link and ignore this email."
|
instructions_2_html: "This email will verify your account with <b>%{document_type} %{document_number}</b>. If these don't belong to you, please don't click on the previous link and ignore this email."
|
||||||
thanks: "Thanks"
|
thanks: "Thank you very much."
|
||||||
|
|
||||||
|
|||||||
@@ -2,17 +2,17 @@ es:
|
|||||||
mailers:
|
mailers:
|
||||||
comment:
|
comment:
|
||||||
subject: "Alguien ha comentado en tu %{commentable}"
|
subject: "Alguien ha comentado en tu %{commentable}"
|
||||||
hi: Hola
|
hi: "Hola"
|
||||||
title: Nuevo comentario
|
title: "Nuevo comentario"
|
||||||
new_comment_by_html: "Hay un nuevo comentario de <b>%{commenter}</b> en"
|
new_comment_by_html: "Hay un nuevo comentario de <b>%{commenter}</b> en"
|
||||||
reply:
|
reply:
|
||||||
subject: Alguien ha respondido a tu comentario
|
subject: "Alguien ha respondido a tu comentario"
|
||||||
hi: Hola
|
hi: "Hola"
|
||||||
title: Nueva respuesta a tu comentario
|
title: "Nueva respuesta a tu comentario"
|
||||||
new_reply_by_html: "Hay una nueva respuesta de <b>%{commenter}</b> a tu comentario en"
|
new_reply_by_html: "Hay una nueva respuesta de <b>%{commenter}</b> a tu comentario en"
|
||||||
email_verification:
|
email_verification:
|
||||||
subject: Verifica tu email
|
subject: "Verifica tu email"
|
||||||
title: Verifica tu cuenta con el siguiente enlace
|
title: "Verifica tu cuenta con el siguiente enlace"
|
||||||
instructions_html: "Para terminar de verificar tu cuenta de usuario en el Portal de Gobierno Abierto del Ayuntamiento de Madrid, necesitamos que pulses %{verification_link}."
|
instructions_html: "Para terminar de verificar tu cuenta de usuario en el Portal de Gobierno Abierto del Ayuntamiento de Madrid, necesitamos que pulses %{verification_link}."
|
||||||
click_here_to_verify: "en este enlace"
|
click_here_to_verify: "en este enlace"
|
||||||
instructions_2_html: "Este email es para verificar tu cuenta con <b>%{document_type} %{document_number}</b>. Si esos no son tus datos, por favor no pulses el enlace anterior e ignora este email."
|
instructions_2_html: "Este email es para verificar tu cuenta con <b>%{document_type} %{document_number}</b>. Si esos no son tus datos, por favor no pulses el enlace anterior e ignora este email."
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ en:
|
|||||||
proposals:
|
proposals:
|
||||||
create_proposal: "Create proposal"
|
create_proposal: "Create proposal"
|
||||||
print:
|
print:
|
||||||
print_button: Print
|
print_button: "Print"
|
||||||
alert:
|
alert:
|
||||||
unverified_user: User is not verified
|
unverified_user: "User is not verified"
|
||||||
permissions:
|
permissions:
|
||||||
debates: "Engage in debates"
|
debates: "Engage in debates"
|
||||||
create_proposals: "Create proposals"
|
create_proposals: "Create proposals"
|
||||||
@@ -65,3 +65,7 @@ en:
|
|||||||
"We have sent an email to the email address <b>%{email}</b> in order to verify that it belongs to this user.
|
"We have sent an email to the email address <b>%{email}</b> in order to verify that it belongs to this user.
|
||||||
It contains a link they have to click. Then they will have to set their access password before being able
|
It contains a link they have to click. Then they will have to set their access password before being able
|
||||||
to log in to the website"
|
to log in to the website"
|
||||||
|
print:
|
||||||
|
proposals_title: "Proposals:"
|
||||||
|
info: "Create yor proposal on http://decide.madrid.es"
|
||||||
|
note: "The proposals more supported will be voted. If are accepted by a majority, the city Council shall be carried out."
|
||||||
@@ -28,9 +28,9 @@ es:
|
|||||||
proposals:
|
proposals:
|
||||||
create_proposal: "Crear propuesta"
|
create_proposal: "Crear propuesta"
|
||||||
print:
|
print:
|
||||||
print_button: Imprimir
|
print_button: "Imprimir"
|
||||||
alert:
|
alert:
|
||||||
unverified_user: Este usuario no está verificado
|
unverified_user: "Este usuario no está verificado"
|
||||||
permissions:
|
permissions:
|
||||||
debates: "Participar en debates"
|
debates: "Participar en debates"
|
||||||
create_proposals: "Crear nuevas propuestas"
|
create_proposals: "Crear nuevas propuestas"
|
||||||
@@ -65,3 +65,7 @@ es:
|
|||||||
"Hemos enviado un correo electrónico a <b>%{email}</b> para verificar que es suya.
|
"Hemos enviado un correo electrónico a <b>%{email}</b> para verificar que es suya.
|
||||||
El correo enviado contiene un link que el usuario deberá pulsar. Entonces podrá seleccionar
|
El correo enviado contiene un link que el usuario deberá pulsar. Entonces podrá seleccionar
|
||||||
una clave de acceso, y entrar en la web de participación."
|
una clave de acceso, y entrar en la web de participación."
|
||||||
|
print:
|
||||||
|
proposals_title: "Propuestas:"
|
||||||
|
info: "Haz tu propuesta en http://decide.madrid.es"
|
||||||
|
note: "Las propuestas más apoyadas serán llevadas a votación. Y si las acepta una mayoría, el Ayuntamiento las llevará a cabo."
|
||||||
106
config/locales/moderation.en.yml
Normal file → Executable file
106
config/locales/moderation.en.yml
Normal file → Executable file
@@ -1,75 +1,75 @@
|
|||||||
en:
|
en:
|
||||||
moderation:
|
moderation:
|
||||||
menu:
|
menu:
|
||||||
proposals: Proposals
|
proposals: "Proposals"
|
||||||
flagged_debates: Debates
|
flagged_debates: "Debates"
|
||||||
flagged_comments: Comments
|
flagged_comments: "Comments"
|
||||||
users: Ban users
|
users: "Block users"
|
||||||
dashboard:
|
dashboard:
|
||||||
index:
|
index:
|
||||||
title: Moderation
|
title: "Moderation"
|
||||||
comments:
|
comments:
|
||||||
index:
|
index:
|
||||||
hide_comments: Hide comments
|
hide_comments: "Hide comments"
|
||||||
block_authors: Block authors
|
block_authors: "Block authors"
|
||||||
ignore_flags: Ignore flags
|
ignore_flags: "Mark as viewed"
|
||||||
title: Comments
|
title: "Comments"
|
||||||
headers:
|
headers:
|
||||||
comment: Comment
|
comment: "Comment"
|
||||||
moderate: Moderate
|
moderate: "Moderate"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
pending_flag_review: Pending
|
pending_flag_review: "Pending"
|
||||||
with_ignored_flag: Ignored
|
with_ignored_flag: "Marked as viewed"
|
||||||
order: Order
|
order: "Order"
|
||||||
orders:
|
orders:
|
||||||
created_at: Newest
|
created_at: "Newest"
|
||||||
flags: Most flagged
|
flags: "Most flagged"
|
||||||
confirm: Are you sure?
|
confirm: "Are you sure?"
|
||||||
debates:
|
debates:
|
||||||
index:
|
index:
|
||||||
hide_debates: Hide debates
|
hide_debates: "Hide debates"
|
||||||
block_authors: Block authors
|
block_authors: "Block authors"
|
||||||
ignore_flags: Ignore flags
|
ignore_flags: "Mark as viewed"
|
||||||
title: Debates
|
title: "Debates"
|
||||||
headers:
|
headers:
|
||||||
debate: Debate
|
debate: "Debate"
|
||||||
moderate: Moderate
|
moderate: "Moderate"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
pending_flag_review: Pending
|
pending_flag_review: "Pending"
|
||||||
with_ignored_flag: Ignored
|
with_ignored_flag: "Marked as viewed"
|
||||||
order: Order
|
order: "Order"
|
||||||
orders:
|
orders:
|
||||||
created_at: Newest
|
created_at: "Newest"
|
||||||
flags: Most flagged
|
flags: "Most flagged"
|
||||||
confirm: Are you sure?
|
confirm: "Are you sure?"
|
||||||
proposals:
|
proposals:
|
||||||
index:
|
index:
|
||||||
hide_proposals: Hide proposals
|
hide_proposals: "Hide proposals"
|
||||||
block_authors: Block authors
|
block_authors: "Block authors"
|
||||||
ignore_flags: Ignore flags
|
ignore_flags: "Mark as viewed"
|
||||||
title: Proposals
|
title: "Proposals"
|
||||||
headers:
|
headers:
|
||||||
proposal: Proposal
|
proposal: "Proposal"
|
||||||
moderate: Moderate
|
moderate: "Moderate"
|
||||||
filter: Filter
|
filter: "Filter"
|
||||||
filters:
|
filters:
|
||||||
all: All
|
all: "All"
|
||||||
pending_flag_review: Pending
|
pending_flag_review: "Pending review"
|
||||||
with_ignored_flag: Ignored
|
with_ignored_flag: "Mark as viewed"
|
||||||
order: Order
|
order: "Order by"
|
||||||
orders:
|
orders:
|
||||||
created_at: Newest
|
created_at: "Most recent"
|
||||||
flags: Most flagged
|
flags: "Most flagged"
|
||||||
confirm: Are you sure?
|
confirm: "Are you sure?"
|
||||||
users:
|
users:
|
||||||
notice_hide: User banned.
|
notice_hide: "User blocked. All of this user's debates and comments have been hidden."
|
||||||
index:
|
index:
|
||||||
title: User search and banning
|
title: "Block users"
|
||||||
search_placeholder: email or username
|
search_placeholder: "email or name of user"
|
||||||
search: Search
|
search: "Search"
|
||||||
hide: Ban
|
hide: "Block"
|
||||||
hidden: Banned
|
hidden: "Blocked"
|
||||||
|
|||||||
@@ -1,75 +1,75 @@
|
|||||||
es:
|
es:
|
||||||
moderation:
|
moderation:
|
||||||
menu:
|
menu:
|
||||||
proposals: Propuestas
|
proposals: "Propuestas"
|
||||||
flagged_debates: Debates
|
flagged_debates: "Debates"
|
||||||
flagged_comments: Comentarios
|
flagged_comments: "Comentarios"
|
||||||
users: Bloquear usuarios
|
users: "Bloquear usuarios"
|
||||||
dashboard:
|
dashboard:
|
||||||
index:
|
index:
|
||||||
title: Moderación
|
title: "Moderación"
|
||||||
comments:
|
comments:
|
||||||
index:
|
index:
|
||||||
hide_comments: Ocultar comentarios
|
hide_comments: "Ocultar comentarios"
|
||||||
block_authors: Bloquear autores
|
block_authors: "Bloquear autores"
|
||||||
ignore_flags: Marcar como revisados
|
ignore_flags: "Marcar como revisados"
|
||||||
title: Comentarios
|
title: "Comentarios"
|
||||||
headers:
|
headers:
|
||||||
comment: Comentario
|
comment: "Comentario"
|
||||||
moderate: Moderar
|
moderate: "Moderar"
|
||||||
filter: Filtrar
|
filter: "Filtrar"
|
||||||
filters:
|
filters:
|
||||||
all: Todos
|
all: "Todos"
|
||||||
pending_flag_review: Pendientes
|
pending_flag_review: "Pendientes"
|
||||||
with_ignored_flag: Marcados como revisados
|
with_ignored_flag: "Marcados como revisados"
|
||||||
order: Orden
|
order: "Orden"
|
||||||
orders:
|
orders:
|
||||||
created_at: Más nuevos
|
created_at: "Más nuevos"
|
||||||
flags: Más denunciados
|
flags: "Más denunciados"
|
||||||
confirm: ¿Estás seguro?
|
confirm: "¿Estás seguro?"
|
||||||
debates:
|
debates:
|
||||||
index:
|
index:
|
||||||
hide_debates: Ocultar debates
|
hide_debates: "Ocultar debates"
|
||||||
block_authors: Bloquear autores
|
block_authors: "Bloquear autores"
|
||||||
ignore_flags: Marcar como revisados
|
ignore_flags: "Marcar como revisados"
|
||||||
title: Debates
|
title: "Debates"
|
||||||
headers:
|
headers:
|
||||||
debate: Debate
|
debate: "Debate"
|
||||||
moderate: Moderar
|
moderate: "Moderar"
|
||||||
filter: Filtrar
|
filter: "Filtrar"
|
||||||
filters:
|
filters:
|
||||||
all: Todos
|
all: "Todos"
|
||||||
pending_flag_review: Pendientes
|
pending_flag_review: "Pendientes"
|
||||||
with_ignored_flag: Marcados como revisados
|
with_ignored_flag: "Marcados como revisados"
|
||||||
order: Orden
|
order: "Orden"
|
||||||
orders:
|
orders:
|
||||||
created_at: Más nuevos
|
created_at: "Más nuevos"
|
||||||
flags: Más denunciados
|
flags: "Más denunciados"
|
||||||
confirm: ¿Estás seguro?
|
confirm: "¿Estás seguro?"
|
||||||
proposals:
|
proposals:
|
||||||
index:
|
index:
|
||||||
hide_proposals: Ocultar Propuestas
|
hide_proposals: "Ocultar Propuestas"
|
||||||
block_authors: Bloquear autores
|
block_authors: "Bloquear autores"
|
||||||
ignore_flags: Marcar como revisadas
|
ignore_flags: "Marcar como revisadas"
|
||||||
title: Propuestas
|
title: "Propuestas"
|
||||||
headers:
|
headers:
|
||||||
proposal: Propuesta
|
proposal: "Propuesta"
|
||||||
moderate: Moderar
|
moderate: "Moderar"
|
||||||
filter: Filtro
|
filter: "Filtro"
|
||||||
filters:
|
filters:
|
||||||
all: Todas
|
all: "Todas"
|
||||||
pending_flag_review: Pendientes de revisión
|
pending_flag_review: "Pendientes de revisión"
|
||||||
with_ignored_flag: Marcadas como revisadas
|
with_ignored_flag: "Marcadas como revisadas"
|
||||||
order: Ordenar por
|
order: "Ordenar por"
|
||||||
orders:
|
orders:
|
||||||
created_at: Más recientes
|
created_at: "Más recientes"
|
||||||
flags: Más denunciadas
|
flags: "Más denunciadas"
|
||||||
confirm: ¿Estás seguro?
|
confirm: "¿Estás seguro?"
|
||||||
users:
|
users:
|
||||||
notice_hide: Usuario bloqueado. Se han ocultado todos sus debates y comentarios.
|
notice_hide: "Usuario bloqueado. Se han ocultado todos sus debates y comentarios."
|
||||||
index:
|
index:
|
||||||
title: Bloquear usuarios
|
title: "Bloquear usuarios"
|
||||||
search_placeholder: email o nombre de usuario
|
search_placeholder: "email o nombre de usuario"
|
||||||
search: Buscar
|
search: "Buscar"
|
||||||
hide: Bloquear
|
hide: "Bloquear"
|
||||||
hidden: Bloqueado
|
hidden: "Bloqueado"
|
||||||
|
|||||||
11
config/locales/pages.en.yml
Normal file → Executable file
11
config/locales/pages.en.yml
Normal file → Executable file
@@ -8,17 +8,18 @@ en:
|
|||||||
conditions: "Terms of use"
|
conditions: "Terms of use"
|
||||||
accessibility: "Accessibility"
|
accessibility: "Accessibility"
|
||||||
conditions:
|
conditions:
|
||||||
"Terms of use"
|
"Terms and conditions of use"
|
||||||
privacy:
|
privacy:
|
||||||
"Privacy Policy"
|
"Privacy Policy"
|
||||||
general_terms:
|
general_terms:
|
||||||
"Terms and Conditions"
|
"Terms and Conditions"
|
||||||
census_terms:
|
census_terms:
|
||||||
"Census Terms"
|
"To confirm the account, you must be 16 or older and be registered as resident in Madrid, having provided the information requested previously, which the Directorate-General of Civil Participation will verify against the files 'Municipal Census of Inhabitants', for which the Directorate-General for Statistics is responsible, and the 'Citizen Support Services', for which the Directorate-General for Quality and Citizen Services is responsible.
|
||||||
|
By accepting the verification process, you also consent to the verification of this information, as well as the contact methods featuring in said files.
|
||||||
|
The data provided will be acquired and processed by the Directorate-General for Civil Participation in the file 'Management of Participatory Activities' mentioned previously in the terms and conditions of use for the Portal."
|
||||||
transparency:
|
transparency:
|
||||||
"Transparency"
|
"Transparency"
|
||||||
opendata:
|
opendata: "Open Data"
|
||||||
"Open Data"
|
|
||||||
verify:
|
verify:
|
||||||
title: "Verify your account"
|
title: "Verify your account"
|
||||||
info: "For verufy your account introduce your access data:"
|
info: "For verufy your account introduce your access data:"
|
||||||
@@ -26,4 +27,4 @@ en:
|
|||||||
email: "Email"
|
email: "Email"
|
||||||
password: "Password"
|
password: "Password"
|
||||||
code: "Code you received in letter"
|
code: "Code you received in letter"
|
||||||
submit: "Verify my account"
|
submit: "Verify my account"
|
||||||
|
|||||||
12
config/locales/responders.en.yml
Normal file → Executable file
12
config/locales/responders.en.yml
Normal file → Executable file
@@ -2,13 +2,11 @@ en:
|
|||||||
flash:
|
flash:
|
||||||
actions:
|
actions:
|
||||||
create:
|
create:
|
||||||
notice: '%{resource_name} was successfully created.'
|
notice: "%{resource_name} created successfully."
|
||||||
# alert: '%{resource_name} could not be created.'
|
|
||||||
update:
|
update:
|
||||||
notice: '%{resource_name} was successfully updated.'
|
notice: "%{resource_name} updated successfully."
|
||||||
# alert: '%{resource_name} could not be updated.'
|
|
||||||
# destroy:
|
# destroy:
|
||||||
# notice: '%{resource_name} was successfully destroyed.'
|
# notice: "%{resource_name} destroyed successfully."
|
||||||
# alert: '%{resource_name} could not be destroyed.'
|
# alert: "%{resource_name} could not be destroyed."
|
||||||
save_changes:
|
save_changes:
|
||||||
notice: "Saved"
|
notice: "Changes saved"
|
||||||
|
|||||||
20
config/locales/settings.en.yml
Normal file → Executable file
20
config/locales/settings.en.yml
Normal file → Executable file
@@ -1,12 +1,12 @@
|
|||||||
en:
|
en:
|
||||||
settings:
|
settings:
|
||||||
official_level_1_name: "Level 1 official positions"
|
official_level_1_name: "Level 1 public official"
|
||||||
official_level_2_name: "Level 2 official positions"
|
official_level_2_name: "Level 2 public official"
|
||||||
official_level_3_name: "Level 3 official positions"
|
official_level_3_name: "Level 3 public official"
|
||||||
official_level_4_name: "Level 4 official positions"
|
official_level_4_name: "Level 4 public official"
|
||||||
official_level_5_name: "Level 5 official positions"
|
official_level_5_name: "Level 5 public official"
|
||||||
max_ratio_anon_votes_on_debates: "Max allowed percentage of anonymous votes per Debate"
|
max_ratio_anon_votes_on_debates: "Maximum ratio of anonymous votes per Debate"
|
||||||
max_votes_for_proposal_edit: "Number of votes where a Proposal is not editable anymore"
|
max_votes_for_proposal_edit: "Number of votes from which a Proposal can no longer be edited"
|
||||||
max_votes_for_debate_edit: "Number of votes where a Debate is not editable anymore"
|
max_votes_for_debate_edit: "Number of votes from which a Debate can no longer be edited"
|
||||||
proposal_code_prefix: "Prefix for Proposals codes"
|
proposal_code_prefix: "Prefix for Proposal codes"
|
||||||
votes_for_proposal_success: "Number of votes needed for Proposal approval"
|
votes_for_proposal_success: "Number of votes necessary for approval of a Proposal"
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
en:
|
en:
|
||||||
social_share_button:
|
social_share_button:
|
||||||
share_to: Share to %{name}
|
share_to: "Share to %{name}"
|
||||||
weibo: Sina Weibo
|
weibo: "Sina Weibo"
|
||||||
twitter: Twitter
|
twitter: "Twitter"
|
||||||
facebook: Facebook
|
facebook: "Facebook"
|
||||||
douban: Douban
|
douban: "Douban"
|
||||||
qq: Qzone
|
qq: "Qzone"
|
||||||
tqq: Tqq
|
tqq: "Tqq"
|
||||||
delicious: Delicious
|
delicious: "Delicious"
|
||||||
baidu: Baidu.com
|
baidu: "Baidu.com"
|
||||||
kaixin001: Kaixin001.com
|
kaixin001: "Kaixin001.com"
|
||||||
renren: Renren.com
|
renren: "Renren.com"
|
||||||
google_plus: Google+
|
google_plus: "Google+"
|
||||||
google_bookmark: Google Bookmark
|
google_bookmark: "Google Bookmark"
|
||||||
tumblr: Tumblr
|
tumblr: "Tumblr"
|
||||||
plurk: Plurk
|
plurk: "Plurk"
|
||||||
pinterest: Pinterest
|
pinterest: "Pinterest"
|
||||||
email: Email
|
email: "Email"
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
es:
|
es:
|
||||||
social_share_button:
|
social_share_button:
|
||||||
share_to: Compartir en %{name}
|
share_to: "Compartir en %{name}"
|
||||||
weibo: Sina Weibo
|
weibo: "Sina Weibo"
|
||||||
twitter: Twitter
|
twitter: "Twitter"
|
||||||
facebook: Facebook
|
facebook: "Facebook"
|
||||||
douban: Douban
|
douban: "Douban"
|
||||||
qq: Qzone
|
qq: "Qzone"
|
||||||
tqq: Tqq
|
tqq: "Tqq"
|
||||||
delicious: Delicious
|
delicious: "Delicious"
|
||||||
baidu: Baidu.com
|
baidu: "Baidu.com"
|
||||||
kaixin001: Kaixin001.com
|
kaixin001: "Kaixin001.com"
|
||||||
renren: Renren.com
|
renren: "Renren.com"
|
||||||
google_plus: Google+
|
google_plus: "Google+"
|
||||||
google_bookmark: Google Bookmark
|
google_bookmark: "Google Bookmark"
|
||||||
tumblr: Tumblr
|
tumblr: "Tumblr"
|
||||||
plurk: Plurk
|
plurk: "Plurk"
|
||||||
pinterest: Pinterest
|
pinterest: "Pinterest"
|
||||||
email: Correo electrónico
|
email: "Correo electrónico"
|
||||||
|
|||||||
84
config/locales/verification.en.yml
Normal file → Executable file
84
config/locales/verification.en.yml
Normal file → Executable file
@@ -1,108 +1,108 @@
|
|||||||
en:
|
en:
|
||||||
verification:
|
verification:
|
||||||
back: "Back to my account"
|
back: "Return to my account"
|
||||||
step_1: "Residence"
|
step_1: "Residence"
|
||||||
step_2: "SMS confirmation"
|
step_2: "Confirmation code"
|
||||||
step_3: "Final verification"
|
step_3: "Final verification"
|
||||||
alert:
|
alert:
|
||||||
lock: "You have reached the maximum number of verification tries. Please try again later."
|
lock: "You have reached the maximum number of attempts. Please try again later."
|
||||||
user_permission_info: "Verifing your information you'll be able to..."
|
user_permission_info: "Verifing your information you'll be able to..."
|
||||||
user_permission_debates: "Participar en debates"
|
user_permission_debates: "Participate on debates"
|
||||||
user_permission_proposal: "Crear nuevas propuestas"
|
user_permission_proposal: "Create new proposals"
|
||||||
user_permission_support_proposal: "Apoyar propuestas*"
|
user_permission_support_proposal: "Support proposals*"
|
||||||
user_permission_votes: "Participar en las votaciones finales*"
|
user_permission_votes: "Participate on final voting*"
|
||||||
residence:
|
residence:
|
||||||
new:
|
new:
|
||||||
title: "Verify residence"
|
title: "Verify residence"
|
||||||
document_type_label: "Document type"
|
document_type_label: "Document type"
|
||||||
document_type:
|
document_type:
|
||||||
spanish_id: "Spanish ID"
|
spanish_id: "DNI"
|
||||||
passport: "Passport"
|
passport: "Passport"
|
||||||
residence_card: "Residence card"
|
residence_card: "Residence card"
|
||||||
document_number: "Document number"
|
document_number: "Document number"
|
||||||
date_of_birth: "Date of birth"
|
date_of_birth: "Date of birth"
|
||||||
postal_code: "Postal code"
|
postal_code: "Postcode"
|
||||||
postal_code_note: "To verify your account you must be on Madrid city Census"
|
postal_code_note: "To verify your account you must be on Madrid city Census"
|
||||||
accept_terms_text: "I accept %{terms_url} to access the city Census"
|
accept_terms_text: "I accept %{terms_url} of the Census"
|
||||||
terms: "the terms"
|
terms: "the terms and conditions of access"
|
||||||
verify_residence: "Verify residence"
|
verify_residence: "Verify residence"
|
||||||
form_errors: "prevented your residence verification"
|
form_errors: "prevented the verification of your residence"
|
||||||
error_verifying_census: "The census of the city of Madrid could not verify your information. Pero revise de information and try again or get in touch with us calling to 010 (or 915298210) or visit any of %{offices}."
|
error_verifying_census: "The Madrid Census was unable to verify your information. Please confirm that your census details are correct by calling 010 (or 915298210) or visit any of %{offices}."
|
||||||
error_verifying_census_offices: "26 Office of Citizen"
|
error_verifying_census_offices: "26 Office of Citizen"
|
||||||
error_not_allowed_age: "You need yo be at least 16 years old"
|
error_not_allowed_age: "You must be at least 16 years old"
|
||||||
error_not_allowed_postal_code: "To verify your account you need to be in the census of the Madrid town."
|
error_not_allowed_postal_code: "In order to be verified, you must be registered in the municipality of Madrid."
|
||||||
create:
|
create:
|
||||||
flash:
|
flash:
|
||||||
success: "Residence verified"
|
success: "Residence verified"
|
||||||
alert:
|
alert:
|
||||||
unconfirmed_residency: "You have not yet confirmed your residence"
|
unconfirmed_residency: "You have not yet confirmed your residency"
|
||||||
sms:
|
sms:
|
||||||
new:
|
new:
|
||||||
title: "Phone verification"
|
title: "Send confirmation code"
|
||||||
phone: "Enter your phone for recive the code"
|
phone: "Enter your mobile phone number to receive the code"
|
||||||
phone_note: "We only user your phone for send to you a code, we never contact to you."
|
phone_note: "We only user your phone for send to you a code, we never contact to you."
|
||||||
submit_button: "Send"
|
submit_button: "Send"
|
||||||
create:
|
create:
|
||||||
flash:
|
flash:
|
||||||
success: "Enter the confirmation code we have sent your phone"
|
success: "Enter the confirmation code sent to you by text message"
|
||||||
edit:
|
edit:
|
||||||
title: "Phone confirmation"
|
title: "Security code confirmation"
|
||||||
confirmation_code: "Code confirmation"
|
confirmation_code: "Enter the code you received on your mobile"
|
||||||
resend_sms_text: "You have not received the confirmation code in your phone?"
|
resend_sms_text: "Didn't get a text with your confirmation code?"
|
||||||
resend_sms_link: "Request a new code"
|
resend_sms_link: "Click here to send it again"
|
||||||
submit_button: "Send"
|
submit_button: "Send"
|
||||||
update:
|
update:
|
||||||
error: "Incorrect confirmation code"
|
error: "Incorrect confirmation code"
|
||||||
flash:
|
flash:
|
||||||
level_three:
|
level_three:
|
||||||
success: "Correct code. Your account is verified"
|
success: "Code correct. Your account is now verified"
|
||||||
level_two:
|
level_two:
|
||||||
success: "Correct code"
|
success: "Code correct"
|
||||||
email:
|
email:
|
||||||
show:
|
show:
|
||||||
flash:
|
flash:
|
||||||
success: "You are now a verified user"
|
success: "You are a verified user"
|
||||||
alert:
|
alert:
|
||||||
failure: "Incorrect verification code"
|
failure: "Verification code incorrect"
|
||||||
create:
|
create:
|
||||||
flash:
|
flash:
|
||||||
success: "We have send you a confirmation email to your email account: %{email}"
|
success: "We have sent a confirmation email to your account: %{email}"
|
||||||
alert:
|
alert:
|
||||||
failure: "There was a problem sending you an email to your account"
|
failure: "There was a problem with sending an email to your account"
|
||||||
letter:
|
letter:
|
||||||
new:
|
new:
|
||||||
title: "Final Verification"
|
title: "Congratulations!"
|
||||||
user_permission_info: "With your account you can..."
|
user_permission_info: "With your account you can..."
|
||||||
explanation: "For participate on final voting you can:"
|
explanation: "For participate on final voting you can:"
|
||||||
office: "Verify in any %{office}"
|
office: "Verify in any %{office}"
|
||||||
offices: "Office of Citizen"
|
offices: "Citizen Support Offices"
|
||||||
offices_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
|
offices_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
|
||||||
send_letter: "Request a letter"
|
send_letter: "Send me a letter with the code"
|
||||||
go_to_index: "See proposals"
|
go_to_index: "See proposals"
|
||||||
create:
|
create:
|
||||||
flash:
|
flash:
|
||||||
success_html: "Before voting you'll receive a letter whith the instructions for verify your account.<br> Remember you can verify your information in any %{offices}."
|
success_html: "Thank you for requesting your <b>maximum security code (only required for the final votes)</b>. In a few days we will send it to the address featuring in the data we have on file. Please remember that, if you prefer, you can collect your code from any of the %{offices}."
|
||||||
offices: "Office of Citizen"
|
offices: "Citizen Support Offices"
|
||||||
offices_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
|
offices_url: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
|
||||||
edit:
|
edit:
|
||||||
title: "Letter requested"
|
title: "Letter requested"
|
||||||
see_all: "See proposals"
|
see_all: "See proposals"
|
||||||
update:
|
update:
|
||||||
flash:
|
flash:
|
||||||
success: "Your account has been verified"
|
success: "Code correct. Your account is now verified"
|
||||||
alert:
|
alert:
|
||||||
unconfirmed_code: "You have not yet enter the confirmation code"
|
unconfirmed_code: "You have not yet entered the confirmation code"
|
||||||
errors:
|
errors:
|
||||||
incorrect_code: "Incorrect confirmation code"
|
incorrect_code: "Verification code incorrect"
|
||||||
verified_user:
|
verified_user:
|
||||||
show:
|
show:
|
||||||
title: "Available information"
|
title: "Available information"
|
||||||
explanation: "We currently have the following data in the Census, choose where you want to send the confirmation code."
|
explanation: "We currently hold the following details on the Register; please select a method for your confirmation code to be sent."
|
||||||
email_title: "Emails"
|
email_title: "Emails"
|
||||||
phone_title: "Phones"
|
phone_title: "Phone numbers"
|
||||||
use_another_phone: "Use another phone"
|
use_another_phone: "Use other phone"
|
||||||
form:
|
form:
|
||||||
submit_button: "Send code"
|
submit_button: "Send code"
|
||||||
redirect_notices:
|
redirect_notices:
|
||||||
email_already_sent: "We already sent you a confirmation email, if you have not received it you can try resend it here"
|
email_already_sent: "We have already sent an email with a confirmation link. If you cannot locate the email, you can request a reissue here"
|
||||||
already_verified: "You are a verified user!"
|
already_verified: "Your account is already verified"
|
||||||
|
|||||||
5
db/migrate/20151028213830_add_unaccent_extension.rb
Normal file
5
db/migrate/20151028213830_add_unaccent_extension.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
class AddUnaccentExtension < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
execute "create extension if not exists unaccent"
|
||||||
|
end
|
||||||
|
end
|
||||||
5
db/migrate/20151028221647_add_pg_trgm_extension.rb
Normal file
5
db/migrate/20151028221647_add_pg_trgm_extension.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
class AddPgTrgmExtension < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
execute "create extension if not exists pg_trgm"
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class AddPhysicalVotesToProposals < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :proposals, :physical_votes, :integer, default: 0
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -11,10 +11,12 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20151028145921) do
|
ActiveRecord::Schema.define(version: 20151030182217) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
enable_extension "unaccent"
|
||||||
|
enable_extension "pg_trgm"
|
||||||
|
|
||||||
create_table "activities", force: :cascade do |t|
|
create_table "activities", force: :cascade do |t|
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
@@ -211,6 +213,7 @@ ActiveRecord::Schema.define(version: 20151028145921) do
|
|||||||
t.string "responsible_name", limit: 60
|
t.string "responsible_name", limit: 60
|
||||||
t.text "summary"
|
t.text "summary"
|
||||||
t.string "video_url"
|
t.string "video_url"
|
||||||
|
t.integer "physical_votes", default: 0
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "proposals", ["author_id", "hidden_at"], name: "index_proposals_on_author_id_and_hidden_at", using: :btree
|
add_index "proposals", ["author_id", "hidden_at"], name: "index_proposals_on_author_id_and_hidden_at", using: :btree
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
namespace :deploy do
|
|
||||||
desc "compiles assets locally then rsyncs"
|
|
||||||
task :beta_testers do
|
|
||||||
on roles(:app) do |role|
|
|
||||||
run_locally do
|
|
||||||
execute"rsync -av ./config/beta-testers.txt #{role.user}@#{role.hostname}:#{shared_path}/config/beta-testers.txt;"
|
|
||||||
end
|
|
||||||
"chmod -R 755 #{shared_path}/config/beta-testers.txt"
|
|
||||||
execute "ln -nfs #{shared_path}/config/beta-testers.txt #{current_path}/config/beta-testers.txt"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -37,7 +37,7 @@ feature 'Account' do
|
|||||||
check 'account_email_on_comment_reply'
|
check 'account_email_on_comment_reply'
|
||||||
click_button 'Save changes'
|
click_button 'Save changes'
|
||||||
|
|
||||||
expect(page).to have_content "Saved"
|
expect(page).to have_content "Changes saved"
|
||||||
|
|
||||||
visit account_path
|
visit account_path
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ feature 'Account' do
|
|||||||
check 'account_email_on_comment_reply'
|
check 'account_email_on_comment_reply'
|
||||||
click_button 'Save changes'
|
click_button 'Save changes'
|
||||||
|
|
||||||
expect(page).to have_content "Saved"
|
expect(page).to have_content "Changes saved"
|
||||||
|
|
||||||
visit account_path
|
visit account_path
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ feature 'Account' do
|
|||||||
|
|
||||||
click_button 'Erase my account'
|
click_button 'Erase my account'
|
||||||
|
|
||||||
expect(page).to have_content "Your account has been successfully cancelled"
|
expect(page).to have_content "Goodbye! Your account has been cancelled. We hope to see you again soon."
|
||||||
|
|
||||||
login_through_form_as(@user)
|
login_through_form_as(@user)
|
||||||
|
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ feature 'Admin activity' do
|
|||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
|
|
||||||
within("#proposal_#{proposal.id}") do
|
within("#proposal_#{proposal.id}") do
|
||||||
click_link 'Ban author'
|
click_link 'Hide author'
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path
|
||||||
@@ -221,7 +221,7 @@ feature 'Admin activity' do
|
|||||||
visit moderation_users_path(name_or_email: user.username)
|
visit moderation_users_path(name_or_email: user.username)
|
||||||
|
|
||||||
within(".admin-list") do
|
within(".admin-list") do
|
||||||
click_link 'Ban'
|
click_link 'Block'
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ feature 'Admin comments' do
|
|||||||
|
|
||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
within("#proposal_#{proposal.id}") do
|
within("#proposal_#{proposal.id}") do
|
||||||
click_link 'Ban author'
|
click_link 'Hide author'
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_comments_path
|
visit admin_comments_path
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ feature 'Admin officials' do
|
|||||||
select '3', from: 'user_official_level', exact: false
|
select '3', from: 'user_official_level', exact: false
|
||||||
click_button 'Update User'
|
click_button 'Update User'
|
||||||
|
|
||||||
expect(page).to have_content 'Official position saved!'
|
expect(page).to have_content 'Details of official saved'
|
||||||
|
|
||||||
visit admin_officials_path
|
visit admin_officials_path
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ feature 'Admin officials' do
|
|||||||
select '4', from: 'user_official_level', exact: false
|
select '4', from: 'user_official_level', exact: false
|
||||||
click_button 'Update User'
|
click_button 'Update User'
|
||||||
|
|
||||||
expect(page).to have_content 'Official position saved!'
|
expect(page).to have_content 'Details of official saved'
|
||||||
|
|
||||||
visit admin_officials_path
|
visit admin_officials_path
|
||||||
|
|
||||||
@@ -68,9 +68,9 @@ feature 'Admin officials' do
|
|||||||
scenario 'Destroy' do
|
scenario 'Destroy' do
|
||||||
visit edit_admin_official_path(@official)
|
visit edit_admin_official_path(@official)
|
||||||
|
|
||||||
click_link "Remove 'Official' condition"
|
click_link "Remove 'Official' status"
|
||||||
|
|
||||||
expect(page).to have_content 'User is not an official anymore'
|
expect(page).to have_content 'Details saved: the user is no longer an official'
|
||||||
expect(current_path).to eq(admin_officials_path)
|
expect(current_path).to eq(admin_officials_path)
|
||||||
expect(page).to_not have_content @citizen.name
|
expect(page).to_not have_content @citizen.name
|
||||||
expect(page).to_not have_content @official.name
|
expect(page).to_not have_content @official.name
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ feature 'Admin::Organizations' do
|
|||||||
expect(page).to have_content(org.user.email)
|
expect(page).to have_content(org.user.email)
|
||||||
expect(page).to_not have_content("Greentroll")
|
expect(page).to_not have_content("Greentroll")
|
||||||
expect(page).to_not have_content("trol@troller.com")
|
expect(page).to_not have_content("trol@troller.com")
|
||||||
expect(page).to have_content("There is 1 organization without user or with the user banned")
|
expect(page).to have_content("There is also one organisation with no users or with a hidden user")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,6 @@ feature 'Admin settings' do
|
|||||||
click_button 'Update'
|
click_button 'Update'
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content 'Setting updated!'
|
expect(page).to have_content 'Value updated'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -54,7 +54,7 @@ feature 'Admin tags' do
|
|||||||
expect(page).to have_content tag2.name
|
expect(page).to have_content tag2.name
|
||||||
|
|
||||||
within("#edit_tag_#{tag2.id}") do
|
within("#edit_tag_#{tag2.id}") do
|
||||||
click_link 'Delete Topic'
|
click_link 'Destroy Topic'
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_tags_path
|
visit admin_tags_path
|
||||||
@@ -73,7 +73,7 @@ feature 'Admin tags' do
|
|||||||
expect(page).to have_content tag2.name
|
expect(page).to have_content tag2.name
|
||||||
|
|
||||||
within("#edit_tag_#{tag2.id}") do
|
within("#edit_tag_#{tag2.id}") do
|
||||||
click_link 'Delete Topic'
|
click_link 'Destroy Topic'
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_tags_path
|
visit admin_tags_path
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ feature 'Incomplete verifications' do
|
|||||||
visit admin_verifications_path
|
visit admin_verifications_path
|
||||||
|
|
||||||
within "#user_#{incompletely_verified_user.id}" do
|
within "#user_#{incompletely_verified_user.id}" do
|
||||||
expect(page).to have_content "Spanish ID"
|
expect(page).to have_content "DNI"
|
||||||
expect(page).to have_content incompletely_verified_user.document_number
|
expect(page).to have_content incompletely_verified_user.document_number
|
||||||
expect(page).to have_content Date.new(1900, 1, 1)
|
expect(page).to have_content Date.new(1900, 1, 1)
|
||||||
expect(page).to have_content "28000"
|
expect(page).to have_content "28000"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ feature 'Admin' do
|
|||||||
|
|
||||||
expect(current_path).not_to eq(admin_root_path)
|
expect(current_path).not_to eq(admin_root_path)
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content "not authorized"
|
expect(page).to have_content "You do not have permission to access this page"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Access as a moderator is not authorized' do
|
scenario 'Access as a moderator is not authorized' do
|
||||||
@@ -26,7 +26,7 @@ feature 'Admin' do
|
|||||||
|
|
||||||
expect(current_path).not_to eq(admin_root_path)
|
expect(current_path).not_to eq(admin_root_path)
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content "not authorized"
|
expect(page).to have_content "You do not have permission to access this page"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Access as an administrator is authorized' do
|
scenario 'Access as an administrator is authorized' do
|
||||||
@@ -34,7 +34,7 @@ feature 'Admin' do
|
|||||||
visit admin_root_path
|
visit admin_root_path
|
||||||
|
|
||||||
expect(current_path).to eq(admin_root_path)
|
expect(current_path).to eq(admin_root_path)
|
||||||
expect(page).to_not have_content "not authorized"
|
expect(page).to_not have_content "You do not have permission to access this page"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Admin access links" do
|
scenario "Admin access links" do
|
||||||
@@ -99,7 +99,7 @@ feature 'Admin' do
|
|||||||
|
|
||||||
expect(page).to have_content 'Mi barrio'
|
expect(page).to have_content 'Mi barrio'
|
||||||
|
|
||||||
click_link 'Delete Topic'
|
click_link 'Destroy Topic'
|
||||||
|
|
||||||
expect(page).not_to have_content 'Mi barrio'
|
expect(page).not_to have_content 'Mi barrio'
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
feature 'Beta testers' do
|
|
||||||
|
|
||||||
background do
|
|
||||||
allow_any_instance_of(ApplicationController).
|
|
||||||
to receive(:beta_site?).and_return(true)
|
|
||||||
|
|
||||||
allow_any_instance_of(ApplicationController).
|
|
||||||
to receive(:beta_testers).and_return(['isabel@example.com'])
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'Beta testers should have access' do
|
|
||||||
visit root_path
|
|
||||||
sign_up('isabel@example.com', 'secretpassword')
|
|
||||||
confirm_email
|
|
||||||
|
|
||||||
fill_in 'user_email', with: 'isabel@example.com'
|
|
||||||
fill_in 'user_password', with: 'secretpassword'
|
|
||||||
click_button 'Log in'
|
|
||||||
|
|
||||||
expect(page).to have_content "Signed in successfully."
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'Non beta testers should not have access' do
|
|
||||||
visit root_path
|
|
||||||
sign_up('other@example.com', 'secretpassword')
|
|
||||||
confirm_email
|
|
||||||
|
|
||||||
fill_in 'user_email', with: 'other@example.com'
|
|
||||||
fill_in 'user_password', with: 'secretpassword'
|
|
||||||
click_button 'Log in'
|
|
||||||
|
|
||||||
expect(page).to have_content "Sorry only Beta Testers are allowed access at the moment"
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario "Trying to access site without being logged in" do
|
|
||||||
visit debates_path
|
|
||||||
|
|
||||||
expect(page).to have_content "Sorry only Beta Testers are allowed access at the moment"
|
|
||||||
expect(current_path).to eq(new_user_session_path)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -100,7 +100,7 @@ feature 'Commenting debates' do
|
|||||||
create(:comment, commentable: debate)
|
create(:comment, commentable: debate)
|
||||||
visit debate_path(debate)
|
visit debate_path(debate)
|
||||||
|
|
||||||
expect(page).to have_content 'You need to sign in or sign up to comment'
|
expect(page).to have_content 'You must Sign in or Sign up to leave a comment'
|
||||||
within('#comments') do
|
within('#comments') do
|
||||||
expect(page).to_not have_content 'Write a comment'
|
expect(page).to_not have_content 'Write a comment'
|
||||||
expect(page).to_not have_content 'Reply'
|
expect(page).to_not have_content 'Reply'
|
||||||
@@ -233,7 +233,7 @@ feature 'Commenting debates' do
|
|||||||
|
|
||||||
visit debate_path(debate)
|
visit debate_path(debate)
|
||||||
within "#comment_#{comment.id}" do
|
within "#comment_#{comment.id}" do
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
expect(page).to have_content('this should be visible')
|
expect(page).to have_content('this should be visible')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ feature 'Commenting proposals' do
|
|||||||
create(:comment, commentable: proposal)
|
create(:comment, commentable: proposal)
|
||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
|
|
||||||
expect(page).to have_content 'You need to sign in or sign up to comment'
|
expect(page).to have_content 'You must Sign in or Sign up to leave a comment'
|
||||||
within('#comments') do
|
within('#comments') do
|
||||||
expect(page).to_not have_content 'Write a comment'
|
expect(page).to_not have_content 'Write a comment'
|
||||||
expect(page).to_not have_content 'Reply'
|
expect(page).to_not have_content 'Reply'
|
||||||
@@ -233,7 +233,7 @@ feature 'Commenting proposals' do
|
|||||||
|
|
||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
within "#comment_#{comment.id}" do
|
within "#comment_#{comment.id}" do
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
expect(page).to have_content('this should be visible')
|
expect(page).to have_content('this should be visible')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
visit debates_path(order: :hot_score, page: 1)
|
visit debates_path(order: :hot_score, page: 1)
|
||||||
first(:link, debate.title).click
|
first(:link, debate.title).click
|
||||||
link_text = find_link('Back')[:href]
|
link_text = find_link('Go back')[:href]
|
||||||
|
|
||||||
expect(link_text).to include(debates_path order: :hot_score, page: 1)
|
expect(link_text).to include(debates_path order: :hot_score, page: 1)
|
||||||
end
|
end
|
||||||
@@ -74,7 +74,7 @@ feature 'Debates' do
|
|||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'A title for a debate'
|
expect(page).to have_content 'A title for a debate'
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
expect(page).to have_content 'This is very important because...'
|
expect(page).to have_content 'This is very important because...'
|
||||||
expect(page).to have_content author.name
|
expect(page).to have_content author.name
|
||||||
expect(page).to have_content I18n.l(Debate.last.created_at.to_date)
|
expect(page).to have_content I18n.l(Debate.last.created_at.to_date)
|
||||||
@@ -91,13 +91,13 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button "Start a debate"
|
click_button "Start a debate"
|
||||||
|
|
||||||
expect(page).to_not have_content "Debate was successfully created."
|
expect(page).to_not have_content "Debate created successfully."
|
||||||
expect(page).to have_content "1 error"
|
expect(page).to have_content "1 error"
|
||||||
|
|
||||||
fill_in 'debate_captcha', with: correct_captcha_text
|
fill_in 'debate_captcha', with: correct_captcha_text
|
||||||
click_button "Start a debate"
|
click_button "Start a debate"
|
||||||
|
|
||||||
expect(page).to have_content "Debate was successfully created."
|
expect(page).to have_content "Debate created successfully."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Failed creation goes back to new showing featured tags' do
|
scenario 'Failed creation goes back to new showing featured tags' do
|
||||||
@@ -113,7 +113,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button "Start a debate"
|
click_button "Start a debate"
|
||||||
|
|
||||||
expect(page).to_not have_content "Debate was successfully created."
|
expect(page).to_not have_content "Debate created successfully."
|
||||||
expect(page).to have_content "error"
|
expect(page).to have_content "error"
|
||||||
within(".tags") do
|
within(".tags") do
|
||||||
expect(page).to have_content featured_tag.name
|
expect(page).to have_content featured_tag.name
|
||||||
@@ -142,7 +142,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
expect(page).to have_content 'Testing an attack'
|
expect(page).to have_content 'Testing an attack'
|
||||||
expect(page.html).to include '<p>This is alert("an attack");</p>'
|
expect(page.html).to include '<p>This is alert("an attack");</p>'
|
||||||
expect(page.html).to_not include '<script>alert("an attack");</script>'
|
expect(page.html).to_not include '<script>alert("an attack");</script>'
|
||||||
@@ -161,7 +161,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
expect(page).to have_content 'Testing auto link'
|
expect(page).to have_content 'Testing auto link'
|
||||||
expect(page).to have_link('www.example.org', href: 'http://www.example.org')
|
expect(page).to have_link('www.example.org', href: 'http://www.example.org')
|
||||||
end
|
end
|
||||||
@@ -178,13 +178,13 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
expect(page).to have_content 'Testing auto link'
|
expect(page).to have_content 'Testing auto link'
|
||||||
expect(page).to have_link('http://example.org', href: 'http://example.org')
|
expect(page).to have_link('http://example.org', href: 'http://example.org')
|
||||||
expect(page).not_to have_link('click me')
|
expect(page).not_to have_link('click me')
|
||||||
expect(page.html).to_not include "<script>alert('hey')</script>"
|
expect(page.html).to_not include "<script>alert('hey')</script>"
|
||||||
|
|
||||||
click_link 'Edit debate'
|
click_link 'Edit'
|
||||||
|
|
||||||
expect(current_path).to eq edit_debate_path(Debate.last)
|
expect(current_path).to eq edit_debate_path(Debate.last)
|
||||||
expect(page).not_to have_link('click me')
|
expect(page).not_to have_link('click me')
|
||||||
@@ -216,7 +216,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
['Medio Ambiente', 'Ciencia'].each do |tag_name|
|
['Medio Ambiente', 'Ciencia'].each do |tag_name|
|
||||||
expect(page).to have_content tag_name
|
expect(page).to have_content tag_name
|
||||||
end
|
end
|
||||||
@@ -234,7 +234,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
expect(page).to have_content 'user_id1'
|
expect(page).to have_content 'user_id1'
|
||||||
expect(page).to have_content 'a3'
|
expect(page).to have_content 'a3'
|
||||||
expect(page).to have_content 'scriptalert("hey");script'
|
expect(page).to have_content 'scriptalert("hey");script'
|
||||||
@@ -250,7 +250,7 @@ feature 'Debates' do
|
|||||||
visit edit_debate_path(debate)
|
visit edit_debate_path(debate)
|
||||||
expect(current_path).not_to eq(edit_debate_path(debate))
|
expect(current_path).not_to eq(edit_debate_path(debate))
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content 'not authorized'
|
expect(page).to have_content "You do not have permission to carry out the action 'edit' on debate."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Update should not be posible if debate is not editable' do
|
scenario 'Update should not be posible if debate is not editable' do
|
||||||
@@ -265,7 +265,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
expect(current_path).not_to eq(edit_debate_path(debate))
|
expect(current_path).not_to eq(edit_debate_path(debate))
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content 'not authorized'
|
expect(page).to have_content 'You do not have permission to'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Update should be posible for the author of an editable debate' do
|
scenario 'Update should be posible for the author of an editable debate' do
|
||||||
@@ -281,7 +281,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to have_content "Debate was successfully updated."
|
expect(page).to have_content "Debate updated successfully."
|
||||||
expect(page).to have_content "End child poverty"
|
expect(page).to have_content "End child poverty"
|
||||||
expect(page).to have_content "Let's do something to end child poverty"
|
expect(page).to have_content "Let's do something to end child poverty"
|
||||||
end
|
end
|
||||||
@@ -308,13 +308,13 @@ feature 'Debates' do
|
|||||||
fill_in 'debate_captcha', with: "wrong!"
|
fill_in 'debate_captcha', with: "wrong!"
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to_not have_content "Debate was successfully updated."
|
expect(page).to_not have_content "Debate updated successfully."
|
||||||
expect(page).to have_content "error"
|
expect(page).to have_content "error"
|
||||||
|
|
||||||
fill_in 'debate_captcha', with: correct_captcha_text
|
fill_in 'debate_captcha', with: correct_captcha_text
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to have_content "Debate was successfully updated."
|
expect(page).to have_content "Debate updated successfully."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Failed update goes back to edit showing featured tags' do
|
scenario 'Failed update goes back to edit showing featured tags' do
|
||||||
@@ -330,7 +330,7 @@ feature 'Debates' do
|
|||||||
fill_in 'debate_captcha', with: correct_captcha_text
|
fill_in 'debate_captcha', with: correct_captcha_text
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to_not have_content "Debate was successfully updated."
|
expect(page).to_not have_content "Debate updated successfully."
|
||||||
expect(page).to have_content "error"
|
expect(page).to have_content "error"
|
||||||
within(".tags") do
|
within(".tags") do
|
||||||
expect(page).to have_content featured_tag.name
|
expect(page).to have_content featured_tag.name
|
||||||
@@ -419,7 +419,7 @@ feature 'Debates' do
|
|||||||
create(:debate, title: 'Medium').update_column(:confidence_score, 5)
|
create(:debate, title: 'Medium').update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
select 'best rated', from: 'order-selector'
|
select 'highest rated', from: 'order-selector'
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||||
|
|
||||||
@@ -504,10 +504,12 @@ feature 'Debates' do
|
|||||||
|
|
||||||
within("#debates") do
|
within("#debates") do
|
||||||
expect(page).to have_css('.debate', count: 4)
|
expect(page).to have_css('.debate', count: 4)
|
||||||
|
|
||||||
expect(page).to have_content(debate2.title)
|
expect(page).to have_content(debate2.title)
|
||||||
expect(page).to have_content(debate4.title)
|
expect(page).to have_content(debate4.title)
|
||||||
expect(page).to have_content(debate5.title)
|
expect(page).to have_content(debate5.title)
|
||||||
expect(page).to have_content(debate6.title)
|
expect(page).to have_content(debate6.title)
|
||||||
|
|
||||||
expect(page).to_not have_content(debate1.title)
|
expect(page).to_not have_content(debate1.title)
|
||||||
expect(page).to_not have_content(debate3.title)
|
expect(page).to_not have_content(debate3.title)
|
||||||
end
|
end
|
||||||
@@ -518,10 +520,10 @@ feature 'Debates' do
|
|||||||
conflictive_debate = create(:debate, :conflictive)
|
conflictive_debate = create(:debate, :conflictive)
|
||||||
|
|
||||||
visit debate_path(conflictive_debate)
|
visit debate_path(conflictive_debate)
|
||||||
expect(page).to have_content "This debate has been flag as innapropiate for some users."
|
expect(page).to have_content "This debate has been flagged as inappropriate by several users."
|
||||||
|
|
||||||
visit debate_path(good_debate)
|
visit debate_path(good_debate)
|
||||||
expect(page).to_not have_content "This debate has been flag as innapropiate for some users."
|
expect(page).to_not have_content "This debate has been flagged as inappropriate by several users."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Erased author' do
|
scenario 'Erased author' do
|
||||||
@@ -530,9 +532,9 @@ feature 'Debates' do
|
|||||||
user.erase
|
user.erase
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
|
|
||||||
visit debate_path(debate)
|
visit debate_path(debate)
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ feature 'Emails' do
|
|||||||
reset_password
|
reset_password
|
||||||
|
|
||||||
email = open_last_email
|
email = open_last_email
|
||||||
expect(email).to have_subject('Reset password instructions')
|
expect(email).to have_subject('Instructions for resetting your password')
|
||||||
expect(email).to deliver_to('manuela@madrid.es')
|
expect(email).to deliver_to('manuela@madrid.es')
|
||||||
expect(email).to have_body_text(edit_user_password_path)
|
expect(email).to have_body_text(edit_user_password_path)
|
||||||
end
|
end
|
||||||
@@ -31,7 +31,7 @@ feature 'Emails' do
|
|||||||
comment_on(proposal)
|
comment_on(proposal)
|
||||||
|
|
||||||
email = open_last_email
|
email = open_last_email
|
||||||
expect(email).to have_subject('Someone has commented on your proposal')
|
expect(email).to have_subject('Someone has commented on your citizen proposal')
|
||||||
expect(email).to deliver_to(proposal.author)
|
expect(email).to deliver_to(proposal.author)
|
||||||
expect(email).to have_body_text(proposal_path(proposal))
|
expect(email).to have_body_text(proposal_path(proposal))
|
||||||
end
|
end
|
||||||
@@ -88,7 +88,7 @@ feature 'Emails' do
|
|||||||
reply_to(user)
|
reply_to(user)
|
||||||
|
|
||||||
email = open_last_email
|
email = open_last_email
|
||||||
expect(email).to have_subject('Someone has replied to your comment')
|
expect(email).to have_subject('Someone has responded to your comment')
|
||||||
expect(email).to deliver_to(user)
|
expect(email).to deliver_to(user)
|
||||||
expect(email).to have_body_text(debate_path(Comment.first.commentable))
|
expect(email).to have_body_text(debate_path(Comment.first.commentable))
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ feature "Highlights" do
|
|||||||
|
|
||||||
visit highlights_path
|
visit highlights_path
|
||||||
|
|
||||||
expect(page).to have_link("Start a proposal")
|
expect(page).to have_link("Create a proposal")
|
||||||
expect(page).to have_link("Start a debate")
|
expect(page).to have_link("Start a debate")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ feature "Home" do
|
|||||||
scenario 'Welcome message' do
|
scenario 'Welcome message' do
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).to have_content "we open this digital Puerta del Sol"
|
expect(page).to have_content "Love the city, and it will become a city you love"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ feature 'EmailVerifications' do
|
|||||||
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
visit email_path(email_verification_token: sent_token)
|
visit email_path(email_verification_token: sent_token)
|
||||||
|
|
||||||
expect(page).to have_content "You are now a verified user"
|
expect(page).to have_content "You are a verified user"
|
||||||
|
|
||||||
expect(page).to_not have_link "Verify my account"
|
expect(page).to_not have_link "Verify my account"
|
||||||
expect(page).to have_content "Verified account"
|
expect(page).to have_content "Account verified"
|
||||||
|
|
||||||
expect(user.reload.document_number).to eq('1234')
|
expect(user.reload.document_number).to eq('1234')
|
||||||
expect(user).to be_level_three_verified
|
expect(user).to be_level_three_verified
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
|
|
||||||
expect(page).to have_content 'Help refugees'
|
expect(page).to have_content 'Help refugees'
|
||||||
expect(page).to have_content '¿Would you like to give assistance to war refugees?'
|
expect(page).to have_content '¿Would you like to give assistance to war refugees?'
|
||||||
@@ -120,7 +120,7 @@ feature 'Proposals' do
|
|||||||
find('.in-favor a').click
|
find('.in-favor a').click
|
||||||
|
|
||||||
expect(page).to have_content "1 support"
|
expect(page).to have_content "1 support"
|
||||||
expect(page).to have_content "You already supported this proposal"
|
expect(page).to have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
expect(current_path).to eq(management_proposals_path)
|
expect(current_path).to eq(management_proposals_path)
|
||||||
end
|
end
|
||||||
@@ -139,7 +139,7 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
find('.in-favor a').click
|
find('.in-favor a').click
|
||||||
expect(page).to have_content "1 support"
|
expect(page).to have_content "1 support"
|
||||||
expect(page).to have_content "You already supported this proposal"
|
expect(page).to have_content "You have already supported this proposal. Share it!"
|
||||||
expect(current_path).to eq(management_proposal_path(proposal))
|
expect(current_path).to eq(management_proposal_path(proposal))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ feature 'users' do
|
|||||||
|
|
||||||
expect(user.reload).to be_confirmed
|
expect(user.reload).to be_confirmed
|
||||||
|
|
||||||
expect(page).to have_content "Your email address has been successfully confirmed."
|
expect(page).to have_content "Your account has been confirmed."
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -75,7 +75,7 @@ feature 'Moderate comments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Ignore the comment' do
|
scenario 'Ignore the comment' do
|
||||||
click_on "Ignore flags"
|
click_on "Mark as viewed"
|
||||||
expect(page).to_not have_css("comment_#{@comment.id}")
|
expect(page).to_not have_css("comment_#{@comment.id}")
|
||||||
expect(@comment.reload).to be_ignored_flag
|
expect(@comment.reload).to be_ignored_flag
|
||||||
expect(@comment.reload).to_not be_hidden
|
expect(@comment.reload).to_not be_hidden
|
||||||
@@ -106,7 +106,7 @@ feature 'Moderate comments' do
|
|||||||
|
|
||||||
visit moderation_comments_path(filter: 'all', page: '2', order: 'created_at')
|
visit moderation_comments_path(filter: 'all', page: '2', order: 'created_at')
|
||||||
|
|
||||||
click_on "Ignore flags"
|
click_on "Mark as viewed"
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||||
|
|
||||||
@@ -120,27 +120,27 @@ feature 'Moderate comments' do
|
|||||||
visit moderation_comments_path
|
visit moderation_comments_path
|
||||||
expect(page).to_not have_link('Pending')
|
expect(page).to_not have_link('Pending')
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Marked as viewed')
|
||||||
|
|
||||||
visit moderation_comments_path(filter: 'all')
|
visit moderation_comments_path(filter: 'all')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to_not have_link('All')
|
expect(page).to_not have_link('All')
|
||||||
expect(page).to have_link('Pending')
|
expect(page).to have_link('Pending')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
|
|
||||||
visit moderation_comments_path(filter: 'pending_flag_review')
|
visit moderation_comments_path(filter: 'pending_flag_review')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to_not have_link('Pending')
|
expect(page).to_not have_link('Pending')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
|
|
||||||
visit moderation_comments_path(filter: 'with_ignored_flag')
|
visit moderation_comments_path(filter: 'with_ignored_flag')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to have_link('Pending')
|
expect(page).to have_link('Pending')
|
||||||
expect(page).to_not have_link('Ignored')
|
expect(page).to_not have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ feature 'Moderate debates' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Ignore the debate' do
|
scenario 'Ignore the debate' do
|
||||||
click_on "Ignore flags"
|
click_on "Mark as viewed"
|
||||||
expect(page).to_not have_css("debate_#{@debate.id}")
|
expect(page).to_not have_css("debate_#{@debate.id}")
|
||||||
expect(@debate.reload).to be_ignored_flag
|
expect(@debate.reload).to be_ignored_flag
|
||||||
expect(@debate.reload).to_not be_hidden
|
expect(@debate.reload).to_not be_hidden
|
||||||
@@ -105,7 +105,7 @@ feature 'Moderate debates' do
|
|||||||
|
|
||||||
visit moderation_debates_path(filter: 'all', page: '2', order: 'created_at')
|
visit moderation_debates_path(filter: 'all', page: '2', order: 'created_at')
|
||||||
|
|
||||||
click_on "Ignore flags"
|
click_on "Mark as viewed"
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||||
|
|
||||||
@@ -119,27 +119,27 @@ feature 'Moderate debates' do
|
|||||||
visit moderation_debates_path
|
visit moderation_debates_path
|
||||||
expect(page).to_not have_link('Pending')
|
expect(page).to_not have_link('Pending')
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Marked as viewed')
|
||||||
|
|
||||||
visit moderation_debates_path(filter: 'all')
|
visit moderation_debates_path(filter: 'all')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to_not have_link('All')
|
expect(page).to_not have_link('All')
|
||||||
expect(page).to have_link('Pending')
|
expect(page).to have_link('Pending')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
|
|
||||||
visit moderation_debates_path(filter: 'pending_flag_review')
|
visit moderation_debates_path(filter: 'pending_flag_review')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to_not have_link('Pending')
|
expect(page).to_not have_link('Pending')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
|
|
||||||
visit moderation_debates_path(filter: 'with_ignored_flag')
|
visit moderation_debates_path(filter: 'with_ignored_flag')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to have_link('Pending')
|
expect(page).to have_link('Pending')
|
||||||
expect(page).to_not have_link('Ignored')
|
expect(page).to_not have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ feature 'Moderate proposals' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Ignore the proposal' do
|
scenario 'Ignore the proposal' do
|
||||||
click_on "Ignore flags"
|
click_button "Mark as viewed"
|
||||||
expect(page).to_not have_css("proposal_#{@proposal.id}")
|
expect(page).to_not have_css("proposal_#{@proposal.id}")
|
||||||
expect(@proposal.reload).to be_ignored_flag
|
expect(@proposal.reload).to be_ignored_flag
|
||||||
expect(@proposal.reload).to_not be_hidden
|
expect(@proposal.reload).to_not be_hidden
|
||||||
@@ -105,7 +105,7 @@ feature 'Moderate proposals' do
|
|||||||
|
|
||||||
visit moderation_proposals_path(filter: 'all', page: '2', order: 'created_at')
|
visit moderation_proposals_path(filter: 'all', page: '2', order: 'created_at')
|
||||||
|
|
||||||
click_on "Ignore flags"
|
click_button "Mark as viewed"
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||||
|
|
||||||
@@ -119,27 +119,27 @@ feature 'Moderate proposals' do
|
|||||||
visit moderation_proposals_path
|
visit moderation_proposals_path
|
||||||
expect(page).to_not have_link('Pending')
|
expect(page).to_not have_link('Pending')
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Mark as viewed')
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: 'all')
|
visit moderation_proposals_path(filter: 'all')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to_not have_link('All')
|
expect(page).to_not have_link('All')
|
||||||
expect(page).to have_link('Pending')
|
expect(page).to have_link('Pending review')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Mark as viewed')
|
||||||
end
|
end
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: 'pending_flag_review')
|
visit moderation_proposals_path(filter: 'pending_flag_review')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to_not have_link('Pending')
|
expect(page).to_not have_link('Pending')
|
||||||
expect(page).to have_link('Ignored')
|
expect(page).to have_link('Mark as viewed')
|
||||||
end
|
end
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: 'with_ignored_flag')
|
visit moderation_proposals_path(filter: 'with_ignored_flag')
|
||||||
within('.sub-nav') do
|
within('.sub-nav') do
|
||||||
expect(page).to have_link('All')
|
expect(page).to have_link('All')
|
||||||
expect(page).to have_link('Pending')
|
expect(page).to have_link('Pending review')
|
||||||
expect(page).to_not have_link('Ignored')
|
expect(page).to_not have_link('Marked as viewed')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ feature 'Moderate users' do
|
|||||||
visit debate_path(debate1)
|
visit debate_path(debate1)
|
||||||
|
|
||||||
within("#debate_#{debate1.id}") do
|
within("#debate_#{debate1.id}") do
|
||||||
click_link 'Ban author'
|
click_link 'Hide author'
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_path).to eq(debates_path)
|
expect(current_path).to eq(debates_path)
|
||||||
@@ -37,12 +37,12 @@ feature 'Moderate users' do
|
|||||||
|
|
||||||
expect(page).to_not have_content(comment3.body)
|
expect(page).to_not have_content(comment3.body)
|
||||||
|
|
||||||
click_link("Logout")
|
click_link("Sign out")
|
||||||
|
|
||||||
click_link 'Log in'
|
click_link 'Sign in'
|
||||||
fill_in 'user_email', with: citizen.email
|
fill_in 'user_email', with: citizen.email
|
||||||
fill_in 'user_password', with: citizen.password
|
fill_in 'user_password', with: citizen.password
|
||||||
click_button 'Log in'
|
click_button 'Enter'
|
||||||
|
|
||||||
expect(page).to have_content 'Invalid email or password'
|
expect(page).to have_content 'Invalid email or password'
|
||||||
expect(current_path).to eq(new_user_session_path)
|
expect(current_path).to eq(new_user_session_path)
|
||||||
@@ -62,13 +62,13 @@ feature 'Moderate users' do
|
|||||||
|
|
||||||
within(".admin-list") do
|
within(".admin-list") do
|
||||||
expect(page).to have_content citizen.name
|
expect(page).to have_content citizen.name
|
||||||
expect(page).not_to have_content "Banned"
|
expect(page).not_to have_content "Blocked"
|
||||||
click_link 'Ban'
|
click_link 'Block'
|
||||||
end
|
end
|
||||||
|
|
||||||
within(".admin-list") do
|
within(".admin-list") do
|
||||||
expect(page).to have_content citizen.name
|
expect(page).to have_content citizen.name
|
||||||
expect(page).to have_content "Banned"
|
expect(page).to have_content "Blocked"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ feature 'Admin' do
|
|||||||
|
|
||||||
expect(current_path).not_to eq(moderation_root_path)
|
expect(current_path).not_to eq(moderation_root_path)
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content "not authorized"
|
expect(page).to have_content "You do not have permission to access this page"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Access as a moderator is authorized' do
|
scenario 'Access as a moderator is authorized' do
|
||||||
@@ -25,7 +25,7 @@ feature 'Admin' do
|
|||||||
click_on "Moderation"
|
click_on "Moderation"
|
||||||
|
|
||||||
expect(current_path).to eq(moderation_root_path)
|
expect(current_path).to eq(moderation_root_path)
|
||||||
expect(page).to_not have_content "not authorized"
|
expect(page).to_not have_content "You do not have permission to access this page"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Access as an administrator is authorized' do
|
scenario 'Access as an administrator is authorized' do
|
||||||
@@ -38,7 +38,7 @@ feature 'Admin' do
|
|||||||
click_on "Moderation"
|
click_on "Moderation"
|
||||||
|
|
||||||
expect(current_path).to eq(moderation_root_path)
|
expect(current_path).to eq(moderation_root_path)
|
||||||
expect(page).to_not have_content "not authorized"
|
expect(page).to_not have_content "You do not have permission to access this page"
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ feature 'Organizations' do
|
|||||||
fill_in 'user_captcha', with: correct_captcha_text
|
fill_in 'user_captcha', with: correct_captcha_text
|
||||||
check 'user_terms_of_service'
|
check 'user_terms_of_service'
|
||||||
|
|
||||||
click_button 'Sign up'
|
click_button 'Register'
|
||||||
|
|
||||||
user = User.organizations.where(email: 'green@peace.com').first
|
user = User.organizations.where(email: 'green@peace.com').first
|
||||||
expect(user).to be
|
expect(user).to be
|
||||||
@@ -27,7 +27,7 @@ feature 'Organizations' do
|
|||||||
scenario 'Errors on create' do
|
scenario 'Errors on create' do
|
||||||
visit new_organization_registration_path
|
visit new_organization_registration_path
|
||||||
|
|
||||||
click_button 'Sign up'
|
click_button 'Register'
|
||||||
|
|
||||||
expect(page).to have_content error_message
|
expect(page).to have_content error_message
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -87,9 +87,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
expect(page).to have_content 'Help refugees'
|
expect(page).to have_content 'Help refugees'
|
||||||
expect(page).to have_content '¿Would you like to give assistance to war refugees?'
|
expect(page).to have_content '¿Would you like to give assistance to war refugees?'
|
||||||
expect(page).to have_content 'In summary, what we want is...'
|
expect(page).to have_content 'In summary, what we want is...'
|
||||||
@@ -115,9 +115,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_responsible_name', with: 'Isabel Garcia'
|
fill_in 'proposal_responsible_name', with: 'Isabel Garcia'
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
expect(Proposal.last.responsible_name).to eq('Isabel Garcia')
|
expect(Proposal.last.responsible_name).to eq('Isabel Garcia')
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -136,9 +136,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Captcha is required for proposal creation' do
|
scenario 'Captcha is required for proposal creation' do
|
||||||
@@ -154,15 +154,15 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: "wrongText!"
|
fill_in 'proposal_captcha', with: "wrongText!"
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button "Start a proposal"
|
click_button "Create proposal"
|
||||||
|
|
||||||
expect(page).to_not have_content "Proposal was successfully created."
|
expect(page).to_not have_content "Proposal created successfully."
|
||||||
expect(page).to have_content "1 error"
|
expect(page).to have_content "1 error"
|
||||||
|
|
||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
click_button "Start a proposal"
|
click_button "Create proposal"
|
||||||
|
|
||||||
expect(page).to have_content "Proposal was successfully created."
|
expect(page).to have_content "Proposal created successfully."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Failed creation goes back to new showing featured tags' do
|
scenario 'Failed creation goes back to new showing featured tags' do
|
||||||
@@ -180,9 +180,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button "Start a proposal"
|
click_button "Create proposal"
|
||||||
|
|
||||||
expect(page).to_not have_content "Proposal was successfully created."
|
expect(page).to_not have_content "Proposal created successfully."
|
||||||
expect(page).to have_content "error"
|
expect(page).to have_content "error"
|
||||||
within(".tags") do
|
within(".tags") do
|
||||||
expect(page).to have_content featured_tag.name
|
expect(page).to have_content featured_tag.name
|
||||||
@@ -195,7 +195,7 @@ feature 'Proposals' do
|
|||||||
login_as(author)
|
login_as(author)
|
||||||
|
|
||||||
visit new_proposal_path
|
visit new_proposal_path
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
expect(page).to have_content error_message
|
expect(page).to have_content error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -213,9 +213,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
expect(page).to have_content 'Testing an attack'
|
expect(page).to have_content 'Testing an attack'
|
||||||
expect(page.html).to include '<p>This is alert("an attack");</p>'
|
expect(page.html).to include '<p>This is alert("an attack");</p>'
|
||||||
expect(page.html).to_not include '<script>alert("an attack");</script>'
|
expect(page.html).to_not include '<script>alert("an attack");</script>'
|
||||||
@@ -235,9 +235,9 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
expect(page).to have_content 'Testing auto link'
|
expect(page).to have_content 'Testing auto link'
|
||||||
expect(page).to have_link('www.example.org', href: 'http://www.example.org')
|
expect(page).to have_link('www.example.org', href: 'http://www.example.org')
|
||||||
end
|
end
|
||||||
@@ -255,15 +255,15 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
check 'proposal_terms_of_service'
|
check 'proposal_terms_of_service'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
expect(page).to have_content 'Testing auto link'
|
expect(page).to have_content 'Testing auto link'
|
||||||
expect(page).to have_link('http://example.org', href: 'http://example.org')
|
expect(page).to have_link('http://example.org', href: 'http://example.org')
|
||||||
expect(page).not_to have_link('click me')
|
expect(page).not_to have_link('click me')
|
||||||
expect(page.html).to_not include "<script>alert('hey')</script>"
|
expect(page.html).to_not include "<script>alert('hey')</script>"
|
||||||
|
|
||||||
click_link 'Edit proposal'
|
click_link 'Edit'
|
||||||
|
|
||||||
expect(current_path).to eq edit_proposal_path(Proposal.last)
|
expect(current_path).to eq edit_proposal_path(Proposal.last)
|
||||||
expect(page).not_to have_link('click me')
|
expect(page).not_to have_link('click me')
|
||||||
@@ -297,9 +297,9 @@ feature 'Proposals' do
|
|||||||
find('.js-add-tag-link', text: tag_name).click
|
find('.js-add-tag-link', text: tag_name).click
|
||||||
end
|
end
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
['Medio Ambiente', 'Ciencia'].each do |tag_name|
|
['Medio Ambiente', 'Ciencia'].each do |tag_name|
|
||||||
expect(page).to have_content tag_name
|
expect(page).to have_content tag_name
|
||||||
end
|
end
|
||||||
@@ -319,9 +319,9 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
fill_in 'proposal_tag_list', with: 'user_id=1, &a=3, <script>alert("hey");</script>'
|
fill_in 'proposal_tag_list', with: 'user_id=1, &a=3, <script>alert("hey");</script>'
|
||||||
|
|
||||||
click_button 'Start a proposal'
|
click_button 'Create proposal'
|
||||||
|
|
||||||
expect(page).to have_content 'Proposal was successfully created.'
|
expect(page).to have_content 'Proposal created successfully.'
|
||||||
expect(page).to have_content 'user_id1'
|
expect(page).to have_content 'user_id1'
|
||||||
expect(page).to have_content 'a3'
|
expect(page).to have_content 'a3'
|
||||||
expect(page).to have_content 'scriptalert("hey");script'
|
expect(page).to have_content 'scriptalert("hey");script'
|
||||||
@@ -337,7 +337,7 @@ feature 'Proposals' do
|
|||||||
visit edit_proposal_path(proposal)
|
visit edit_proposal_path(proposal)
|
||||||
expect(current_path).not_to eq(edit_proposal_path(proposal))
|
expect(current_path).not_to eq(edit_proposal_path(proposal))
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content 'not authorized'
|
expect(page).to have_content 'You do not have permission'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Update should not be posible if proposal is not editable' do
|
scenario 'Update should not be posible if proposal is not editable' do
|
||||||
@@ -352,7 +352,7 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
expect(current_path).not_to eq(edit_proposal_path(proposal))
|
expect(current_path).not_to eq(edit_proposal_path(proposal))
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
expect(page).to have_content 'not authorized'
|
expect(page).to have_content 'You do not have permission'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Update should be posible for the author of an editable proposal' do
|
scenario 'Update should be posible for the author of an editable proposal' do
|
||||||
@@ -372,7 +372,7 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to have_content "Proposal was successfully updated."
|
expect(page).to have_content "Proposal updated successfully."
|
||||||
expect(page).to have_content "Basically..."
|
expect(page).to have_content "Basically..."
|
||||||
expect(page).to have_content "End child poverty"
|
expect(page).to have_content "End child poverty"
|
||||||
expect(page).to have_content "Let's do something to end child poverty"
|
expect(page).to have_content "Let's do something to end child poverty"
|
||||||
@@ -400,13 +400,13 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: "wrong!"
|
fill_in 'proposal_captcha', with: "wrong!"
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to_not have_content "Proposal was successfully updated."
|
expect(page).to_not have_content "Proposal updated successfully."
|
||||||
expect(page).to have_content "error"
|
expect(page).to have_content "error"
|
||||||
|
|
||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to have_content "Proposal was successfully updated."
|
expect(page).to have_content "Proposal updated successfully."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Failed update goes back to edit showing featured tags' do
|
scenario 'Failed update goes back to edit showing featured tags' do
|
||||||
@@ -422,7 +422,7 @@ feature 'Proposals' do
|
|||||||
fill_in 'proposal_captcha', with: correct_captcha_text
|
fill_in 'proposal_captcha', with: correct_captcha_text
|
||||||
click_button "Save changes"
|
click_button "Save changes"
|
||||||
|
|
||||||
expect(page).to_not have_content "Proposal was successfully updated."
|
expect(page).to_not have_content "Proposal updated successfully."
|
||||||
expect(page).to have_content "error"
|
expect(page).to have_content "error"
|
||||||
within(".tags") do
|
within(".tags") do
|
||||||
expect(page).to have_content featured_tag.name
|
expect(page).to have_content featured_tag.name
|
||||||
@@ -482,7 +482,7 @@ feature 'Proposals' do
|
|||||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
select 'most supported', from: 'order-selector'
|
select 'highest rated', from: 'order-selector'
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||||
|
|
||||||
@@ -559,7 +559,7 @@ feature 'Proposals' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'proposal index search' do
|
scenario 'Proposal index search' do
|
||||||
proposal1 = create(:proposal, title: "Show me what you got")
|
proposal1 = create(:proposal, title: "Show me what you got")
|
||||||
proposal2 = create(:proposal, title: "Get Schwifty")
|
proposal2 = create(:proposal, title: "Get Schwifty")
|
||||||
proposal3 = create(:proposal)
|
proposal3 = create(:proposal)
|
||||||
@@ -574,23 +574,47 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
within("#proposals") do
|
within("#proposals") do
|
||||||
expect(page).to have_css('.proposal', count: 3)
|
expect(page).to have_css('.proposal', count: 3)
|
||||||
|
|
||||||
expect(page).to have_content(proposal2.title)
|
expect(page).to have_content(proposal2.title)
|
||||||
expect(page).to have_content(proposal4.title)
|
expect(page).to have_content(proposal4.title)
|
||||||
expect(page).to have_content(proposal5.title)
|
expect(page).to have_content(proposal5.title)
|
||||||
|
|
||||||
expect(page).to_not have_content(proposal1.title)
|
expect(page).to_not have_content(proposal1.title)
|
||||||
expect(page).to_not have_content(proposal3.title)
|
expect(page).to_not have_content(proposal3.title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario 'Index search does not show featured proposals' do
|
||||||
|
featured_proposals = create_featured_proposals
|
||||||
|
proposal = create(:proposal, title: "Abcdefghi")
|
||||||
|
|
||||||
|
visit proposals_path
|
||||||
|
fill_in "search", with: proposal.title
|
||||||
|
click_button "Search"
|
||||||
|
|
||||||
|
expect(page).to_not have_selector('#proposals .proposal-featured')
|
||||||
|
expect(page).to_not have_selector('#featured-proposals')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'Tag index tag does not show featured proposals' do
|
||||||
|
featured_proposals = create_featured_proposals
|
||||||
|
proposal = create(:proposal, tag_list: "123")
|
||||||
|
|
||||||
|
visit proposals_path(tag: "123")
|
||||||
|
|
||||||
|
expect(page).to_not have_selector('#proposals .proposal-featured')
|
||||||
|
expect(page).to_not have_selector('#featured-proposals')
|
||||||
|
end
|
||||||
|
|
||||||
scenario 'Conflictive' do
|
scenario 'Conflictive' do
|
||||||
good_proposal = create(:proposal)
|
good_proposal = create(:proposal)
|
||||||
conflictive_proposal = create(:proposal, :conflictive)
|
conflictive_proposal = create(:proposal, :conflictive)
|
||||||
|
|
||||||
visit proposal_path(conflictive_proposal)
|
visit proposal_path(conflictive_proposal)
|
||||||
expect(page).to have_content "This proposal has been flag as innapropiate for some users."
|
expect(page).to have_content "This proposal has been flagged as inappropriate by several users."
|
||||||
|
|
||||||
visit proposal_path(good_proposal)
|
visit proposal_path(good_proposal)
|
||||||
expect(page).to_not have_content "This proposal has been flag as innapropiate for some users."
|
expect(page).to_not have_content "This proposal has been flagged as inappropriate by several users."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Flagging", :js do
|
scenario "Flagging", :js do
|
||||||
@@ -634,14 +658,14 @@ feature 'Proposals' do
|
|||||||
user.erase
|
user.erase
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
|
|
||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
|
|
||||||
create_featured_proposals
|
create_featured_proposals
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
expect(page).to have_content('Deleted user')
|
expect(page).to have_content('User deleted')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ feature 'Tags' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully created.'
|
expect(page).to have_content 'Debate created successfully.'
|
||||||
expect(page).to have_content 'Economía'
|
expect(page).to have_content 'Economía'
|
||||||
expect(page).to have_content 'Hacienda'
|
expect(page).to have_content 'Hacienda'
|
||||||
expect(page).to have_content 'Impuestos'
|
expect(page).to have_content 'Impuestos'
|
||||||
@@ -104,7 +104,7 @@ feature 'Tags' do
|
|||||||
|
|
||||||
click_button 'Start a debate'
|
click_button 'Start a debate'
|
||||||
|
|
||||||
expect(page).to have_content '1 error prohibited this debate from being saved:'
|
expect(page).to have_content error_message
|
||||||
expect(page).to have_content 'tags must be less than or equal to 6'
|
expect(page).to have_content 'tags must be less than or equal to 6'
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ feature 'Tags' do
|
|||||||
fill_in 'debate_captcha', with: correct_captcha_text
|
fill_in 'debate_captcha', with: correct_captcha_text
|
||||||
click_button 'Save changes'
|
click_button 'Save changes'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully updated.'
|
expect(page).to have_content 'Debate updated successfully.'
|
||||||
within('.tags') do
|
within('.tags') do
|
||||||
expect(page).to have_css('a', text: 'Economía')
|
expect(page).to have_css('a', text: 'Economía')
|
||||||
expect(page).to have_css('a', text: 'Hacienda')
|
expect(page).to have_css('a', text: 'Hacienda')
|
||||||
@@ -137,7 +137,7 @@ feature 'Tags' do
|
|||||||
fill_in 'debate_captcha', with: correct_captcha_text
|
fill_in 'debate_captcha', with: correct_captcha_text
|
||||||
click_button 'Save changes'
|
click_button 'Save changes'
|
||||||
|
|
||||||
expect(page).to have_content 'Debate was successfully updated.'
|
expect(page).to have_content 'Debate updated successfully.'
|
||||||
expect(page).to_not have_content 'Economía'
|
expect(page).to_not have_content 'Economía'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ feature 'Users' do
|
|||||||
context 'Regular authentication' do
|
context 'Regular authentication' do
|
||||||
scenario 'Sign up' do
|
scenario 'Sign up' do
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Sign up'
|
click_link 'Register'
|
||||||
|
|
||||||
fill_in 'user_username', with: 'Manuela Carmena'
|
fill_in 'user_username', with: 'Manuela Carmena'
|
||||||
fill_in 'user_email', with: 'manuela@madrid.es'
|
fill_in 'user_email', with: 'manuela@madrid.es'
|
||||||
@@ -14,20 +14,20 @@ feature 'Users' do
|
|||||||
fill_in 'user_captcha', with: correct_captcha_text
|
fill_in 'user_captcha', with: correct_captcha_text
|
||||||
check 'user_terms_of_service'
|
check 'user_terms_of_service'
|
||||||
|
|
||||||
click_button 'Sign up'
|
click_button 'Register'
|
||||||
|
|
||||||
expect(page).to have_content "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
|
expect(page).to have_content "You have been sent a message containing a verification link. Please click on this link to activate your account."
|
||||||
|
|
||||||
sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
visit user_confirmation_path(confirmation_token: sent_token)
|
visit user_confirmation_path(confirmation_token: sent_token)
|
||||||
|
|
||||||
expect(page).to have_content "Your email address has been successfully confirmed"
|
expect(page).to have_content "Your account has been confirmed."
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Errors on sign up' do
|
scenario 'Errors on sign up' do
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Sign up'
|
click_link 'Register'
|
||||||
click_button 'Sign up'
|
click_button 'Register'
|
||||||
|
|
||||||
expect(page).to have_content error_message
|
expect(page).to have_content error_message
|
||||||
end
|
end
|
||||||
@@ -36,12 +36,12 @@ feature 'Users' do
|
|||||||
create(:user, email: 'manuela@madrid.es', password: 'judgementday')
|
create(:user, email: 'manuela@madrid.es', password: 'judgementday')
|
||||||
|
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Log in'
|
click_link 'Sign in'
|
||||||
fill_in 'user_email', with: 'manuela@madrid.es'
|
fill_in 'user_email', with: 'manuela@madrid.es'
|
||||||
fill_in 'user_password', with: 'judgementday'
|
fill_in 'user_password', with: 'judgementday'
|
||||||
click_button 'Log in'
|
click_button 'Enter'
|
||||||
|
|
||||||
expect(page).to have_content 'Signed in successfully.'
|
expect(page).to have_content 'You have been signed in successfully.'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ feature 'Users' do
|
|||||||
OmniAuth.config.add_mock(:twitter, omniauth_twitter_hash)
|
OmniAuth.config.add_mock(:twitter, omniauth_twitter_hash)
|
||||||
|
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Sign up'
|
click_link 'Register'
|
||||||
|
|
||||||
expect do
|
expect do
|
||||||
expect do
|
expect do
|
||||||
@@ -105,7 +105,7 @@ feature 'Users' do
|
|||||||
OmniAuth.config.add_mock(:twitter, omniauth_twitter_hash)
|
OmniAuth.config.add_mock(:twitter, omniauth_twitter_hash)
|
||||||
|
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Sign up'
|
click_link 'Register'
|
||||||
|
|
||||||
expect do
|
expect do
|
||||||
expect do
|
expect do
|
||||||
@@ -122,7 +122,7 @@ feature 'Users' do
|
|||||||
expect(user.email).to eq("omniauth@participacion-12345-twitter.com")
|
expect(user.email).to eq("omniauth@participacion-12345-twitter.com")
|
||||||
|
|
||||||
fill_in 'user_email', with: 'manueladelascarmenas@example.com'
|
fill_in 'user_email', with: 'manueladelascarmenas@example.com'
|
||||||
click_button 'Sign up'
|
click_button 'Register'
|
||||||
|
|
||||||
sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
visit user_confirmation_path(confirmation_token: sent_token)
|
visit user_confirmation_path(confirmation_token: sent_token)
|
||||||
@@ -145,7 +145,7 @@ feature 'Users' do
|
|||||||
OmniAuth.config.add_mock(:twitter, omniauth_twitter_hash)
|
OmniAuth.config.add_mock(:twitter, omniauth_twitter_hash)
|
||||||
|
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Log in'
|
click_link 'Sign in'
|
||||||
|
|
||||||
expect do
|
expect do
|
||||||
expect do
|
expect do
|
||||||
@@ -163,22 +163,22 @@ feature 'Users' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
|
|
||||||
visit "/"
|
visit "/"
|
||||||
click_link 'Logout'
|
click_link 'Sign out'
|
||||||
|
|
||||||
expect(page).to have_content 'Signed out successfully.'
|
expect(page).to have_content 'You have been signed out successfully.'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Reset password' do
|
scenario 'Reset password' do
|
||||||
create(:user, email: 'manuela@madrid.es')
|
create(:user, email: 'manuela@madrid.es')
|
||||||
|
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Log in'
|
click_link 'Sign in'
|
||||||
click_link 'Forgot your password?'
|
click_link 'Forgotten your password?'
|
||||||
|
|
||||||
fill_in 'user_email', with: 'manuela@madrid.es'
|
fill_in 'user_email', with: 'manuela@madrid.es'
|
||||||
click_button 'Send me reset password'
|
click_button 'Send instructions'
|
||||||
|
|
||||||
expect(page).to have_content "You will receive an email with instructions on how to reset your password in a few minutes."
|
expect(page).to have_content "In a few minutes, you will receive an email containing instructions on resetting your password."
|
||||||
|
|
||||||
sent_token = /.*reset_password_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
sent_token = /.*reset_password_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
visit edit_user_password_path(reset_password_token: sent_token)
|
visit edit_user_password_path(reset_password_token: sent_token)
|
||||||
@@ -187,6 +187,6 @@ feature 'Users' do
|
|||||||
fill_in 'user_password_confirmation', with: 'new password'
|
fill_in 'user_password_confirmation', with: 'new password'
|
||||||
click_button 'Change my password'
|
click_button 'Change my password'
|
||||||
|
|
||||||
expect(page).to have_content "Your password has been changed successfully. You are now signed in."
|
expect(page).to have_content "Your password has been changed successfully."
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,15 +22,15 @@ feature 'Verify email' do
|
|||||||
click_button "Send code"
|
click_button "Send code"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content 'We have send you a confirmation email to your email account: rock@example.com'
|
expect(page).to have_content 'We have sent a confirmation email to your account: rock@example.com'
|
||||||
|
|
||||||
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
visit email_path(email_verification_token: sent_token)
|
visit email_path(email_verification_token: sent_token)
|
||||||
|
|
||||||
expect(page).to have_content "You are now a verified user"
|
expect(page).to have_content "You are a verified user"
|
||||||
|
|
||||||
expect(page).to_not have_link "Verify my account"
|
expect(page).to_not have_link "Verify my account"
|
||||||
expect(page).to have_content "Verified account"
|
expect(page).to have_content "Account verified"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Errors on token verification" do
|
scenario "Errors on token verification" do
|
||||||
@@ -39,7 +39,7 @@ feature 'Verify email' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
visit email_path(email_verification_token: "1234")
|
visit email_path(email_verification_token: "1234")
|
||||||
|
|
||||||
expect(page).to have_content "Incorrect verification code"
|
expect(page).to have_content "Verification code incorrect"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Errors on sending confirmation email" do
|
scenario "Errors on sending confirmation email" do
|
||||||
@@ -60,6 +60,6 @@ feature 'Verify email' do
|
|||||||
verified_user.destroy
|
verified_user.destroy
|
||||||
click_button "Send code"
|
click_button "Send code"
|
||||||
|
|
||||||
expect(page).to have_content "There was a problem sending you an email to your account"
|
expect(page).to have_content "There was a problem with sending an email to your account"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -9,9 +9,9 @@ feature 'Verify Letter' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
visit new_letter_path
|
visit new_letter_path
|
||||||
|
|
||||||
click_link "Request a letter"
|
click_link "Send me a letter with the code"
|
||||||
|
|
||||||
expect(page).to have_content "Before voting you'll receive a letter whith the instructions for verify your account."
|
expect(page).to have_content "Thank you for requesting your maximum security code (only required for the final votes). In a few days we will send it to the address featuring in the data we have on file."
|
||||||
|
|
||||||
user.reload
|
user.reload
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ feature 'Verify Letter' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
visit new_letter_path
|
visit new_letter_path
|
||||||
|
|
||||||
expect(page).to have_link "Office of Citizen", href: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
|
expect(page).to have_link "Citizen Support Offices", href: "http://www.madrid.es/portales/munimadrid/es/Inicio/El-Ayuntamiento/Atencion-al-ciudadano/Oficinas-de-Atencion-al-Ciudadano?vgnextfmt=default&vgnextchannel=5b99cde2e09a4310VgnVCM1000000b205a0aRCRD"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Deny access unless verified residence" do
|
scenario "Deny access unless verified residence" do
|
||||||
@@ -35,7 +35,7 @@ feature 'Verify Letter' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
visit new_letter_path
|
visit new_letter_path
|
||||||
|
|
||||||
expect(page).to have_content 'You have not yet confirmed your residence'
|
expect(page).to have_content 'You have not yet confirmed your residency'
|
||||||
expect(current_path).to eq(new_residence_path)
|
expect(current_path).to eq(new_residence_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ feature 'Verify Letter' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
visit new_letter_path
|
visit new_letter_path
|
||||||
|
|
||||||
expect(page).to have_content 'You have not yet enter the confirmation code'
|
expect(page).to have_content 'You have not yet entered the confirmation code'
|
||||||
expect(current_path).to eq(new_sms_path)
|
expect(current_path).to eq(new_sms_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ feature 'Verify Letter' do
|
|||||||
fill_in "verification_letter_verification_code", with: user.letter_verification_code
|
fill_in "verification_letter_verification_code", with: user.letter_verification_code
|
||||||
click_button "Verify my account"
|
click_button "Verify my account"
|
||||||
|
|
||||||
expect(page).to have_content "Your account has been verified"
|
expect(page).to have_content "Code correct. Your account is now verified"
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ feature 'Verify Letter' do
|
|||||||
fill_in "verification_letter_verification_code", with: "12345"
|
fill_in "verification_letter_verification_code", with: "12345"
|
||||||
click_button "Verify my account"
|
click_button "Verify my account"
|
||||||
|
|
||||||
expect(page).to have_content "Your account has been verified"
|
expect(page).to have_content "Account verified"
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ feature 'Verify Letter' do
|
|||||||
fill_in "verification_letter_verification_code", with: user.letter_verification_code
|
fill_in "verification_letter_verification_code", with: user.letter_verification_code
|
||||||
click_button "Verify my account"
|
click_button "Verify my account"
|
||||||
|
|
||||||
expect(page).to have_content "Your account has been verified"
|
expect(page).to have_content "Code correct. Your account is now verified"
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ feature 'Verify Letter' do
|
|||||||
click_button "Verify my account"
|
click_button "Verify my account"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content "You have reached the maximum number of verification tries. Please try again later."
|
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -20,16 +20,16 @@ feature 'Level three verification' do
|
|||||||
click_button "Send code"
|
click_button "Send code"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content 'Phone confirmation'
|
expect(page).to have_content 'Security code confirmation'
|
||||||
|
|
||||||
user = user.reload
|
user = user.reload
|
||||||
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content "Correct code. Your account is verified"
|
expect(page).to have_content "Code correct. Your account is now verified"
|
||||||
|
|
||||||
expect(page).to_not have_link "Verify my account"
|
expect(page).to_not have_link "Verify my account"
|
||||||
expect(page).to have_content "Verified account"
|
expect(page).to have_content "Account verified"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Verification with residency and verified email' do
|
scenario 'Verification with residency and verified email' do
|
||||||
@@ -51,15 +51,15 @@ feature 'Level three verification' do
|
|||||||
click_button "Send code"
|
click_button "Send code"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content 'We have send you a confirmation email to your email account: rock@example.com'
|
expect(page).to have_content 'We have sent a confirmation email to your account: rock@example.com'
|
||||||
|
|
||||||
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
sent_token = /.*email_verification_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
visit email_path(email_verification_token: sent_token)
|
visit email_path(email_verification_token: sent_token)
|
||||||
|
|
||||||
expect(page).to have_content "You are now a verified user"
|
expect(page).to have_content "You are a verified user"
|
||||||
|
|
||||||
expect(page).to_not have_link "Verify my account"
|
expect(page).to_not have_link "Verify my account"
|
||||||
expect(page).to have_content "Verified account"
|
expect(page).to have_content "Account verified"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Verification with residency and sms and letter' do
|
scenario 'Verification with residency and sms and letter' do
|
||||||
@@ -75,16 +75,16 @@ feature 'Level three verification' do
|
|||||||
fill_in 'sms_phone', with: "611111111"
|
fill_in 'sms_phone', with: "611111111"
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Phone confirmation'
|
expect(page).to have_content 'Security code confirmation'
|
||||||
|
|
||||||
user = user.reload
|
user = user.reload
|
||||||
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Correct code'
|
expect(page).to have_content 'Code correct'
|
||||||
|
|
||||||
click_link "Request a letter"
|
click_link "Send me a letter with the code"
|
||||||
|
|
||||||
expect(page).to have_content "Before voting you'll receive a letter whith the instructions for verify your account."
|
expect(page).to have_content "Thank you for requesting your maximum security code (only required for the final votes). In a few days we will send it to the address featuring in the data we have on file."
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -14,13 +14,13 @@ feature 'Level two verification' do
|
|||||||
fill_in 'sms_phone', with: "611111111"
|
fill_in 'sms_phone', with: "611111111"
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Phone confirmation'
|
expect(page).to have_content 'Security code confirmation'
|
||||||
|
|
||||||
user = user.reload
|
user = user.reload
|
||||||
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Correct code'
|
expect(page).to have_content 'Code correct'
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -10,7 +10,7 @@ feature 'Residence' do
|
|||||||
click_link 'Verify my account'
|
click_link 'Verify my account'
|
||||||
|
|
||||||
fill_in 'residence_document_number', with: "12345678Z"
|
fill_in 'residence_document_number', with: "12345678Z"
|
||||||
select 'Spanish ID', from: 'residence_document_type'
|
select 'DNI', from: 'residence_document_type'
|
||||||
select_date '31-December-1980', from: 'residence_date_of_birth'
|
select_date '31-December-1980', from: 'residence_date_of_birth'
|
||||||
fill_in 'residence_postal_code', with: '28013'
|
fill_in 'residence_postal_code', with: '28013'
|
||||||
check 'residence_terms_of_service'
|
check 'residence_terms_of_service'
|
||||||
@@ -29,7 +29,7 @@ feature 'Residence' do
|
|||||||
|
|
||||||
click_button 'Verify residence'
|
click_button 'Verify residence'
|
||||||
|
|
||||||
expect(page).to have_content /\d errors? prevented your residence verification/
|
expect(page).to have_content /\d errors? prevented the verification of your residence/
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Error on postal code not in Madrid census' do
|
scenario 'Error on postal code not in Madrid census' do
|
||||||
@@ -40,7 +40,7 @@ feature 'Residence' do
|
|||||||
click_link 'Verify my account'
|
click_link 'Verify my account'
|
||||||
|
|
||||||
fill_in 'residence_document_number', with: "12345678Z"
|
fill_in 'residence_document_number', with: "12345678Z"
|
||||||
select 'Spanish ID', from: 'residence_document_type'
|
select 'DNI', from: 'residence_document_type'
|
||||||
select '1997', from: 'residence_date_of_birth_1i'
|
select '1997', from: 'residence_date_of_birth_1i'
|
||||||
select 'January', from: 'residence_date_of_birth_2i'
|
select 'January', from: 'residence_date_of_birth_2i'
|
||||||
select '1', from: 'residence_date_of_birth_3i'
|
select '1', from: 'residence_date_of_birth_3i'
|
||||||
@@ -49,7 +49,7 @@ feature 'Residence' do
|
|||||||
|
|
||||||
click_button 'Verify residence'
|
click_button 'Verify residence'
|
||||||
|
|
||||||
expect(page).to have_content 'To verify your account you need to be in the census of the Madrid town.'
|
expect(page).to have_content 'In order to be verified, you must be registered in the municipality of Madrid'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Error on Madrid census' do
|
scenario 'Error on Madrid census' do
|
||||||
@@ -60,7 +60,7 @@ feature 'Residence' do
|
|||||||
click_link 'Verify my account'
|
click_link 'Verify my account'
|
||||||
|
|
||||||
fill_in 'residence_document_number', with: "12345678Z"
|
fill_in 'residence_document_number', with: "12345678Z"
|
||||||
select 'Spanish ID', from: 'residence_document_type'
|
select 'DNI', from: 'residence_document_type'
|
||||||
select '1997', from: 'residence_date_of_birth_1i'
|
select '1997', from: 'residence_date_of_birth_1i'
|
||||||
select 'January', from: 'residence_date_of_birth_2i'
|
select 'January', from: 'residence_date_of_birth_2i'
|
||||||
select '1', from: 'residence_date_of_birth_3i'
|
select '1', from: 'residence_date_of_birth_3i'
|
||||||
@@ -69,7 +69,7 @@ feature 'Residence' do
|
|||||||
|
|
||||||
click_button 'Verify residence'
|
click_button 'Verify residence'
|
||||||
|
|
||||||
expect(page).to have_content 'The census of the city of Madrid could not verify your information'
|
expect(page).to have_content 'The Madrid Census was unable to verify your information'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario '5 tries allowed' do
|
scenario '5 tries allowed' do
|
||||||
@@ -81,7 +81,7 @@ feature 'Residence' do
|
|||||||
|
|
||||||
5.times do
|
5.times do
|
||||||
fill_in 'residence_document_number', with: "12345678Z"
|
fill_in 'residence_document_number', with: "12345678Z"
|
||||||
select 'Spanish ID', from: 'residence_document_type'
|
select 'DNI', from: 'residence_document_type'
|
||||||
select '1997', from: 'residence_date_of_birth_1i'
|
select '1997', from: 'residence_date_of_birth_1i'
|
||||||
select 'January', from: 'residence_date_of_birth_2i'
|
select 'January', from: 'residence_date_of_birth_2i'
|
||||||
select '1', from: 'residence_date_of_birth_3i'
|
select '1', from: 'residence_date_of_birth_3i'
|
||||||
@@ -89,15 +89,15 @@ feature 'Residence' do
|
|||||||
check 'residence_terms_of_service'
|
check 'residence_terms_of_service'
|
||||||
|
|
||||||
click_button 'Verify residence'
|
click_button 'Verify residence'
|
||||||
expect(page).to have_content 'The census of the city of Madrid could not verify your information'
|
expect(page).to have_content 'The Madrid Census was unable to verify your information'
|
||||||
end
|
end
|
||||||
|
|
||||||
click_button 'Verify residence'
|
click_button 'Verify residence'
|
||||||
expect(page).to have_content "You have reached the maximum number of verification tries. Please try again later."
|
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
|
|
||||||
visit new_residence_path
|
visit new_residence_path
|
||||||
expect(page).to have_content "You have reached the maximum number of verification tries. Please try again later."
|
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -11,13 +11,13 @@ feature 'SMS Verification' do
|
|||||||
fill_in 'sms_phone', with: "611111111"
|
fill_in 'sms_phone', with: "611111111"
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Phone confirmation'
|
expect(page).to have_content 'Security code confirmation'
|
||||||
|
|
||||||
user = user.reload
|
user = user.reload
|
||||||
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Correct code'
|
expect(page).to have_content 'Code correct'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Errors on phone number' do
|
scenario 'Errors on phone number' do
|
||||||
@@ -40,7 +40,7 @@ feature 'SMS Verification' do
|
|||||||
fill_in 'sms_phone', with: "611111111"
|
fill_in 'sms_phone', with: "611111111"
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Phone confirmation'
|
expect(page).to have_content 'Security code confirmation'
|
||||||
|
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ feature 'SMS Verification' do
|
|||||||
|
|
||||||
visit new_sms_path
|
visit new_sms_path
|
||||||
|
|
||||||
expect(page).to have_content 'You have not yet confirmed your residence'
|
expect(page).to have_content 'You have not yet confirmed your residency'
|
||||||
expect(current_path).to eq(new_residence_path)
|
expect(current_path).to eq(new_residence_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -66,14 +66,14 @@ feature 'SMS Verification' do
|
|||||||
5.times do
|
5.times do
|
||||||
fill_in 'sms_phone', with: "611111111"
|
fill_in 'sms_phone', with: "611111111"
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
click_link 'Request a new code'
|
click_link 'Click here to send it again'
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content "You have reached the maximum number of verification tries. Please try again later."
|
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
|
|
||||||
visit new_sms_path
|
visit new_sms_path
|
||||||
expect(page).to have_content "You have reached the maximum number of verification tries. Please try again later."
|
expect(page).to have_content "You have reached the maximum number of attempts. Please try again later."
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ feature 'Verification path' do
|
|||||||
visit verification_path
|
visit verification_path
|
||||||
|
|
||||||
expect(current_path).to eq account_path
|
expect(current_path).to eq account_path
|
||||||
expect(page).to have_content 'You are a verified user!'
|
expect(page).to have_content 'Your account is already verified'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "User requested a letter" do
|
scenario "User requested a letter" do
|
||||||
@@ -95,7 +95,7 @@ feature 'Verification path' do
|
|||||||
visit step_path
|
visit step_path
|
||||||
|
|
||||||
expect(current_path).to eq account_path
|
expect(current_path).to eq account_path
|
||||||
expect(page).to have_content 'You are a verified user!'
|
expect(page).to have_content 'Your account is already verified'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -86,7 +86,7 @@ feature 'Verified users' do
|
|||||||
click_button "Send code"
|
click_button "Send code"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_content 'We have send you a confirmation email to your email account: rock@example.com'
|
expect(page).to have_content 'We have sent a confirmation email to your account: rock@example.com'
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ feature 'Verified users' do
|
|||||||
login_as(user)
|
login_as(user)
|
||||||
visit verified_user_path
|
visit verified_user_path
|
||||||
|
|
||||||
click_link "Use another phone"
|
click_link "Use other phone"
|
||||||
|
|
||||||
expect(current_path).to eq(new_sms_path)
|
expect(current_path).to eq(new_sms_path)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -177,8 +177,6 @@ feature 'Votes' do
|
|||||||
expect(current_path).to eq(debates_path)
|
expect(current_path).to eq(debates_path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
feature 'Proposals' do
|
feature 'Proposals' do
|
||||||
@@ -194,15 +192,15 @@ feature 'Votes' do
|
|||||||
|
|
||||||
within("#proposals") do
|
within("#proposals") do
|
||||||
within("#proposal_#{proposal1.id}_votes") do
|
within("#proposal_#{proposal1.id}_votes") do
|
||||||
expect(page).to have_content "You already supported this proposal, share it!"
|
expect(page).to have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
|
|
||||||
within("#proposal_#{proposal2.id}_votes") do
|
within("#proposal_#{proposal2.id}_votes") do
|
||||||
expect(page).to_not have_content "You already supported this proposal, share it!"
|
expect(page).to_not have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
|
|
||||||
within("#proposal_#{proposal3.id}_votes") do
|
within("#proposal_#{proposal3.id}_votes") do
|
||||||
expect(page).to_not have_content "You already supported this proposal, share it!"
|
expect(page).to_not have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -246,7 +244,7 @@ feature 'Votes' do
|
|||||||
find('.in-favor a').click
|
find('.in-favor a').click
|
||||||
|
|
||||||
expect(page).to have_content "1 support"
|
expect(page).to have_content "1 support"
|
||||||
expect(page).to have_content "You already supported this proposal, share it!"
|
expect(page).to have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -258,7 +256,7 @@ feature 'Votes' do
|
|||||||
find('.in-favor a').click
|
find('.in-favor a').click
|
||||||
|
|
||||||
expect(page).to have_content "1 support"
|
expect(page).to have_content "1 support"
|
||||||
expect(page).to have_content "You already supported this proposal, share it!"
|
expect(page).to have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
end
|
end
|
||||||
@@ -269,7 +267,7 @@ feature 'Votes' do
|
|||||||
within("#proposal_#{@proposal.id}") do
|
within("#proposal_#{@proposal.id}") do
|
||||||
find('.in-favor a').click
|
find('.in-favor a').click
|
||||||
|
|
||||||
expect(page).to have_content "You already supported this proposal, share it!"
|
expect(page).to have_content "You have already supported this proposal. Share it!"
|
||||||
end
|
end
|
||||||
expect(current_path).to eq(proposals_path)
|
expect(current_path).to eq(proposals_path)
|
||||||
end
|
end
|
||||||
@@ -284,12 +282,6 @@ feature 'Votes' do
|
|||||||
find("div.votes").hover
|
find("div.votes").hover
|
||||||
expect_message_you_need_to_sign_in
|
expect_message_you_need_to_sign_in
|
||||||
end
|
end
|
||||||
|
|
||||||
visit debate_path(debate)
|
|
||||||
within("#debate_#{debate.id}") do
|
|
||||||
find("div.votes").hover
|
|
||||||
expect_message_you_need_to_sign_in
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Not logged user trying to vote proposals', :js do
|
scenario 'Not logged user trying to vote proposals', :js do
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ feature "Welcome screen" do
|
|||||||
fill_in 'user_email', with: user.email
|
fill_in 'user_email', with: user.email
|
||||||
fill_in 'user_password', with: user.password
|
fill_in 'user_password', with: user.password
|
||||||
|
|
||||||
click_button 'Log in'
|
click_button 'Enter'
|
||||||
|
|
||||||
expect(page).to have_content("You are now a verified user")
|
expect(page).to have_content("You are a verified user")
|
||||||
|
|
||||||
expect(current_path).to eq(account_path)
|
expect(current_path).to eq(account_path)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ describe UserHelper do
|
|||||||
|
|
||||||
describe '#humanize_document_type' do
|
describe '#humanize_document_type' do
|
||||||
it "should return a humanized document type" do
|
it "should return a humanized document type" do
|
||||||
expect(humanize_document_type("1")).to eq "Spanish ID"
|
expect(humanize_document_type("1")).to eq "DNI"
|
||||||
expect(humanize_document_type("2")).to eq "Passport"
|
expect(humanize_document_type("2")).to eq "Passport"
|
||||||
expect(humanize_document_type("3")).to eq "Residence card"
|
expect(humanize_document_type("3")).to eq "Residence card"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -318,35 +318,6 @@ describe Debate do
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "self.search" do
|
|
||||||
it "find debates by title" do
|
|
||||||
debate1 = create(:debate, title: "Karpov vs Kasparov")
|
|
||||||
create(:debate, title: "Bird vs Magic")
|
|
||||||
search = Debate.search("Kasparov")
|
|
||||||
expect(search.size).to eq(1)
|
|
||||||
expect(search.first).to eq(debate1)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "find debates by description" do
|
|
||||||
debate1 = create(:debate, description: "...chess masters...")
|
|
||||||
create(:debate, description: "...basket masters...")
|
|
||||||
search = Debate.search("chess")
|
|
||||||
expect(search.size).to eq(1)
|
|
||||||
expect(search.first).to eq(debate1)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "find debates by title and description" do
|
|
||||||
create(:debate, title: "Karpov vs Kasparov", description: "...played like Gauss...")
|
|
||||||
create(:debate, title: "Euler vs Gauss", description: "...math masters...")
|
|
||||||
search = Debate.search("Gauss")
|
|
||||||
expect(search.size).to eq(2)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "returns no results if no search term provided" do
|
|
||||||
expect(Debate.search(" ").size).to eq(0)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "cache" do
|
describe "cache" do
|
||||||
let(:debate) { create(:debate) }
|
let(:debate) { create(:debate) }
|
||||||
|
|
||||||
@@ -457,4 +428,169 @@ describe Debate do
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "search" do
|
||||||
|
|
||||||
|
context "attributes" do
|
||||||
|
|
||||||
|
xit "searches by title" do
|
||||||
|
debate = create(:debate, title: 'save the world')
|
||||||
|
results = Debate.search('save the world')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
end
|
||||||
|
|
||||||
|
xit "searches by description" do
|
||||||
|
debate = create(:debate, description: 'in order to save the world one must think about...')
|
||||||
|
results = Debate.search('one must think')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "stemming" do
|
||||||
|
|
||||||
|
xit "searches word stems" do
|
||||||
|
debate = create(:debate, title: 'limpiar')
|
||||||
|
|
||||||
|
results = Debate.search('limpiará')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
|
||||||
|
results = Debate.search('limpiémos')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
|
||||||
|
results = Debate.search('limpió')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "accents" do
|
||||||
|
|
||||||
|
xit "searches with accents" do
|
||||||
|
debate = create(:debate, title: 'difusión')
|
||||||
|
|
||||||
|
results = Debate.search('difusion')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
|
||||||
|
debate2 = create(:debate, title: 'estadisticas')
|
||||||
|
results = Debate.search('estadísticas')
|
||||||
|
expect(results).to eq([debate2])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "case" do
|
||||||
|
|
||||||
|
xit "searches case insensite" do
|
||||||
|
debate = create(:debate, title: 'SHOUT')
|
||||||
|
|
||||||
|
results = Debate.search('shout')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
|
||||||
|
debate2 = create(:debate, title: "scream")
|
||||||
|
results = Debate.search("SCREAM")
|
||||||
|
expect(results).to eq([debate2])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "typos" do
|
||||||
|
|
||||||
|
xit "searches with typos" do
|
||||||
|
debate = create(:debate, title: 'difusión')
|
||||||
|
|
||||||
|
results = Debate.search('difuon')
|
||||||
|
expect(results).to eq([debate])
|
||||||
|
|
||||||
|
debate2 = create(:debate, title: 'desarrollo')
|
||||||
|
results = Debate.search('desarolo')
|
||||||
|
expect(results).to eq([debate2])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "order" do
|
||||||
|
|
||||||
|
xit "orders by weight" do
|
||||||
|
debate_description = create(:debate, description: 'stop corruption')
|
||||||
|
debate_title = create(:debate, title: 'stop corruption')
|
||||||
|
|
||||||
|
results = Debate.search('stop corruption')
|
||||||
|
|
||||||
|
expect(results.first).to eq(debate_title)
|
||||||
|
expect(results.second).to eq(debate_description)
|
||||||
|
end
|
||||||
|
|
||||||
|
xit "orders by weight and then votes" do
|
||||||
|
title_some_votes = create(:debate, title: 'stop corruption', cached_votes_up: 5)
|
||||||
|
title_least_voted = create(:debate, title: 'stop corruption', cached_votes_up: 2)
|
||||||
|
title_most_voted = create(:debate, title: 'stop corruption', cached_votes_up: 10)
|
||||||
|
description_most_voted = create(:debate, description: 'stop corruption', cached_votes_up: 10)
|
||||||
|
|
||||||
|
results = Debate.search('stop corruption')
|
||||||
|
|
||||||
|
expect(results.first).to eq(title_most_voted)
|
||||||
|
expect(results.second).to eq(description_most_voted)
|
||||||
|
expect(results.third).to eq(title_some_votes)
|
||||||
|
expect(results.fourth).to eq(title_least_voted)
|
||||||
|
end
|
||||||
|
|
||||||
|
xit "orders by weight and then votes and then created_at" do
|
||||||
|
newest = create(:debate, title: 'stop corruption', cached_votes_up: 5, created_at: Time.now)
|
||||||
|
oldest = create(:debate, title: 'stop corruption', cached_votes_up: 5, created_at: 1.month.ago)
|
||||||
|
old = create(:debate, title: 'stop corruption', cached_votes_up: 5, created_at: 1.week.ago)
|
||||||
|
|
||||||
|
results = Debate.search('stop corruption')
|
||||||
|
|
||||||
|
expect(results.first).to eq(newest)
|
||||||
|
expect(results.second).to eq(old)
|
||||||
|
expect(results.third).to eq(oldest)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "tags" do
|
||||||
|
|
||||||
|
xit "searches by tags" do
|
||||||
|
debate = create(:debate, tag_list: 'Latina')
|
||||||
|
|
||||||
|
results = Debate.search('Latina')
|
||||||
|
expect(results.first).to eq(debate)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "no results" do
|
||||||
|
|
||||||
|
xit "no words match" do
|
||||||
|
debate = create(:debate, title: 'save world')
|
||||||
|
|
||||||
|
results = Debate.search('destroy planet')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
xit "too many typos" do
|
||||||
|
debate = create(:debate, title: 'fantastic')
|
||||||
|
|
||||||
|
results = Debate.search('frantac')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
xit "too much stemming" do
|
||||||
|
debate = create(:debate, title: 'reloj')
|
||||||
|
|
||||||
|
results = Debate.search('superrelojimetro')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
xit "empty" do
|
||||||
|
debate = create(:debate, title: 'great')
|
||||||
|
|
||||||
|
results = Debate.search('')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ describe 'Verification::Letter' do
|
|||||||
letter.verification_code = "5555"
|
letter.verification_code = "5555"
|
||||||
|
|
||||||
expect(letter.valid?).to eq(false)
|
expect(letter.valid?).to eq(false)
|
||||||
expect(letter.errors[:verification_code].first).to eq("Incorrect confirmation code")
|
expect(letter.errors[:verification_code].first).to eq("Verification code incorrect")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "correct code" do
|
it "correct code" do
|
||||||
|
|||||||
@@ -355,4 +355,185 @@ describe Proposal do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "search" do
|
||||||
|
|
||||||
|
context "attributes" do
|
||||||
|
|
||||||
|
it "searches by title" do
|
||||||
|
proposal = create(:proposal, title: 'save the world')
|
||||||
|
results = Proposal.search('save the world')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "searches by summary" do
|
||||||
|
proposal = create(:proposal, summary: 'basically...')
|
||||||
|
results = Proposal.search('basically')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "searches by description" do
|
||||||
|
proposal = create(:proposal, description: 'in order to save the world one must think about...')
|
||||||
|
results = Proposal.search('one must think')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "searches by question" do
|
||||||
|
proposal = create(:proposal, question: 'to be or not to be')
|
||||||
|
results = Proposal.search('to be or not to be')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "stemming" do
|
||||||
|
|
||||||
|
it "searches word stems" do
|
||||||
|
proposal = create(:proposal, summary: 'limpiar')
|
||||||
|
|
||||||
|
results = Proposal.search('limpiará')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
|
||||||
|
results = Proposal.search('limpiémos')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
|
||||||
|
results = Proposal.search('limpió')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "accents" do
|
||||||
|
|
||||||
|
it "searches with accents" do
|
||||||
|
proposal = create(:proposal, summary: 'difusión')
|
||||||
|
|
||||||
|
results = Proposal.search('difusion')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
|
||||||
|
proposal2 = create(:proposal, summary: 'estadisticas')
|
||||||
|
results = Proposal.search('estadísticas')
|
||||||
|
expect(results).to eq([proposal2])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "case" do
|
||||||
|
|
||||||
|
it "searches case insensite" do
|
||||||
|
proposal = create(:proposal, title: 'SHOUT')
|
||||||
|
|
||||||
|
results = Proposal.search('shout')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
|
||||||
|
proposal2 = create(:proposal, title: "scream")
|
||||||
|
results = Proposal.search("SCREAM")
|
||||||
|
expect(results).to eq([proposal2])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "typos" do
|
||||||
|
|
||||||
|
it "searches with typos" do
|
||||||
|
proposal = create(:proposal, summary: 'difusión')
|
||||||
|
|
||||||
|
results = Proposal.search('difuon')
|
||||||
|
expect(results).to eq([proposal])
|
||||||
|
|
||||||
|
proposal2 = create(:proposal, summary: 'desarrollo')
|
||||||
|
results = Proposal.search('desarolo')
|
||||||
|
expect(results).to eq([proposal2])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "order" do
|
||||||
|
|
||||||
|
it "orders by weight" do
|
||||||
|
proposal_question = create(:proposal, question: 'stop corruption')
|
||||||
|
proposal_title = create(:proposal, title: 'stop corruption')
|
||||||
|
proposal_description = create(:proposal, description: 'stop corruption')
|
||||||
|
proposal_summary = create(:proposal, summary: 'stop corruption')
|
||||||
|
|
||||||
|
results = Proposal.search('stop corruption')
|
||||||
|
|
||||||
|
expect(results.first).to eq(proposal_title)
|
||||||
|
expect(results.second).to eq(proposal_question)
|
||||||
|
expect(results.third).to eq(proposal_summary)
|
||||||
|
expect(results.fourth).to eq(proposal_description)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "orders by weight and then votes" do
|
||||||
|
title_some_votes = create(:proposal, title: 'stop corruption', cached_votes_up: 5)
|
||||||
|
title_least_voted = create(:proposal, title: 'stop corruption', cached_votes_up: 2)
|
||||||
|
title_most_voted = create(:proposal, title: 'stop corruption', cached_votes_up: 10)
|
||||||
|
summary_most_voted = create(:proposal, summary: 'stop corruption', cached_votes_up: 10)
|
||||||
|
|
||||||
|
results = Proposal.search('stop corruption')
|
||||||
|
|
||||||
|
expect(results.first).to eq(title_most_voted)
|
||||||
|
expect(results.second).to eq(summary_most_voted)
|
||||||
|
expect(results.third).to eq(title_some_votes)
|
||||||
|
expect(results.fourth).to eq(title_least_voted)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "orders by weight and then votes and then created_at" do
|
||||||
|
newest = create(:proposal, title: 'stop corruption', cached_votes_up: 5, created_at: Time.now)
|
||||||
|
oldest = create(:proposal, title: 'stop corruption', cached_votes_up: 5, created_at: 1.month.ago)
|
||||||
|
old = create(:proposal, title: 'stop corruption', cached_votes_up: 5, created_at: 1.week.ago)
|
||||||
|
|
||||||
|
results = Proposal.search('stop corruption')
|
||||||
|
|
||||||
|
expect(results.first).to eq(newest)
|
||||||
|
expect(results.second).to eq(old)
|
||||||
|
expect(results.third).to eq(oldest)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "tags" do
|
||||||
|
|
||||||
|
it "searches by tags" do
|
||||||
|
proposal = create(:proposal, tag_list: 'Latina')
|
||||||
|
|
||||||
|
results = Proposal.search('Latina')
|
||||||
|
expect(results.first).to eq(proposal)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context "no results" do
|
||||||
|
|
||||||
|
it "no words match" do
|
||||||
|
proposal = create(:proposal, title: 'save world')
|
||||||
|
|
||||||
|
results = Proposal.search('destroy planet')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "too many typos" do
|
||||||
|
proposal = create(:proposal, title: 'fantastic')
|
||||||
|
|
||||||
|
results = Proposal.search('frantac')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "too much stemming" do
|
||||||
|
proposal = create(:proposal, title: 'reloj')
|
||||||
|
|
||||||
|
results = Proposal.search('superrelojimetro')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
it "empty" do
|
||||||
|
proposal = create(:proposal, title: 'great')
|
||||||
|
|
||||||
|
results = Proposal.search('')
|
||||||
|
expect(results).to eq([])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ describe Verification::Residence do
|
|||||||
it "should validate user has allowed age" do
|
it "should validate user has allowed age" do
|
||||||
residence = Verification::Residence.new({"date_of_birth(3i)"=>"1", "date_of_birth(2i)"=>"1", "date_of_birth(1i)"=>"#{5.year.ago.year}"})
|
residence = Verification::Residence.new({"date_of_birth(3i)"=>"1", "date_of_birth(2i)"=>"1", "date_of_birth(1i)"=>"#{5.year.ago.year}"})
|
||||||
expect(residence).to_not be_valid
|
expect(residence).to_not be_valid
|
||||||
expect(residence.errors[:date_of_birth]).to include("You need yo be at least 16 years old")
|
expect(residence.errors[:date_of_birth]).to include("You must be at least 16 years old")
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "postal code" do
|
describe "postal code" do
|
||||||
@@ -48,7 +48,7 @@ describe Verification::Residence do
|
|||||||
residence.postal_code = "13280"
|
residence.postal_code = "13280"
|
||||||
residence.valid?
|
residence.valid?
|
||||||
expect(residence.errors[:postal_code].size).to eq(1)
|
expect(residence.errors[:postal_code].size).to eq(1)
|
||||||
expect(residence.errors[:postal_code]).to include("To verify your account you need to be in the census of the Madrid town.")
|
expect(residence.errors[:postal_code]).to include("In order to be verified, you must be registered in the municipality of Madrid.")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ module CommonActions
|
|||||||
|
|
||||||
def sign_up(email='manuela@madrid.es', password='judgementday')
|
def sign_up(email='manuela@madrid.es', password='judgementday')
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Sign up'
|
|
||||||
|
click_link 'Register'
|
||||||
|
|
||||||
fill_in 'user_username', with: "Manuela Carmena #{rand(99999)}"
|
fill_in 'user_username', with: "Manuela Carmena #{rand(99999)}"
|
||||||
fill_in 'user_email', with: email
|
fill_in 'user_email', with: email
|
||||||
@@ -11,17 +12,17 @@ module CommonActions
|
|||||||
fill_in 'user_captcha', with: correct_captcha_text
|
fill_in 'user_captcha', with: correct_captcha_text
|
||||||
check 'user_terms_of_service'
|
check 'user_terms_of_service'
|
||||||
|
|
||||||
click_button 'Sign up'
|
click_button 'Register'
|
||||||
end
|
end
|
||||||
|
|
||||||
def login_through_form_as(user)
|
def login_through_form_as(user)
|
||||||
visit root_path
|
visit root_path
|
||||||
click_link 'Log in'
|
click_link 'Sign in'
|
||||||
|
|
||||||
fill_in 'user_email', with: user.email
|
fill_in 'user_email', with: user.email
|
||||||
fill_in 'user_password', with: user.password
|
fill_in 'user_password', with: user.password
|
||||||
|
|
||||||
click_button 'Log in'
|
click_button 'Enter'
|
||||||
end
|
end
|
||||||
|
|
||||||
def login_as_manager
|
def login_as_manager
|
||||||
@@ -47,11 +48,11 @@ module CommonActions
|
|||||||
create(:user, email: 'manuela@madrid.es')
|
create(:user, email: 'manuela@madrid.es')
|
||||||
|
|
||||||
visit '/'
|
visit '/'
|
||||||
click_link 'Log in'
|
click_link 'Sign in'
|
||||||
click_link 'Forgot your password?'
|
click_link 'Forgotten your password?'
|
||||||
|
|
||||||
fill_in 'user_email', with: 'manuela@madrid.es'
|
fill_in 'user_email', with: 'manuela@madrid.es'
|
||||||
click_button 'Send me reset password'
|
click_button 'Send instructions'
|
||||||
end
|
end
|
||||||
|
|
||||||
def comment_on(commentable, user = nil)
|
def comment_on(commentable, user = nil)
|
||||||
@@ -107,7 +108,7 @@ module CommonActions
|
|||||||
end
|
end
|
||||||
|
|
||||||
def error_message
|
def error_message
|
||||||
/\d errors? prohibited this (.*) from being saved:/
|
/\d errors? prevented this (.*) from being saved:/
|
||||||
end
|
end
|
||||||
|
|
||||||
def expect_to_be_signed_in
|
def expect_to_be_signed_in
|
||||||
@@ -123,7 +124,7 @@ module CommonActions
|
|||||||
end
|
end
|
||||||
|
|
||||||
def verify_residence
|
def verify_residence
|
||||||
select 'Spanish ID', from: 'residence_document_type'
|
select 'DNI', from: 'residence_document_type'
|
||||||
fill_in 'residence_document_number', with: "12345678Z"
|
fill_in 'residence_document_number', with: "12345678Z"
|
||||||
select_date '31-December-1980', from: 'residence_date_of_birth'
|
select_date '31-December-1980', from: 'residence_date_of_birth'
|
||||||
fill_in 'residence_postal_code', with: '28013'
|
fill_in 'residence_postal_code', with: '28013'
|
||||||
@@ -137,27 +138,27 @@ module CommonActions
|
|||||||
fill_in 'sms_phone', with: "611111111"
|
fill_in 'sms_phone', with: "611111111"
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Phone confirmation'
|
expect(page).to have_content 'Enter the confirmation code sent to you by text message'
|
||||||
|
|
||||||
user = User.last.reload
|
user = User.last.reload
|
||||||
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
fill_in 'sms_confirmation_code', with: user.sms_confirmation_code
|
||||||
click_button 'Send'
|
click_button 'Send'
|
||||||
|
|
||||||
expect(page).to have_content 'Correct code'
|
expect(page).to have_content 'Code correct'
|
||||||
end
|
end
|
||||||
|
|
||||||
def expect_message_you_need_to_sign_in
|
def expect_message_you_need_to_sign_in
|
||||||
expect(page).to have_content 'You need to sign in or sign up before continuing'
|
expect(page).to have_content 'You must Sign in or Sign up to continue'
|
||||||
expect(page).to have_selector('.in-favor a', visible: false)
|
expect(page).to have_selector('.in-favor a', visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def expect_message_to_many_anonymous_votes
|
def expect_message_to_many_anonymous_votes
|
||||||
expect(page).to have_content 'Too many anonymous votes, verify your account to vote.'
|
expect(page).to have_content 'Too many anonymous votes to admit vote'
|
||||||
expect(page).to have_selector('.in-favor a', visible: false)
|
expect(page).to have_selector('.in-favor a', visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def expect_message_only_verified_can_vote_proposals
|
def expect_message_only_verified_can_vote_proposals
|
||||||
expect(page).to have_content 'Proposals can only be voted by verified users, verify your account.'
|
expect(page).to have_content 'Only verified users can vote on proposals'
|
||||||
expect(page).to have_selector('.in-favor a', visible: false)
|
expect(page).to have_selector('.in-favor a', visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user