forked from mirrors/bookwyrm
Merge branch '253-user-post-privacy-v2' of https://github.com/ibrand/bookwyrm into ibrand-253-user-post-privacy-v2
This commit is contained in:
commit
63c8301eb9
5 changed files with 34 additions and 5 deletions
|
@ -132,6 +132,7 @@ class EditUserForm(CustomForm):
|
||||||
"summary",
|
"summary",
|
||||||
"show_goal",
|
"show_goal",
|
||||||
"manually_approves_followers",
|
"manually_approves_followers",
|
||||||
|
"default_post_privacy",
|
||||||
"discoverable",
|
"discoverable",
|
||||||
"preferred_timezone",
|
"preferred_timezone",
|
||||||
]
|
]
|
||||||
|
|
18
bookwyrm/migrations/0046_user_default_post_privacy.py
Normal file
18
bookwyrm/migrations/0046_user_default_post_privacy.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.0.7 on 2021-02-14 00:39
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('bookwyrm', '0045_auto_20210210_2114'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='user',
|
||||||
|
name='default_post_privacy',
|
||||||
|
field=models.CharField(choices=[('public', 'Public'), ('unlisted', 'Unlisted'), ('followers', 'Followers'), ('direct', 'Direct')], default='public', max_length=255),
|
||||||
|
),
|
||||||
|
]
|
|
@ -26,7 +26,6 @@ from .base_model import BookWyrmModel, DeactivationReason
|
||||||
from .federated_server import FederatedServer
|
from .federated_server import FederatedServer
|
||||||
from . import fields, Review
|
from . import fields, Review
|
||||||
|
|
||||||
|
|
||||||
class User(OrderedCollectionPageMixin, AbstractUser):
|
class User(OrderedCollectionPageMixin, AbstractUser):
|
||||||
"""a user who wants to read books"""
|
"""a user who wants to read books"""
|
||||||
|
|
||||||
|
@ -105,6 +104,11 @@ class User(OrderedCollectionPageMixin, AbstractUser):
|
||||||
through_fields=("user", "status"),
|
through_fields=("user", "status"),
|
||||||
related_name="favorite_statuses",
|
related_name="favorite_statuses",
|
||||||
)
|
)
|
||||||
|
default_post_privacy = models.CharField(
|
||||||
|
max_length=255,
|
||||||
|
default='public',
|
||||||
|
choices=fields.PrivacyLevels.choices
|
||||||
|
)
|
||||||
remote_id = fields.RemoteIdField(null=True, unique=True, activitypub_field="id")
|
remote_id = fields.RemoteIdField(null=True, unique=True, activitypub_field="id")
|
||||||
created_date = models.DateTimeField(auto_now_add=True)
|
created_date = models.DateTimeField(auto_now_add=True)
|
||||||
updated_date = models.DateTimeField(auto_now=True)
|
updated_date = models.DateTimeField(auto_now=True)
|
||||||
|
|
|
@ -53,6 +53,12 @@
|
||||||
{{ form.manually_approves_followers }}
|
{{ form.manually_approves_followers }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="block">
|
||||||
|
<label class="label" for="id_default_post_privacy">
|
||||||
|
{% trans "Default post privacy:" %}
|
||||||
|
{{ form.default_post_privacy }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<label class="checkbox label" for="id_discoverable">
|
<label class="checkbox label" for="id_discoverable">
|
||||||
{% trans "Show this account in suggested users:" %}
|
{% trans "Show this account in suggested users:" %}
|
||||||
|
|
|
@ -6,16 +6,16 @@
|
||||||
<label class="is-sr-only" for="privacy-{{ uuid }}">{% trans "Post privacy" %}</label>
|
<label class="is-sr-only" for="privacy-{{ uuid }}">{% trans "Post privacy" %}</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<select name="privacy" id="privacy-{{ uuid }}">
|
<select name="privacy" id="privacy-{{ uuid }}">
|
||||||
<option value="public" {% if not current or current == 'public' %}selected{% endif %}>
|
<option value="public" {% if user.default_post_privacy == 'public' or current == 'public' %}selected{% endif %}>
|
||||||
{% trans "Public" %}
|
{% trans "Public" %}
|
||||||
</option>
|
</option>
|
||||||
<option value="unlisted" {% if current == 'unlisted' %}selected{% endif %}>
|
<option value="unlisted" {% if user.default_post_privacy == 'unlisted' or current == 'unlisted' %}selected{% endif %}>
|
||||||
{% trans "Unlisted" %}
|
{% trans "Unlisted" %}
|
||||||
</option>
|
</option>
|
||||||
<option value="followers" {% if current == 'followers' %}selected{% endif %}>
|
<option value="followers" {% if user.default_post_privacy == 'followers' or current == 'followers' %}selected{% endif %}>
|
||||||
{% trans "Followers" %}
|
{% trans "Followers" %}
|
||||||
</option>
|
</option>
|
||||||
<option value="direct" {% if current == 'direct' %}selected{% endif %}>
|
<option value="direct" {% if user.default_post_privacy == 'direct' or current == 'direct' %}selected{% endif %}>
|
||||||
{% trans "Private" %}
|
{% trans "Private" %}
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
Loading…
Reference in a new issue