diff --git a/po/ca/vedia.po b/po/ca/vedia.po index 7d1ef4c..5c6734c 100644 --- a/po/ca/vedia.po +++ b/po/ca/vedia.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 20:19+0200\n" +"POT-Creation-Date: 2025-06-08 20:44-0600\n" "PO-Revision-Date: 2025-03-29 20:41-0600\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,11 +41,11 @@ msgstr "Bé" msgid "Very good" msgstr "Molt bé" -#: ../vedia.rb:127 +#: ../vedia.rb:119 msgid "Incorrect email or password." msgstr "Correu o contrasenya incorrecte." -#: ../vedia.rb:149 +#: ../vedia.rb:141 msgid "Reset your password" msgstr "Reiniciar contrasenya" @@ -133,7 +133,7 @@ msgid "Description: %{description}" msgstr "Descripció: %{description}" #: ../views/admin_votes.erb:15 ../views/votes_open.erb:3 -#: ../views/votes_show_closed.erb:4 ../views/votes_show_open.erb:12 +#: ../views/votes_show_closed.erb:4 ../views/votes_show_open.erb:4 msgid "Closing date: %{date}" msgstr "Data de tancament: %{date}" @@ -147,7 +147,7 @@ msgstr "Estat: %{state}" #: ../views/admin_votes.erb:19 ../views/votes_edit.erb:39 #: ../views/votes_show_closed.erb:79 ../views/votes_show_draft.erb:5 -#: ../views/votes_show_open.erb:54 +#: ../views/votes_show_open.erb:40 msgid "Organizers" msgstr "Organitzadores" @@ -193,7 +193,7 @@ msgstr "Connexió" #: ../views/login.erb:9 ../views/reset.erb:5 ../views/reset_change.erb:13 #: ../views/signup.erb:24 ../views/votes_edit.erb:51 -#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:80 +#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:66 msgid "Email" msgstr "Correu" @@ -268,7 +268,7 @@ msgstr "Títol" msgid "Description" msgstr "Descripció" -#: ../views/votes_edit.erb:12 ../views/votes_show_open.erb:41 +#: ../views/votes_edit.erb:12 ../views/votes_show_open.erb:27 msgid "Save" msgstr "Guardar" @@ -287,12 +287,12 @@ msgstr "Nom" #: ../views/votes_edit.erb:47 ../views/votes_edit.erb:54 #: ../views/votes_show_closed.erb:95 ../views/votes_show_closed.erb:102 -#: ../views/votes_show_open.erb:76 ../views/votes_show_open.erb:83 +#: ../views/votes_show_open.erb:62 ../views/votes_show_open.erb:69 msgid "Add organizer" msgstr "Afegeix organitzadora" #: ../views/votes_edit.erb:57 ../views/votes_show_closed.erb:89 -#: ../views/votes_show_open.erb:66 +#: ../views/votes_show_open.erb:52 msgid "Actions for organizers" msgstr "Accions per les organitzadores" @@ -371,22 +371,18 @@ msgstr "No hi ha cap resultat perquè ningú va votar en aquesta votació." msgid "Reopen voting period" msgstr "Reobrir el període de votació" -#: ../views/votes_show_open.erb:6 -msgid "Missing rating for candidate %{name}." -msgstr "Falta una valoració per l'opció %{name}." - -#: ../views/votes_show_open.erb:17 +#: ../views/votes_show_open.erb:9 msgid "Your ratings" msgstr "Les teves valoracions" -#: ../views/votes_show_open.erb:44 +#: ../views/votes_show_open.erb:30 msgid "Participants" msgstr "Votants" -#: ../views/votes_show_open.erb:69 +#: ../views/votes_show_open.erb:55 msgid "Change back to draft vote" msgstr "Tornar a l'esborrany de votació" -#: ../views/votes_show_open.erb:73 +#: ../views/votes_show_open.erb:59 msgid "Close votes and show results" msgstr "Tancar la votació i veure els resultats" diff --git a/po/vedia.pot b/po/vedia.pot index fe89967..4ff68a3 100644 --- a/po/vedia.pot +++ b/po/vedia.pot @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-13 20:19+0200\n" -"PO-Revision-Date: 2025-10-13 20:19+0200\n" +"POT-Creation-Date: 2025-06-08 20:44-0600\n" +"PO-Revision-Date: 2025-06-08 20:44-0600\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -42,11 +42,11 @@ msgstr "" msgid "Very good" msgstr "" -#: ../vedia.rb:127 +#: ../vedia.rb:119 msgid "Incorrect email or password." msgstr "" -#: ../vedia.rb:149 +#: ../vedia.rb:141 msgid "Reset your password" msgstr "" @@ -134,7 +134,7 @@ msgid "Description: %{description}" msgstr "" #: ../views/admin_votes.erb:15 ../views/votes_open.erb:3 -#: ../views/votes_show_closed.erb:4 ../views/votes_show_open.erb:12 +#: ../views/votes_show_closed.erb:4 ../views/votes_show_open.erb:4 msgid "Closing date: %{date}" msgstr "" @@ -148,7 +148,7 @@ msgstr "" #: ../views/admin_votes.erb:19 ../views/votes_edit.erb:39 #: ../views/votes_show_closed.erb:79 ../views/votes_show_draft.erb:5 -#: ../views/votes_show_open.erb:54 +#: ../views/votes_show_open.erb:40 msgid "Organizers" msgstr "" @@ -194,7 +194,7 @@ msgstr "" #: ../views/login.erb:9 ../views/reset.erb:5 ../views/reset_change.erb:13 #: ../views/signup.erb:24 ../views/votes_edit.erb:51 -#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:80 +#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:66 msgid "Email" msgstr "" @@ -267,7 +267,7 @@ msgstr "" msgid "Description" msgstr "" -#: ../views/votes_edit.erb:12 ../views/votes_show_open.erb:41 +#: ../views/votes_edit.erb:12 ../views/votes_show_open.erb:27 msgid "Save" msgstr "" @@ -286,12 +286,12 @@ msgstr "" #: ../views/votes_edit.erb:47 ../views/votes_edit.erb:54 #: ../views/votes_show_closed.erb:95 ../views/votes_show_closed.erb:102 -#: ../views/votes_show_open.erb:76 ../views/votes_show_open.erb:83 +#: ../views/votes_show_open.erb:62 ../views/votes_show_open.erb:69 msgid "Add organizer" msgstr "" #: ../views/votes_edit.erb:57 ../views/votes_show_closed.erb:89 -#: ../views/votes_show_open.erb:66 +#: ../views/votes_show_open.erb:52 msgid "Actions for organizers" msgstr "" @@ -368,22 +368,18 @@ msgstr "" msgid "Reopen voting period" msgstr "" -#: ../views/votes_show_open.erb:6 -msgid "Missing rating for candidate %{name}." -msgstr "" - -#: ../views/votes_show_open.erb:17 +#: ../views/votes_show_open.erb:9 msgid "Your ratings" msgstr "" -#: ../views/votes_show_open.erb:44 +#: ../views/votes_show_open.erb:30 msgid "Participants" msgstr "" -#: ../views/votes_show_open.erb:69 +#: ../views/votes_show_open.erb:55 msgid "Change back to draft vote" msgstr "" -#: ../views/votes_show_open.erb:73 +#: ../views/votes_show_open.erb:59 msgid "Close votes and show results" msgstr "" diff --git a/vedia.rb b/vedia.rb index 54c3d70..721c967 100644 --- a/vedia.rb +++ b/vedia.rb @@ -1,22 +1,19 @@ require 'sinatra' - -# Set environment before requiring 'sinatra/activerecord' to make `whenever` uses the database. -if ENV['RAILS_ENV'] - set :environment, ENV['RAILS_ENV'] -end - require 'sinatra/activerecord' require 'bcrypt' require 'gettext' require 'securerandom' require 'chartkick' require 'mail' -require 'ostruct' require 'tzinfo' require 'redcarpet' include GetText +if ENV['RAILS_ENV'] + set :environment, ENV['RAILS_ENV'] +end + require_relative 'mj' require_relative 'config/environments/defaults.rb' require_relative "config/environments/#{settings.environment}" @@ -387,31 +384,16 @@ post '/votes/:id/reopen' do redirect '/votes/' + @vote.secure_id end -get '/votes/:id/ratings' do - redirect '/votes/' + params[:id] -end - post '/votes/:id/ratings' do require_login find_vote require_open_vote - @errors = [] @vote.candidates.each do |candidate| - if not params[candidate.id.to_s] - @errors << OpenStruct.new(:attribute => :rating, :type => :blank, :candidate => candidate) - end - end - if not @errors.empty? - @params = params - erb :votes_show_open - else - @vote.candidates.each do |candidate| - rating = Rating.find_or_initialize_by(vote: @vote, user: current_user, candidate: candidate) - rating.value = params[candidate.id.to_s] - rating.save - end - redirect '/votes/' + @vote.secure_id + rating = Rating.find_or_initialize_by(vote: @vote, user: current_user, candidate: candidate) + rating.value = params[candidate.id.to_s] + rating.save end + redirect '/votes/' + @vote.secure_id end post '/votes/:id/organizers' do diff --git a/views/style.erb b/views/style.erb index 8b07e38..1cbad52 100644 --- a/views/style.erb +++ b/views/style.erb @@ -2,10 +2,6 @@ color: red; } -p, li { - max-width: 50em; -} - textarea { width: 80em; height: 20em; diff --git a/views/votes_open.erb b/views/votes_open.erb index 6e3670e..0290bd1 100644 --- a/views/votes_open.erb +++ b/views/votes_open.erb @@ -1,6 +1,6 @@

<%= _("Open vote") %>

-

<%= _("Closing date: %{date}") % { date: format_date_and_time(@expire_on) } %>

+

<%= _("Closing date: %{date}" % { date: format_date_and_time(@expire_on) }) %>

<%= _("The vote will automatically close on that date and the results will be sent to all users by email.") %>

diff --git a/views/votes_show_closed.erb b/views/votes_show_closed.erb index 788f38c..5ce1aa4 100644 --- a/views/votes_show_closed.erb +++ b/views/votes_show_closed.erb @@ -1,7 +1,7 @@

<%= @vote.title %>

<% if @vote.expire_on %> -

<%= _("Closing date: %{date}") % { date: format_date_and_time(@vote.expire_on) } %>

+

<%= _("Closing date: %{date}" % { date: format_date_and_time(@vote.expire_on) }) %>

<% end %> <%= markdown(@vote.description) %> @@ -23,7 +23,7 @@ <% @vote.candidates.each do |candidate| %> <% if rating = @vote.ratings.find { |rating| rating.user == user and rating.candidate == candidate } %> <% value = settings.values.select { |e| e[:id] == rating.value }.first %> - <%= _(value[:label]) %> + <%= value[:label] %> <% end %> <% end %> @@ -47,7 +47,7 @@ <%= i %> <%= candidate.name %> <% value = settings.values.select { |e| e[:id] == candidate.mj.mj }.first %> - <%= _(value[:label]) %> + <%= value[:label] %> <%= candidate.mj.proponents %> <%= candidate.mj.opponents %> diff --git a/views/votes_show_open.erb b/views/votes_show_open.erb index 9935f43..d5f5a8f 100644 --- a/views/votes_show_open.erb +++ b/views/votes_show_open.erb @@ -1,15 +1,7 @@

<%= @vote.title %>

-<% if @errors %> -<% @errors.each do |error| %> - <% if error.attribute == :rating and error.type == :blank %> -

<%= _("Missing rating for candidate %{name}.") % { name: error.candidate.name } %>

- <% end %> -<% end %> -<% end %> - <% if @vote.expire_on %> -

<%= _("Closing date: %{date}") % { date: format_date_and_time(@vote.expire_on) } %>

+

<%= _("Closing date: %{date}" % { date: format_date_and_time(@vote.expire_on) }) %>

<% end %> <%= markdown(@vote.description) %> @@ -20,19 +12,13 @@
    <% @vote.candidates.each do |candidate| %> <% rating = @vote.ratings.find { |rating| rating.user == current_user and rating.candidate == candidate } %> - <% if rating - value = rating.value - elsif @params[candidate.id.to_s] - value = params[candidate.id.to_s].to_i - else - value = 0 - end %> + <% value = rating ? rating.value : 0 %>
  • <%= candidate.name %>

    <%= markdown(candidate.description) %>
      <% settings.values.reverse.each do |v| %> -
    • checked<% end %>>
    • +
    • checked<% end %>>
    • <% end %>