improve locale
This commit is contained in:
		| @@ -13,17 +13,18 @@ if System.get_env("PHX_SERVER") && System.get_env("RELEASE_NAME") do | ||||
| end | ||||
|  | ||||
| # Set default locale | ||||
| config :gettext, :default_locale, System.get_env("LOCALE") || "en_US" | ||||
| config :gettext, :default_locale, System.get_env("LOCALE", "en_US") | ||||
|  | ||||
| maybe_ipv6 = if System.get_env("ECTO_IPV6") == "true", do: [:inet6], else: [] | ||||
|  | ||||
| database_url = | ||||
|   if config_env() == :test do | ||||
|     System.get_env("TEST_DATABASE_URL") || | ||||
|     System.get_env( | ||||
|       "TEST_DATABASE_URL", | ||||
|       "ecto://postgres:postgres@localhost/memex_test#{System.get_env("MIX_TEST_PARTITION")}" | ||||
|     ) | ||||
|   else | ||||
|     System.get_env("DATABASE_URL") || | ||||
|       "ecto://postgres:postgres@memex-db/memex" | ||||
|     System.get_env("DATABASE_URL", "ecto://postgres:postgres@memex-db/memex") | ||||
|   end | ||||
|  | ||||
| host = | ||||
| @@ -38,7 +39,7 @@ interface = | ||||
| config :memex, Memex.Repo, | ||||
|   # ssl: true, | ||||
|   url: database_url, | ||||
|   pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"), | ||||
|   pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")), | ||||
|   socket_options: maybe_ipv6 | ||||
|  | ||||
| config :memex, MemexWeb.Endpoint, | ||||
| @@ -47,10 +48,10 @@ config :memex, MemexWeb.Endpoint, | ||||
|     # See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html | ||||
|     # for details about using IPv6 vs IPv4 and loopback vs public addresses. | ||||
|     ip: interface, | ||||
|     port: String.to_integer(System.get_env("PORT") || "4000") | ||||
|     port: String.to_integer(System.get_env("PORT", "4000")) | ||||
|   ], | ||||
|   server: true, | ||||
|   registration: System.get_env("REGISTRATION") || "invite" | ||||
|   registration: System.get_env("REGISTRATION", "invite") | ||||
|  | ||||
| if config_env() == :prod do | ||||
|   # The secret key base is used to sign/encrypt cookies and other secrets. | ||||
| @@ -74,12 +75,12 @@ if config_env() == :prod do | ||||
|   config :memex, Memex.Mailer, | ||||
|     adapter: Swoosh.Adapters.SMTP, | ||||
|     relay: System.get_env("SMTP_HOST") || raise("No SMTP_HOST set!"), | ||||
|     port: System.get_env("SMTP_PORT") || 587, | ||||
|     port: System.get_env("SMTP_PORT", 587), | ||||
|     username: System.get_env("SMTP_USERNAME") || raise("No SMTP_USERNAME set!"), | ||||
|     password: System.get_env("SMTP_PASSWORD") || raise("No SMTP_PASSWORD set!"), | ||||
|     ssl: System.get_env("SMTP_SSL") == "true", | ||||
|     email_from: System.get_env("EMAIL_FROM") || "no-reply@#{System.get_env("HOST")}", | ||||
|     email_name: System.get_env("EMAIL_NAME") || "memEx" | ||||
|     email_from: System.get_env("EMAIL_FROM", "no-reply@#{System.get_env("HOST")}"), | ||||
|     email_name: System.get_env("EMAIL_NAME", "memEx") | ||||
|  | ||||
|   # ## Using releases | ||||
|   # | ||||
|   | ||||
| @@ -11,15 +11,17 @@ defmodule MemexWeb.Router do | ||||
|     plug :protect_from_forgery | ||||
|     plug :put_secure_browser_headers | ||||
|     plug :fetch_current_user | ||||
|     plug :put_user_locale, default: Application.compile_env(:gettext, :default_locale, "en_US") | ||||
|     plug :put_user_locale | ||||
|   end | ||||
|  | ||||
|   defp put_user_locale(%{assigns: %{current_user: %{locale: locale}}} = conn, default: default) do | ||||
|   defp put_user_locale(%{assigns: %{current_user: %{locale: locale}}} = conn, _opts) do | ||||
|     default = Application.fetch_env!(:gettext, :default_locale) | ||||
|     Gettext.put_locale(locale || default) | ||||
|     conn |> put_session(:locale, locale || default) | ||||
|   end | ||||
|  | ||||
|   defp put_user_locale(conn, default: default) do | ||||
|   defp put_user_locale(conn, _opts) do | ||||
|     default = Application.fetch_env!(:gettext, :default_locale) | ||||
|     Gettext.put_locale(default) | ||||
|     conn |> put_session(:locale, default) | ||||
|   end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user