Compare commits
No commits in common. "5fa73da51a9965b4b4df6cb2f82ff9307cc35a94" and "b41a0d041751399233aabbac57d7a8515d41b2aa" have entirely different histories.
5fa73da51a
...
b41a0d0417
13 changed files with 104 additions and 506 deletions
|
|
@ -1,5 +0,0 @@
|
||||||
class AddAdminToUsers < ActiveRecord::Migration[7.2]
|
|
||||||
def change
|
|
||||||
add_column :users, :admin, :boolean
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# 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[7.2].define(version: 2025_06_08_223006) do
|
ActiveRecord::Schema[7.2].define(version: 2025_06_07_233053) do
|
||||||
create_table "candidates", force: :cascade do |t|
|
create_table "candidates", force: :cascade do |t|
|
||||||
t.integer "vote_id"
|
t.integer "vote_id"
|
||||||
t.string "name"
|
t.string "name"
|
||||||
|
|
@ -45,7 +45,6 @@ ActiveRecord::Schema[7.2].define(version: 2025_06_08_223006) do
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
t.string "reset"
|
t.string "reset"
|
||||||
t.boolean "admin"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "votes", force: :cascade do |t|
|
create_table "votes", force: :cascade do |t|
|
||||||
|
|
|
||||||
159
po/ca/vedia.po
159
po/ca/vedia.po
|
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-06-08 20:44-0600\n"
|
"POT-Creation-Date: 2025-06-08 15:49-0600\n"
|
||||||
"PO-Revision-Date: 2025-03-29 20:41-0600\n"
|
"PO-Revision-Date: 2025-03-29 20:41-0600\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
@ -41,140 +41,46 @@ msgstr "Bé"
|
||||||
msgid "Very good"
|
msgid "Very good"
|
||||||
msgstr "Molt bé"
|
msgstr "Molt bé"
|
||||||
|
|
||||||
#: ../vedia.rb:119
|
#: ../vedia.rb:118
|
||||||
msgid "Incorrect email or password."
|
msgid "Incorrect email or password."
|
||||||
msgstr "Correu o contrasenya incorrecte."
|
msgstr "Correu o contrasenya incorrecte."
|
||||||
|
|
||||||
#: ../vedia.rb:141
|
#: ../vedia.rb:140
|
||||||
msgid "Reset your password"
|
msgid "Reset your password"
|
||||||
msgstr "Reiniciar contrasenya"
|
msgstr "Reiniciar contrasenya"
|
||||||
|
|
||||||
#: ../views/admin.erb:1 ../views/admin_users.erb:1 ../views/admin_votes.erb:1
|
#: ../views/home.erb:1 ../views/layout.erb:23
|
||||||
#: ../views/layout.erb:26
|
|
||||||
msgid "Admin"
|
|
||||||
msgstr "Admin"
|
|
||||||
|
|
||||||
#: ../views/admin.erb:3
|
|
||||||
msgid "Users"
|
|
||||||
msgstr "Usuàries"
|
|
||||||
|
|
||||||
#: ../views/admin.erb:13 ../views/home.erb:3
|
|
||||||
msgid "Votes"
|
|
||||||
msgstr "Votacions"
|
|
||||||
|
|
||||||
#: ../views/admin.erb:21 ../views/home.erb:12 ../views/votes_show_draft.erb:1
|
|
||||||
msgid "(Draft)"
|
|
||||||
msgstr "(Esborrany)"
|
|
||||||
|
|
||||||
#: ../views/admin.erb:23 ../views/home.erb:16
|
|
||||||
msgid "(Open)"
|
|
||||||
msgstr "(Oberta)"
|
|
||||||
|
|
||||||
#: ../views/admin.erb:25 ../views/home.erb:20
|
|
||||||
msgid "(Closed)"
|
|
||||||
msgstr "(Tancada)"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:5 ../views/admin_votes.erb:7
|
|
||||||
msgid "Created: %{date}"
|
|
||||||
msgstr "Creada: %{date}"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:7 ../views/admin_votes.erb:9
|
|
||||||
msgid "Updated: %{date}"
|
|
||||||
msgstr "Modificada: %{date}"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:9
|
|
||||||
msgid "Admin: %{admin}"
|
|
||||||
msgstr "Admin: %{admin}"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:9
|
|
||||||
msgid "Yes"
|
|
||||||
msgstr "Sí"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:9
|
|
||||||
msgid "No"
|
|
||||||
msgstr "No"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:11
|
|
||||||
msgid "Organized votes"
|
|
||||||
msgstr "Votacions organitzades"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:19 ../views/admin_users.erb:38
|
|
||||||
#: ../views/admin_votes.erb:27 ../views/admin_votes.erb:46
|
|
||||||
#: ../views/votes_edit.erb:21
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr "Suprimir"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:26
|
|
||||||
msgid "No vote organized."
|
|
||||||
msgstr "Cap votació organitzada."
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:30 ../views/admin_votes.erb:38
|
|
||||||
msgid "Ratings"
|
|
||||||
msgstr "Valoracions"
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:45 ../views/admin_votes.erb:53
|
|
||||||
msgid "No rating."
|
|
||||||
msgstr "Cap valoració."
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:52
|
|
||||||
msgid "Delete user"
|
|
||||||
msgstr "Suprimir usuària"
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:5
|
|
||||||
msgid "View vote"
|
|
||||||
msgstr "Veure votació"
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:11
|
|
||||||
msgid "Secure ID: %{secure_id}"
|
|
||||||
msgstr "ID segura"
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:13
|
|
||||||
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:4
|
|
||||||
msgid "Closing date: %{date}"
|
|
||||||
msgstr "Data de tancament: %{date}"
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:15
|
|
||||||
msgid "None"
|
|
||||||
msgstr "Cap"
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:17
|
|
||||||
msgid "State: %{state}"
|
|
||||||
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:40
|
|
||||||
msgid "Organizers"
|
|
||||||
msgstr "Organitzadores"
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:34
|
|
||||||
msgid "No organizer."
|
|
||||||
msgstr "Cap organitzadora."
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:60 ../views/votes_edit.erb:68
|
|
||||||
msgid "Delete vote"
|
|
||||||
msgstr "Suprimir la votació"
|
|
||||||
|
|
||||||
#: ../views/home.erb:1 ../views/layout.erb:24
|
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Inici"
|
msgstr "Inici"
|
||||||
|
|
||||||
|
#: ../views/home.erb:3
|
||||||
|
msgid "Votes"
|
||||||
|
msgstr "Votacions"
|
||||||
|
|
||||||
#: ../views/home.erb:11
|
#: ../views/home.erb:11
|
||||||
msgid "(Draft, organized by you)"
|
msgid "(Draft, organized by you)"
|
||||||
msgstr "(Esborrany, organitzada per tu)"
|
msgstr "(Esborrany, organitzada per tu)"
|
||||||
|
|
||||||
|
#: ../views/home.erb:12 ../views/votes_show_draft.erb:1
|
||||||
|
msgid "(Draft)"
|
||||||
|
msgstr "(Esborrany)"
|
||||||
|
|
||||||
#: ../views/home.erb:15
|
#: ../views/home.erb:15
|
||||||
msgid "(Open, organized by you)"
|
msgid "(Open, organized by you)"
|
||||||
msgstr "(Oberta, organitzada per tu)"
|
msgstr "(Oberta, organitzada per tu)"
|
||||||
|
|
||||||
|
#: ../views/home.erb:16
|
||||||
|
msgid "(Open)"
|
||||||
|
msgstr "(Oberta)"
|
||||||
|
|
||||||
#: ../views/home.erb:19
|
#: ../views/home.erb:19
|
||||||
msgid "(Closed, organized by you)"
|
msgid "(Closed, organized by you)"
|
||||||
msgstr "(Tancada, organitzada per tu)"
|
msgstr "(Tancada, organitzada per tu)"
|
||||||
|
|
||||||
|
#: ../views/home.erb:20
|
||||||
|
msgid "(Closed)"
|
||||||
|
msgstr "(Tancada)"
|
||||||
|
|
||||||
#: ../views/home.erb:28 ../views/votes_new.erb:12
|
#: ../views/home.erb:28 ../views/votes_new.erb:12
|
||||||
msgid "Create new vote"
|
msgid "Create new vote"
|
||||||
msgstr "Crear una nova votació"
|
msgstr "Crear una nova votació"
|
||||||
|
|
@ -187,13 +93,13 @@ msgstr "Estàs connectada com a %{email}."
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Desconnexió"
|
msgstr "Desconnexió"
|
||||||
|
|
||||||
#: ../views/layout.erb:30 ../views/login.erb:1 ../views/login.erb:16
|
#: ../views/layout.erb:25 ../views/login.erb:1 ../views/login.erb:16
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Connexió"
|
msgstr "Connexió"
|
||||||
|
|
||||||
#: ../views/login.erb:9 ../views/reset.erb:5 ../views/reset_change.erb:13
|
#: ../views/login.erb:9 ../views/reset.erb:5 ../views/reset_change.erb:13
|
||||||
#: ../views/signup.erb:24 ../views/votes_edit.erb:51
|
#: ../views/signup.erb:24 ../views/votes_edit.erb:51
|
||||||
#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:66
|
#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:62
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Correu"
|
msgstr "Correu"
|
||||||
|
|
||||||
|
|
@ -277,6 +183,10 @@ msgstr "Guardar"
|
||||||
msgid "Candidates"
|
msgid "Candidates"
|
||||||
msgstr "Opcions"
|
msgstr "Opcions"
|
||||||
|
|
||||||
|
#: ../views/votes_edit.erb:21
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Suprimir"
|
||||||
|
|
||||||
#: ../views/votes_edit.erb:25 ../views/votes_edit.erb:36
|
#: ../views/votes_edit.erb:25 ../views/votes_edit.erb:36
|
||||||
msgid "Add candidate"
|
msgid "Add candidate"
|
||||||
msgstr "Afegeix una opció"
|
msgstr "Afegeix una opció"
|
||||||
|
|
@ -285,14 +195,19 @@ msgstr "Afegeix una opció"
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
|
#: ../views/votes_edit.erb:39 ../views/votes_show_closed.erb:79
|
||||||
|
#: ../views/votes_show_draft.erb:5 ../views/votes_show_open.erb:38
|
||||||
|
msgid "Organizers"
|
||||||
|
msgstr "Organitzadores"
|
||||||
|
|
||||||
#: ../views/votes_edit.erb:47 ../views/votes_edit.erb:54
|
#: ../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_closed.erb:95 ../views/votes_show_closed.erb:102
|
||||||
#: ../views/votes_show_open.erb:62 ../views/votes_show_open.erb:69
|
#: ../views/votes_show_open.erb:58 ../views/votes_show_open.erb:65
|
||||||
msgid "Add organizer"
|
msgid "Add organizer"
|
||||||
msgstr "Afegeix organitzadora"
|
msgstr "Afegeix organitzadora"
|
||||||
|
|
||||||
#: ../views/votes_edit.erb:57 ../views/votes_show_closed.erb:89
|
#: ../views/votes_edit.erb:57 ../views/votes_show_closed.erb:89
|
||||||
#: ../views/votes_show_open.erb:52
|
#: ../views/votes_show_open.erb:48
|
||||||
msgid "Actions for organizers"
|
msgid "Actions for organizers"
|
||||||
msgstr "Accions per les organitzadores"
|
msgstr "Accions per les organitzadores"
|
||||||
|
|
||||||
|
|
@ -305,6 +220,10 @@ msgstr "Obrir la votació als votants"
|
||||||
msgid "Add at least 2 candidates before opening the vote to participants."
|
msgid "Add at least 2 candidates before opening the vote to participants."
|
||||||
msgstr "Afegeix com a mínim 2 opcions abans d'obrir la votació als votants."
|
msgstr "Afegeix com a mínim 2 opcions abans d'obrir la votació als votants."
|
||||||
|
|
||||||
|
#: ../views/votes_edit.erb:68
|
||||||
|
msgid "Delete vote"
|
||||||
|
msgstr "Suprimir la votació"
|
||||||
|
|
||||||
#: ../views/votes_new.erb:1
|
#: ../views/votes_new.erb:1
|
||||||
msgid "New vote"
|
msgid "New vote"
|
||||||
msgstr "Nova votació"
|
msgstr "Nova votació"
|
||||||
|
|
@ -379,10 +298,10 @@ msgstr "Les teves valoracions"
|
||||||
msgid "Participants"
|
msgid "Participants"
|
||||||
msgstr "Votants"
|
msgstr "Votants"
|
||||||
|
|
||||||
#: ../views/votes_show_open.erb:55
|
#: ../views/votes_show_open.erb:51
|
||||||
msgid "Change back to draft vote"
|
msgid "Change back to draft vote"
|
||||||
msgstr "Tornar a l'esborrany de votació"
|
msgstr "Tornar a l'esborrany de votació"
|
||||||
|
|
||||||
#: ../views/votes_show_open.erb:59
|
#: ../views/votes_show_open.erb:55
|
||||||
msgid "Close votes and show results"
|
msgid "Close votes and show results"
|
||||||
msgstr "Tancar la votació i veure els resultats"
|
msgstr "Tancar la votació i veure els resultats"
|
||||||
|
|
|
||||||
161
po/vedia.pot
161
po/vedia.pot
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-06-08 20:44-0600\n"
|
"POT-Creation-Date: 2025-06-08 15:49-0600\n"
|
||||||
"PO-Revision-Date: 2025-06-08 20:44-0600\n"
|
"PO-Revision-Date: 2025-06-08 15:49-0600\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
|
|
@ -42,140 +42,46 @@ msgstr ""
|
||||||
msgid "Very good"
|
msgid "Very good"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vedia.rb:119
|
#: ../vedia.rb:118
|
||||||
msgid "Incorrect email or password."
|
msgid "Incorrect email or password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vedia.rb:141
|
#: ../vedia.rb:140
|
||||||
msgid "Reset your password"
|
msgid "Reset your password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/admin.erb:1 ../views/admin_users.erb:1 ../views/admin_votes.erb:1
|
#: ../views/home.erb:1 ../views/layout.erb:23
|
||||||
#: ../views/layout.erb:26
|
|
||||||
msgid "Admin"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin.erb:3
|
|
||||||
msgid "Users"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin.erb:13 ../views/home.erb:3
|
|
||||||
msgid "Votes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin.erb:21 ../views/home.erb:12 ../views/votes_show_draft.erb:1
|
|
||||||
msgid "(Draft)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin.erb:23 ../views/home.erb:16
|
|
||||||
msgid "(Open)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin.erb:25 ../views/home.erb:20
|
|
||||||
msgid "(Closed)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:5 ../views/admin_votes.erb:7
|
|
||||||
msgid "Created: %{date}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:7 ../views/admin_votes.erb:9
|
|
||||||
msgid "Updated: %{date}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:9
|
|
||||||
msgid "Admin: %{admin}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:9
|
|
||||||
msgid "Yes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:9
|
|
||||||
msgid "No"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:11
|
|
||||||
msgid "Organized votes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:19 ../views/admin_users.erb:38
|
|
||||||
#: ../views/admin_votes.erb:27 ../views/admin_votes.erb:46
|
|
||||||
#: ../views/votes_edit.erb:21
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:26
|
|
||||||
msgid "No vote organized."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:30 ../views/admin_votes.erb:38
|
|
||||||
msgid "Ratings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:45 ../views/admin_votes.erb:53
|
|
||||||
msgid "No rating."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_users.erb:52
|
|
||||||
msgid "Delete user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:5
|
|
||||||
msgid "View vote"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:11
|
|
||||||
msgid "Secure ID: %{secure_id}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:13
|
|
||||||
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:4
|
|
||||||
msgid "Closing date: %{date}"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:15
|
|
||||||
msgid "None"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:17
|
|
||||||
msgid "State: %{state}"
|
|
||||||
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:40
|
|
||||||
msgid "Organizers"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:34
|
|
||||||
msgid "No organizer."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/admin_votes.erb:60 ../views/votes_edit.erb:68
|
|
||||||
msgid "Delete vote"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../views/home.erb:1 ../views/layout.erb:24
|
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/home.erb:3
|
||||||
|
msgid "Votes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/home.erb:11
|
#: ../views/home.erb:11
|
||||||
msgid "(Draft, organized by you)"
|
msgid "(Draft, organized by you)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/home.erb:12 ../views/votes_show_draft.erb:1
|
||||||
|
msgid "(Draft)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/home.erb:15
|
#: ../views/home.erb:15
|
||||||
msgid "(Open, organized by you)"
|
msgid "(Open, organized by you)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/home.erb:16
|
||||||
|
msgid "(Open)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/home.erb:19
|
#: ../views/home.erb:19
|
||||||
msgid "(Closed, organized by you)"
|
msgid "(Closed, organized by you)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/home.erb:20
|
||||||
|
msgid "(Closed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/home.erb:28 ../views/votes_new.erb:12
|
#: ../views/home.erb:28 ../views/votes_new.erb:12
|
||||||
msgid "Create new vote"
|
msgid "Create new vote"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -188,13 +94,13 @@ msgstr ""
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/layout.erb:30 ../views/login.erb:1 ../views/login.erb:16
|
#: ../views/layout.erb:25 ../views/login.erb:1 ../views/login.erb:16
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/login.erb:9 ../views/reset.erb:5 ../views/reset_change.erb:13
|
#: ../views/login.erb:9 ../views/reset.erb:5 ../views/reset_change.erb:13
|
||||||
#: ../views/signup.erb:24 ../views/votes_edit.erb:51
|
#: ../views/signup.erb:24 ../views/votes_edit.erb:51
|
||||||
#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:66
|
#: ../views/votes_show_closed.erb:99 ../views/votes_show_open.erb:62
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -276,6 +182,10 @@ msgstr ""
|
||||||
msgid "Candidates"
|
msgid "Candidates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/votes_edit.erb:21
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/votes_edit.erb:25 ../views/votes_edit.erb:36
|
#: ../views/votes_edit.erb:25 ../views/votes_edit.erb:36
|
||||||
msgid "Add candidate"
|
msgid "Add candidate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -284,14 +194,19 @@ msgstr ""
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/votes_edit.erb:39 ../views/votes_show_closed.erb:79
|
||||||
|
#: ../views/votes_show_draft.erb:5 ../views/votes_show_open.erb:38
|
||||||
|
msgid "Organizers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/votes_edit.erb:47 ../views/votes_edit.erb:54
|
#: ../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_closed.erb:95 ../views/votes_show_closed.erb:102
|
||||||
#: ../views/votes_show_open.erb:62 ../views/votes_show_open.erb:69
|
#: ../views/votes_show_open.erb:58 ../views/votes_show_open.erb:65
|
||||||
msgid "Add organizer"
|
msgid "Add organizer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/votes_edit.erb:57 ../views/votes_show_closed.erb:89
|
#: ../views/votes_edit.erb:57 ../views/votes_show_closed.erb:89
|
||||||
#: ../views/votes_show_open.erb:52
|
#: ../views/votes_show_open.erb:48
|
||||||
msgid "Actions for organizers"
|
msgid "Actions for organizers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -304,6 +219,10 @@ msgstr ""
|
||||||
msgid "Add at least 2 candidates before opening the vote to participants."
|
msgid "Add at least 2 candidates before opening the vote to participants."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../views/votes_edit.erb:68
|
||||||
|
msgid "Delete vote"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/votes_new.erb:1
|
#: ../views/votes_new.erb:1
|
||||||
msgid "New vote"
|
msgid "New vote"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -376,10 +295,10 @@ msgstr ""
|
||||||
msgid "Participants"
|
msgid "Participants"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/votes_show_open.erb:55
|
#: ../views/votes_show_open.erb:51
|
||||||
msgid "Change back to draft vote"
|
msgid "Change back to draft vote"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../views/votes_show_open.erb:59
|
#: ../views/votes_show_open.erb:55
|
||||||
msgid "Close votes and show results"
|
msgid "Close votes and show results"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
||||||
78
vedia.rb
78
vedia.rb
|
|
@ -91,7 +91,6 @@ post '/signup' do
|
||||||
@user.password = hash_password(params[:password])
|
@user.password = hash_password(params[:password])
|
||||||
end
|
end
|
||||||
if @errors.empty? and @user.valid?
|
if @errors.empty? and @user.valid?
|
||||||
@user.admin = true if @user.id == 1
|
|
||||||
@user.save
|
@user.save
|
||||||
session.clear
|
session.clear
|
||||||
session[:user_id] = @user.id
|
session[:user_id] = @user.id
|
||||||
|
|
@ -193,71 +192,6 @@ post '/logout' do
|
||||||
redirect '/login'
|
redirect '/login'
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/admin' do
|
|
||||||
require_admin
|
|
||||||
@users = User.all
|
|
||||||
@votes = Vote.all
|
|
||||||
erb :admin
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/admin/users/:id' do
|
|
||||||
require_admin
|
|
||||||
@user = User.find(params[:id])
|
|
||||||
erb :admin_users
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/admin/users/:id/organizers/:vote/delete' do
|
|
||||||
require_admin
|
|
||||||
rating = Organizer.where(user: params[:id]).where(vote: params[:vote]).each do |organizer|
|
|
||||||
organizer.destroy
|
|
||||||
end
|
|
||||||
redirect "/admin/users/#{params[:id]}"
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/admin/users/:id/ratings/:vote/delete' do
|
|
||||||
require_admin
|
|
||||||
rating = Rating.where(user: params[:id]).where(vote: params[:vote]).each do |rating|
|
|
||||||
rating.destroy
|
|
||||||
end
|
|
||||||
redirect "/admin/users/#{params[:id]}"
|
|
||||||
end
|
|
||||||
|
|
||||||
post '/admin/users/:id/delete' do
|
|
||||||
require_admin
|
|
||||||
@user = User.find(params[:id])
|
|
||||||
@user.destroy
|
|
||||||
redirect '/admin'
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/admin/votes/:id' do
|
|
||||||
require_admin
|
|
||||||
@vote = Vote.find(params[:id])
|
|
||||||
erb :admin_votes
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/admin/votes/:id/organizers/:user/delete' do
|
|
||||||
require_admin
|
|
||||||
rating = Organizer.where(vote: params[:id]).where(user: params[:user]).each do |organizer|
|
|
||||||
organizer.destroy
|
|
||||||
end
|
|
||||||
redirect "/admin/votes/#{params[:id]}"
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/admin/votes/:id/ratings/:user/delete' do
|
|
||||||
require_admin
|
|
||||||
rating = Rating.where(vote: params[:id]).where(user: params[:user]).each do |rating|
|
|
||||||
rating.destroy
|
|
||||||
end
|
|
||||||
redirect "/admin/votes/#{params[:id]}"
|
|
||||||
end
|
|
||||||
|
|
||||||
post '/admin/votes/:id/delete' do
|
|
||||||
require_admin
|
|
||||||
@vote = Vote.find(params[:id])
|
|
||||||
@vote.destroy
|
|
||||||
redirect '/admin'
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/votes/new' do
|
get '/votes/new' do
|
||||||
require_login
|
require_login
|
||||||
erb :votes_new
|
erb :votes_new
|
||||||
|
|
@ -436,18 +370,10 @@ helpers do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def is_admin
|
|
||||||
current_user and current_user.admin
|
|
||||||
end
|
|
||||||
|
|
||||||
def require_login
|
def require_login
|
||||||
redirect '/login' unless current_user
|
redirect '/login' unless current_user
|
||||||
end
|
end
|
||||||
|
|
||||||
def require_admin
|
|
||||||
redirect '/' unless is_admin
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_vote
|
def find_vote
|
||||||
@vote = Vote.find_by(secure_id: params[:id])
|
@vote = Vote.find_by(secure_id: params[:id])
|
||||||
end
|
end
|
||||||
|
|
@ -473,10 +399,6 @@ helpers do
|
||||||
end
|
end
|
||||||
|
|
||||||
def format_date(timestamp)
|
def format_date(timestamp)
|
||||||
"#{TZInfo::Timezone.get(session[:timezone]).to_local(timestamp).strftime('%F')}"
|
|
||||||
end
|
|
||||||
|
|
||||||
def format_date_and_time(timestamp)
|
|
||||||
"#{TZInfo::Timezone.get(session[:timezone]).to_local(timestamp).strftime('%F %R')} (#{session[:timezone].gsub('_', ' ')})"
|
"#{TZInfo::Timezone.get(session[:timezone]).to_local(timestamp).strftime('%F %R')} (#{session[:timezone].gsub('_', ' ')})"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
<h1><%= _("Admin") %></h1>
|
|
||||||
|
|
||||||
<h2><%= _("Users") %></h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% @users.reverse.each do |user| %>
|
|
||||||
<li>
|
|
||||||
<a href="/admin/users/<%= user.id %>"><%= user.email %></a>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2><%= _("Votes") %></h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% @votes.reverse.each do |vote| %>
|
|
||||||
<li>
|
|
||||||
<a href="/admin/votes/<%= vote.id %>"><%= vote.title %></a>
|
|
||||||
<% case vote.state
|
|
||||||
when 'draft' %>
|
|
||||||
<%= _("(Draft)") %>
|
|
||||||
<% when 'open' %>
|
|
||||||
<%= _("(Open)") %>
|
|
||||||
<% when 'closed' %>
|
|
||||||
<%= _("(Closed)") %>
|
|
||||||
<% end %>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
<h1><%= _("Admin") %></h1>
|
|
||||||
|
|
||||||
<h2><%= @user.email %></h2>
|
|
||||||
|
|
||||||
<p><%= _("Created: %{date}") % { date: format_date(@user.created_at) } %></p>
|
|
||||||
|
|
||||||
<p><%= _("Updated: %{date}") % { date: format_date(@user.updated_at) } %></p>
|
|
||||||
|
|
||||||
<p><%= _("Admin: %{admin}") % { admin: @user.admin ? _("Yes") : _("No") } %></p>
|
|
||||||
|
|
||||||
<h2><%= _("Organized votes") %></h2>
|
|
||||||
|
|
||||||
<% unless @user.organizers.blank? %>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% @user.organizers.each do |organizer| %>
|
|
||||||
<li>
|
|
||||||
<%= organizer.user.email %>
|
|
||||||
<a href="/admin/users/<%= @user.id %>/organizers/<%= organizer.vote.id %>/delete"><%= _("Delete") %></a>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<% else %>
|
|
||||||
|
|
||||||
<p><%= _("No vote organized.") %></p>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<h2><%= _("Ratings") %></h2>
|
|
||||||
|
|
||||||
<% unless @user.ratings.blank? %>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% @user.ratings.collect { |rating| rating.vote }.uniq.each do |vote| %>
|
|
||||||
<li>
|
|
||||||
<%= vote.title %>
|
|
||||||
<a href="/admin/users/<%= @user.id %>/ratings/<%= vote.id %>/delete"><%= _("Delete") %></a>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<% else %>
|
|
||||||
|
|
||||||
<p><%= _("No rating.") %></p>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if @user.ratings.blank? and @user.organizers.blank? %>
|
|
||||||
|
|
||||||
<form action="/admin/users/<%= @user.id %>/delete" method="post">
|
|
||||||
<button type="submit"><%= _("Delete user") %></button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
<h1><%= _("Admin") %></h1>
|
|
||||||
|
|
||||||
<h2><%= @vote.title %></h2>
|
|
||||||
|
|
||||||
<p><a href="/votes/<%= @vote.secure_id %>"><%= _("View vote") %></a></p>
|
|
||||||
|
|
||||||
<p><%= _("Created: %{date}") % { date: format_date(@vote.created_at) } %></p>
|
|
||||||
|
|
||||||
<p><%= _("Updated: %{date}") % { date: format_date(@vote.updated_at) } %></p>
|
|
||||||
|
|
||||||
<p><%= _("Secure ID: %{secure_id}") % { secure_id: @vote.secure_id } %></p>
|
|
||||||
|
|
||||||
<p><%= _("Description: %{description}") % { description: @vote.description } %></p>
|
|
||||||
|
|
||||||
<p><%= _("Closing date: %{date}") % { date: @vote.expire_on ? format_date_and_time(@vote.expire_on) : _("None") } %></p>
|
|
||||||
|
|
||||||
<p><%= _("State: %{state}") % { state: @vote.state } %></p>
|
|
||||||
|
|
||||||
<h2><%= _("Organizers") %></h2>
|
|
||||||
|
|
||||||
<% unless @vote.organizers.blank? %>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% @vote.organizers.each do |organizer| %>
|
|
||||||
<li>
|
|
||||||
<%= organizer.user.email %>
|
|
||||||
<a href="/admin/votes/<%= @vote.id %>/organizers/<%= organizer.user.id %>/delete"><%= _("Delete") %></a>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<% else %>
|
|
||||||
|
|
||||||
<p><%= _("No organizer.") %></p>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<h2><%= _("Ratings") %></h2>
|
|
||||||
|
|
||||||
<% unless @vote.ratings.blank? %>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<% @vote.ratings.collect { |rating| rating.user }.uniq.each do |user| %>
|
|
||||||
<li>
|
|
||||||
<%= user.email %>
|
|
||||||
<a href="/admin/votes/<%= @vote.id %>/ratings/<%= user.id %>/delete"><%= _("Delete") %></a>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<% else %>
|
|
||||||
|
|
||||||
<p><%= _("No rating.") %></p>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if @vote.ratings.blank? and @vote.organizers.blank? %>
|
|
||||||
|
|
||||||
<form action="/admin/votes/<%= @vote.id %>/delete" method="post">
|
|
||||||
<button type="submit"><%= _("Delete vote") %></button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
@ -3,25 +3,25 @@
|
||||||
<h2><%= _("Votes") %></h2>
|
<h2><%= _("Votes") %></h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<% @votes.reverse.each do |vote| %>
|
<% @votes.reverse.each do |vote| %>
|
||||||
<li>
|
<li>
|
||||||
<a href="/votes/<%= vote.secure_id %>"><%= vote.title %></a>
|
<a href="/votes/<%= vote.secure_id %>"><%= vote.title %></a>
|
||||||
<% case vote.state
|
<% case vote.state
|
||||||
when 'draft' %>
|
when 'draft' %>
|
||||||
<% if vote.users.exists?(current_user.id) %><%= _("(Draft, organized by you)") %>
|
<% if vote.users.exists?(current_user.id) %><%= _("(Draft, organized by you)") %>
|
||||||
<% else %><%= _("(Draft)") %>
|
<% else %><%= _("(Draft)") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% when 'open' %>
|
<% when 'open' %>
|
||||||
<% if vote.users.exists?(current_user.id) %><%= _("(Open, organized by you)") %>
|
<% if vote.users.exists?(current_user.id) %><%= _("(Open, organized by you)") %>
|
||||||
<% else %><%= _("(Open)") %>
|
<% else %><%= _("(Open)") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% when 'closed' %>
|
<% when 'closed' %>
|
||||||
<% if vote.users.exists?(current_user.id) %><%= _("(Closed, organized by you)") %>
|
<% if vote.users.exists?(current_user.id) %><%= _("(Closed, organized by you)") %>
|
||||||
<% else %><%= _("(Closed)") %>
|
<% else %><%= _("(Closed)") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<form action="/votes/new" method="get">
|
<form action="/votes/new" method="get">
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,7 @@
|
||||||
<body>
|
<body>
|
||||||
<% if current_user %>
|
<% if current_user %>
|
||||||
<p><%= _("Logged in as %{email}.") % { email: current_user.email } %> <a href="/logout"><%= _("Logout") %></a></p>
|
<p><%= _("Logged in as %{email}.") % { email: current_user.email } %> <a href="/logout"><%= _("Logout") %></a></p>
|
||||||
<p>
|
<p><a href="/"><%= _("Home") %></a></p>
|
||||||
<a href="/"><%= _("Home") %></a>
|
|
||||||
<% if is_admin %>
|
|
||||||
<a href="/admin"><%= _("Admin") %></a>
|
|
||||||
<% end %>
|
|
||||||
</p>
|
|
||||||
<% else %>
|
<% else %>
|
||||||
<p><a href="/login"><%= _("Login") %></a></p>
|
<p><a href="/login"><%= _("Login") %></a></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<h1><%= _("Open vote") %></h1>
|
<h1><%= _("Open vote") %></h1>
|
||||||
|
|
||||||
<p><%= _("Closing date: %{date}" % { date: format_date_and_time(@expire_on) }) %></p>
|
<p><%= _("Closing date: #{format_date(@expire_on)}") %></p>
|
||||||
|
|
||||||
<p><%= _("The vote will automatically close on that date and the results will
|
<p><%= _("The vote will automatically close on that date and the results will
|
||||||
be sent to all users by email.") %></p>
|
be sent to all users by email.") %></p>
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<h1><%= @vote.title %></h1>
|
<h1><%= @vote.title %></h1>
|
||||||
|
|
||||||
<% if @vote.expire_on %>
|
<% if @vote.expire_on %>
|
||||||
<p><%= _("Closing date: %{date}" % { date: format_date_and_time(@vote.expire_on) }) %></p>
|
<p><%= _("Closing date: #{format_date(@vote.expire_on)}") %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<p><%= @vote.description %></p>
|
<p><%= @vote.description %></p>
|
||||||
|
|
||||||
<% unless @vote.ratings.blank? %>
|
<% if @vote.ratings.length > 0 %>
|
||||||
|
|
||||||
<h2><%= _("All ratings") %></h2>
|
<h2><%= _("All ratings") %></h2>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<h1><%= @vote.title %></h1>
|
<h1><%= @vote.title %></h1>
|
||||||
|
|
||||||
<% if @vote.expire_on %>
|
<% if @vote.expire_on %>
|
||||||
<p><%= _("Closing date: %{date}" % { date: format_date_and_time(@vote.expire_on) }) %></p>
|
<p><%= _("Closing date: #{format_date(@vote.expire_on)}") %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<p><%= @vote.description %></p>
|
<p><%= @vote.description %></p>
|
||||||
|
|
@ -35,8 +35,6 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<% unless @vote.organizers.blank? %>
|
|
||||||
|
|
||||||
<h2><%= _("Organizers") %></h2>
|
<h2><%= _("Organizers") %></h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
@ -45,8 +43,6 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if @vote.users.exists?(current_user.id) and @vote.expire_on.nil? %>
|
<% if @vote.users.exists?(current_user.id) and @vote.expire_on.nil? %>
|
||||||
|
|
||||||
<h3><%= _("Actions for organizers") %></h3>
|
<h3><%= _("Actions for organizers") %></h3>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue