Worlds: language switch
This commit is contained in:
@@ -1,16 +1,22 @@
|
|||||||
class WorldsController < ApplicationController
|
class WorldsController < ApplicationController
|
||||||
allow_unauthenticated_access
|
allow_unauthenticated_access
|
||||||
|
|
||||||
|
before_action :set_w_lang
|
||||||
before_action :set_title
|
before_action :set_title
|
||||||
before_action :set_fr_lang
|
|
||||||
|
|
||||||
def set_title
|
def set_title
|
||||||
@title = I18n.t("worlds.title")
|
@title = I18n.t("worlds.title")
|
||||||
@nonav = true
|
@nonav = true
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_fr_lang
|
def set_w_lang
|
||||||
I18n.locale = "fr"
|
if params.has_key?(:lang) && params[:lang] == "en"
|
||||||
|
I18n.locale = "en"
|
||||||
|
@lang = "en"
|
||||||
|
else
|
||||||
|
I18n.locale = "fr"
|
||||||
|
@lang = "fr"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def main
|
def main
|
||||||
@@ -90,7 +96,7 @@ class WorldsController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
if w_set.length == 10 && f_set.length == 10 && @world_bet.save
|
if w_set.length == 10 && f_set.length == 10 && @world_bet.save
|
||||||
redirect_to "/wjpc_bets/main", notice: t("worlds.new.notice")
|
redirect_to "/wjpc_bets/#{@lang}/main", notice: t("worlds.new.notice")
|
||||||
else
|
else
|
||||||
@world_participants = WorldParticipant.all.sort_by { |p| p.name }
|
@world_participants = WorldParticipant.all.sort_by { |p| p.name }
|
||||||
france = WorldCountry.where(code: "FR").first
|
france = WorldCountry.where(code: "FR").first
|
||||||
@@ -117,9 +123,9 @@ class WorldsController < ApplicationController
|
|||||||
b.save
|
b.save
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
redirect_back(fallback_location: root_path, notice: t("worlds.collab.notice"))
|
redirect_back(fallback_location: "/wjpc_bets/#{@lang}/main", notice: t("worlds.collab.notice"))
|
||||||
else
|
else
|
||||||
redirect_to "/wjpc_bets/collab", notice: t("worlds.collab.error")
|
redirect_to "/wjpc_bets/#{@lang}/collab", notice: t("worlds.collab.error")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
.col
|
.col
|
||||||
ul.nav.nav-tabs.mb-4
|
ul.nav.nav-tabs.mb-4
|
||||||
li.nav-item
|
li.nav-item
|
||||||
a.nav-link class=active_page("/wjpc_bets/main") href="/wjpc_bets/main"
|
a.nav-link class=active_page("/wjpc_bets/#{@lang}/main") href="/wjpc_bets/#{@lang}/main"
|
||||||
= t("worlds.main.tab")
|
= t("worlds.main.tab")
|
||||||
li.nav-item
|
li.nav-item
|
||||||
a.nav-link class=active_page("/wjpc_bets/about") href="/wjpc_bets/about"
|
a.nav-link class=active_page("/wjpc_bets/#{@lang}/about") href="/wjpc_bets/#{@lang}/about"
|
||||||
= t("worlds.about.tab")
|
= t("worlds.about.tab")
|
||||||
li.nav-item
|
li.nav-item
|
||||||
a.nav-link class=active_page("/wjpc_bets/collaborative_filling") href="/wjpc_bets/collaborative_filling"
|
a.nav-link class=active_page("/wjpc_bets/#{@lang}/collaborative_filling") href="/wjpc_bets/#{@lang}/collaborative_filling"
|
||||||
= t("worlds.collab.tab")
|
= t("worlds.collab.tab")
|
||||||
li.nav-item
|
li.nav-item
|
||||||
a.nav-link class=active_page("/wjpc_bets/new") href="/wjpc_bets/new"
|
a.nav-link class=active_page("/wjpc_bets/#{@lang}/new") href="/wjpc_bets/#{@lang}/new"
|
||||||
= t("worlds.new.tab")
|
= t("worlds.new.tab")
|
||||||
@@ -15,6 +15,12 @@ html
|
|||||||
a.navbar-brand href=user_path(@current_user) class="btn btn-light"
|
a.navbar-brand href=user_path(@current_user) class="btn btn-light"
|
||||||
= t("nav.settings")
|
= t("nav.settings")
|
||||||
= button_to t("nav.log_out"), session_path, method: :delete, class: "btn btn-danger"
|
= button_to t("nav.log_out"), session_path, method: :delete, class: "btn btn-danger"
|
||||||
|
- if active_page("/wjpc_bets")
|
||||||
|
.float-end
|
||||||
|
a.navbar-brand href="/wjpc_bets/en/main" class="btn btn-light" style="margin-right: 0"
|
||||||
|
= Flags.get_flag("GB")
|
||||||
|
a.navbar-brand href="/wjpc_bets/fr/main" class="btn btn-light" style="margin-right: 0"
|
||||||
|
= Flags.get_flag("FR")
|
||||||
|
|
||||||
css:
|
css:
|
||||||
.toast {
|
.toast {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ h4.mt-4 Round A
|
|||||||
- if p.round == 'a'
|
- if p.round == 'a'
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
@@ -55,7 +55,7 @@ h4.mt-5 Round B
|
|||||||
- if p.round == 'b'
|
- if p.round == 'b'
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
@@ -70,7 +70,7 @@ h4.mt-5 Round C
|
|||||||
- if p.round == 'c'
|
- if p.round == 'c'
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
@@ -85,7 +85,7 @@ h4.mt-5 Round D
|
|||||||
- if p.round == 'd'
|
- if p.round == 'd'
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
@@ -100,7 +100,7 @@ h4.mt-5 = "#{t("worlds.collab.semifinal")} 1"
|
|||||||
- if p.round == 'a' || p.round == 'b'
|
- if p.round == 'a' || p.round == 'b'
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
@@ -115,7 +115,7 @@ h4.mt-5 = "#{t("worlds.collab.semifinal")} 2"
|
|||||||
- if p.round == 'c' || p.round == 'd'
|
- if p.round == 'c' || p.round == 'd'
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
@@ -129,7 +129,7 @@ h4.mt-5 = "#{t("worlds.collab.final")}"
|
|||||||
- @participants.each do |p|
|
- @participants.each do |p|
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
.col
|
.col
|
||||||
= form_with model: WorldParticipant, url: "/wjpc_bets/update/#{p.id}", method: :patch do |form|
|
= form_with model: WorldParticipant, url: "/wjpc_bets/#{@lang}/update/#{p.id}", method: :patch do |form|
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
.input-group-text style="width: 350px;" #{Flags.get_flag(p.world_country.code) + " " + p.name}
|
||||||
.input-group-text = t("worlds.main.rank")
|
.input-group-text = t("worlds.main.rank")
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
td #{b.name}
|
td #{b.name}
|
||||||
td #{b.world_score}
|
td #{b.world_score}
|
||||||
td
|
td
|
||||||
a.btn.btn-sm.btn-secondary href="/wjpc_bets/view/#{b.id}"
|
a.btn.btn-sm.btn-secondary href="/wjpc_bets/#{@lang}/view/#{b.id}"
|
||||||
= t("worlds.main.view_bet")
|
= t("worlds.main.view_bet")
|
||||||
|
|
||||||
.row.mt-3
|
.row.mt-3
|
||||||
@@ -49,5 +49,5 @@
|
|||||||
td #{b.name}
|
td #{b.name}
|
||||||
td #{b.french_score}
|
td #{b.french_score}
|
||||||
td
|
td
|
||||||
a.btn.btn-sm.btn-secondary href="/wjpc_bets/view/#{b.id}"
|
a.btn.btn-sm.btn-secondary href="/wjpc_bets/#{@lang}/view/#{b.id}"
|
||||||
= t("worlds.main.view_bet")
|
= t("worlds.main.view_bet")
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
= render "worlds_nav"
|
= render "worlds_nav"
|
||||||
|
|
||||||
= form_with model: @world_bet, url: "/wjpc_bets/new", method: :post do |form|
|
= form_with model: @world_bet, url: "/wjpc_bets/#{@lang}/new", method: :post do |form|
|
||||||
.alert.alert-primary role="alert"
|
.alert.alert-primary role="alert"
|
||||||
= t("worlds.new.message")
|
= t("worlds.new.message")
|
||||||
|
|
||||||
|
|||||||
@@ -83,12 +83,12 @@ Rails.application.routes.draw do
|
|||||||
"/public/#{contest.friendly_id}/offline/#{offline.generate_token_for(:token)}/completed"
|
"/public/#{contest.friendly_id}/offline/#{offline.generate_token_for(:token)}/completed"
|
||||||
end
|
end
|
||||||
|
|
||||||
get "wjpc_bets", to: redirect("/wjpc_bets/main")
|
get "wjpc_bets", to: redirect("/wjpc_bets/fr/main")
|
||||||
get "wjpc_bets/main", to: "worlds#main"
|
get "wjpc_bets/:lang/main", to: "worlds#main"
|
||||||
get "wjpc_bets/about", to: "worlds#about"
|
get "wjpc_bets/:lang/about", to: "worlds#about"
|
||||||
get "wjpc_bets/collaborative_filling", to: "worlds#collab"
|
get "wjpc_bets/:lang/collaborative_filling", to: "worlds#collab"
|
||||||
get "wjpc_bets/new", to: "worlds#new"
|
get "wjpc_bets/:lang/new", to: "worlds#new"
|
||||||
post "wjpc_bets/new", to: "worlds#create"
|
post "wjpc_bets/:lang/new", to: "worlds#create"
|
||||||
patch "wjpc_bets/update/:participant_id", to: "worlds#update"
|
patch "wjpc_bets/:lang/update/:participant_id", to: "worlds#update"
|
||||||
get "wjpc_bets/view/:bet_id", to: "worlds#view"
|
get "wjpc_bets/:lang/view/:bet_id", to: "worlds#view"
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user