site-libsoc/Server/app/resources/basic/BasicController.jl

227 lines
6.2 KiB
Julia
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

module BasicController
using Genie, Genie.Renderer, Genie.Renderer.Html, Genie.Requests
using JSON3
using SearchLight
using Server.DatabaseSupport, Server.TemplateEditor
controller = "basic"
dict_layouts = Dict(
:landing => generate_layout_html("main",controller,"landing",css=["landing"],libraries=["Leaflet"]),
:manifesto => generate_layout_html("main",controller,"manifesto"),
:join_us => generate_layout_html("main",controller,"join_us",libraries=["Leaflet"]),
:groups => generate_layout_html("main",controller,"groups",libraries=["Leaflet"]),
:groups_add => generate_layout_html("main",controller,"groups_add",libraries=["Leaflet"]),
:cooperatives => generate_layout_html("main",controller,"cooperatives",libraries=["Leaflet"]),
:communes => generate_layout_html("main",controller,"communes",libraries=["Leaflet"]),
:parties => generate_layout_html("main",controller,"parties",libraries=["Leaflet"]),
:partners => generate_layout_html("main",controller,"partners",libraries=["Leaflet"]),
:compass => generate_layout_html("main",controller,"compass"),
)
#---Page info-----------------------------------------------------
const landing_info = Dict(
"en" => Dict(
:title => "LibSoc - A Global Network of Libertarian Socialists",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Глобальная сеть либертарных социалистов",
:description => ""
),
)
const manifesto_info = Dict(
"en" => Dict(
:title => "LibSoc - Manifesto",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Манифест",
:description => ""
)
)
const join_us_info = Dict(
"en" => Dict(
:title => "LibSoc - Manifesto",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Присоединяйся",
:description => ""
),
)
const groups_info = Dict(
"en" => Dict(
:title => "LibSoc - Groups",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Группы",
:description => ""
)
)
const cooperatives_info = Dict(
"en" => Dict(
:title => "LibSoc - Cooperatives",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Кооперативы",
:description => ""
)
)
const communes_info = Dict(
"en" => Dict(
:title => "LibSoc - Communes",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Коммуны",
:description => ""
)
)
const partners_info = Dict(
"en" => Dict(
:title => "LibSoc - Partners",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Партнеры",
:description => ""
)
)
const parties_info = Dict(
"en" => Dict(
:title => "LibSoc - Parties",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Партии",
:description => ""
)
)
const compass_info = Dict(
"en" => Dict(
:title => "LibSoc - Political Compass",
:description => ""
),
"ru" => Dict(
:title => "LibSoc - Политический компас",
:description => ""
)
)
function get_locale()
data = payload()
if :locale in keys(data)
return data[:locale]
else
return "en"
end
end
#---Functions---------------------------------------------------------
function landing()
locale = get_locale()
html(:basic,:landing, layout = dict_layouts[:landing], context = @__MODULE__,
title = landing_info[locale][:title],
description = landing_info[locale][:description]
)
end
function manifesto()
locale = get_locale()
html(:basic,:manifesto, layout = dict_layouts[:manifesto], context = @__MODULE__,
title = manifesto_info[locale][:title],
description = manifesto_info[locale][:description]
)
end
function join_us()
locale = get_locale()
html(:basic,:join_us, layout = dict_layouts[:join_us], context = @__MODULE__,
title = join_us_info[locale][:title],
description = join_us_info[locale][:description]
)
end
function groups()
locale = get_locale()
html(:basic,:groups, layout = dict_layouts[:groups], context = @__MODULE__,
title = groups_info[locale][:title],
description = groups_info[locale][:description]
)
end
function groups_add()
locale = get_locale()
html(:basic,:groups_add, layout = dict_layouts[:groups_add], context = @__MODULE__,
title = groups_info[locale][:title],
description = groups_info[locale][:description]
)
end
function cooperatives()
locale = get_locale()
html(:basic,:cooperatives, layout = dict_layouts[:cooperatives], context = @__MODULE__,
title = cooperatives_info[locale][:title],
description = cooperatives_info[locale][:description]
)
end
function communes()
locale = get_locale()
html(:basic,:communes, layout = dict_layouts[:communes], context = @__MODULE__,
title = communes_info[locale][:title],
description = communes_info[locale][:description]
)
end
function partners()
locale = get_locale()
html(:basic,:partners, layout = dict_layouts[:partners], context = @__MODULE__,
title = partners_info[locale][:title],
description = partners_info[locale][:description]
)
end
function parties()
locale = get_locale()
html(:basic,:parties, layout = dict_layouts[:parties], context = @__MODULE__,
title = parties_info[locale][:title],
description = parties_info[locale][:description]
)
end
function political_compass()
locale = get_locale()
html(:basic,:compass, layout = dict_layouts[:compass], context = @__MODULE__,
title = compass_info[locale][:title],
description = compass_info[locale][:description]
)
end
function groups_add_post()
@info rawpayload()
data = collect(JSON3.read(rawpayload()))
push!(data,1)
dict = Dict(zip(["country","state","town","latitude","longitude","contact","members"],data))
insert_into_table("groups",dict)
end
end
#=
json_string = """["United States","California",null,38.24508142880928,-120.58593750000001,""]"""
data = JSON3.read(json_string)´
=#