Repository: bookwyrm-social/bookwyrm

Issue:
A Clearer Wording for the Invitation Requesting Form
**Is your feature request related to a problem? Please describe.**
When an instance opts for "invitation request", the wording of the request form might make one thinks that it's a direct email exchange with the admin.

**Describe the solution you'd like**
A clearer wording for the invitation request form.



Discussion:
Thank you!

There are a few different states for the registration page. When you allow invite requests, this is the default display:
<img width="488" alt="Screen Shot 2021-09-18 at 9 57 06 AM" src="https://user-images.githubusercontent.com/1807695/133897569-0db691e5-f875-4519-933c-cd92a99f84a3.png">
The "contact an administrator to get an invite" text can be set by the instance admin to whatever they want, the rest of the text is hard-coded into the ui.

It's the same text that shows if the instance is closed and invite requests are _not_ allowed:
<img width="497" alt="Screen Shot 2021-09-18 at 10 39 02 AM" src="https://user-images.githubusercontent.com/1807695/133897614-2f7d9185-685b-4c02-8663-50df8b7dd711.png">

When registration is allowed, there's no customizable text, just the registration form:
<img width="487" alt="Screen Shot 2021-09-18 at 10 39 55 AM" src="https://user-images.githubusercontent.com/1807695/133897651-748e28b0-ddeb-4c7e-bc29-78e404a463b5.png">

I think a good option here is to have separate customizable text for the invite flow and for when an instance is fully closed, and have the default text explain a little more about what happens when you fill out the form. It probably also makes sense to have a different header for the invite form - maybe "<Instance name> is invite-only" instead of saying it's closed.
> I think a good option here is to have separate customizable text for the invite flow and for when an instance is fully closed, and have the default text explain a little more about what happens when you fill out the form. It probably also makes sense to have a different header for the invite form - maybe " is invite-only" instead of saying it's closed.

Customizable text sounds great!

Resolving patch:
diff --git a/bookwyrm/migrations/0098_auto_20210918_2238.py b/bookwyrm/migrations/0098_auto_20210918_2238.py
new file mode 100644
--- /dev/null
+++ b/bookwyrm/migrations/0098_auto_20210918_2238.py
@@ -0,0 +1,27 @@
+# Generated by Django 3.2.4 on 2021-09-18 22:38
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("bookwyrm", "0097_auto_20210917_1858"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="sitesettings",
+            name="invite_request_text",
+            field=models.TextField(
+                default="If your request is approved, you will receive an email with a registration link."
+            ),
+        ),
+        migrations.AlterField(
+            model_name="sitesettings",
+            name="registration_closed_text",
+            field=models.TextField(
+                default='We aren\'t taking new users at this time. You can find an open instance at <a href="https://joinbookwyrm.com/instances">joinbookwyrm.com/instances</a>.'
+            ),
+        ),
+    ]
diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py
--- a/bookwyrm/models/site.py
+++ b/bookwyrm/models/site.py
@@ -24,7 +24,13 @@ class SiteSettings(models.Model):
 
     # about page
     registration_closed_text = models.TextField(
-        default="Contact an administrator to get an invite"
+        default="We aren't taking new users at this time. You can find an open "
+        'instance at <a href="https://joinbookwyrm.com/instances">'
+        "joinbookwyrm.com/instances</a>."
+    )
+    invite_request_text = models.TextField(
+        default="If your request is approved, you will receive an email with a "
+        "registration link."
     )
     code_of_conduct = models.TextField(default="Add a code of conduct here.")
     privacy_policy = models.TextField(default="Add a privacy policy here.")
diff --git a/bookwyrm/views/register.py b/bookwyrm/views/register.py
--- a/bookwyrm/views/register.py
+++ b/bookwyrm/views/register.py
@@ -16,6 +16,10 @@
 class Register(View):
     """register a user"""
 
+    def get(self, request):  # pylint: disable=unused-argument
+        """whether or not you're logged in, just go to the home view"""
+        return redirect("/")
+
     @sensitive_variables("password")
     @method_decorator(sensitive_post_parameters("password"))
     def post(self, request):


Test patch: