Add configuration option for registrations.
authorRoger Braun <rbraun@Bobble.local>
Fri, 15 Sep 2017 12:39:32 +0000 (14:39 +0200)
committerRoger Braun <rbraun@Bobble.local>
Fri, 15 Sep 2017 12:39:32 +0000 (14:39 +0200)
config/config.exs
lib/pleroma/web/router.ex
lib/pleroma/web/twitter_api/controllers/util_controller.ex

index 6696a49023a97f6276fe84db0afb7bc7eb3271cf..c4f89c40c5433399e1fd971a6d379666e60a342c 100644 (file)
@@ -44,7 +44,8 @@ config :pleroma, :instance,
   version: version,
   name: "Pleroma",
   email: "example@example.com",
-  limit: 5000
+  limit: 5000,
+  registrations_open: true
 
 # Import environment specific config. This must remain at the bottom
 # of this file so it overrides the configuration defined above.
index 0e055a58ae439207d4671bbbecdb0a5e4f6f4490..3de77d220375e77ff76f3b6e923d86a109845b46 100644 (file)
@@ -98,6 +98,9 @@ defmodule Pleroma.Web.Router do
     get "/statusnet/version", TwitterAPI.UtilController, :version
   end
 
+  @instance Application.get_env(:pleroma, :instance)
+  @registrations_open Keyword.get(@instance, :registrations_open)
+
   scope "/api", Pleroma.Web do
     pipe_through :api
 
@@ -110,7 +113,9 @@ defmodule Pleroma.Web.Router do
     get "/statuses/show/:id", TwitterAPI.Controller, :fetch_status
     get "/statusnet/conversation/:id", TwitterAPI.Controller, :fetch_conversation
 
-    post "/account/register", TwitterAPI.Controller, :register
+    if @registrations_open do
+      post "/account/register", TwitterAPI.Controller, :register
+    end
 
     get "/externalprofile/show", TwitterAPI.Controller, :external_profile
   end
index 25ed912c926e8aba806ca651ecbc0d5cf80e1b4c..32910d92c84841a4bc4cb64e288c6f2cde97ac2c 100644 (file)
@@ -16,6 +16,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
             <name>#{Keyword.get(@instance, :name)}</name>
             <site>#{Web.base_url}</site>
             <textlimit>#{Keyword.get(@instance, :limit)}</textlimit>
+            <closed>#{!Keyword.get(@instance, :registrations_open)}</closed>
           </site>
         </config>
         """
@@ -27,7 +28,8 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
               site: %{
                 name: Keyword.get(@instance, :name),
                 server: Web.base_url,
-                textlimit: Keyword.get(@instance, :limit)
+                textlimit: Keyword.get(@instance, :limit),
+                closed: if(Keyword.get(@instance, :registrations_open), do: "0", else: "1")
               }
              })
     end