Merge pull request #1816 from bookwyrm-social/privacy-translation

Build-in translations to privacy choices dropdown
This commit is contained in:
Mouse Reeve 2022-01-12 16:15:03 -08:00 committed by GitHub
commit b2262a5f98
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 69 additions and 15 deletions

View file

@ -0,0 +1,55 @@
# Generated by Django 3.2.10 on 2022-01-12 23:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("bookwyrm", "0125_alter_user_preferred_language"),
]
operations = [
migrations.AlterField(
model_name="annualgoal",
name="privacy",
field=models.CharField(
choices=[
("public", "Public"),
("unlisted", "Unlisted"),
("followers", "Followers"),
("direct", "Private"),
],
default="public",
max_length=255,
),
),
migrations.AlterField(
model_name="importjob",
name="privacy",
field=models.CharField(
choices=[
("public", "Public"),
("unlisted", "Unlisted"),
("followers", "Followers"),
("direct", "Private"),
],
default="public",
max_length=255,
),
),
migrations.AlterField(
model_name="user",
name="default_post_privacy",
field=models.CharField(
choices=[
("public", "Public"),
("unlisted", "Unlisted"),
("followers", "Followers"),
("direct", "Private"),
],
default="public",
max_length=255,
),
),
]

View file

@ -203,9 +203,12 @@ class UsernameField(ActivitypubFieldMixin, models.CharField):
return value.split("@")[0] return value.split("@")[0]
PrivacyLevels = models.TextChoices( PrivacyLevels = [
"Privacy", ["public", "unlisted", "followers", "direct"] ("public", _("Public")),
) ("unlisted", _("Unlisted")),
("followers", _("Followers")),
("direct", _("Private")),
]
class PrivacyField(ActivitypubFieldMixin, models.CharField): class PrivacyField(ActivitypubFieldMixin, models.CharField):
@ -214,9 +217,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField):
public = "https://www.w3.org/ns/activitystreams#Public" public = "https://www.w3.org/ns/activitystreams#Public"
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__( super().__init__(*args, max_length=255, choices=PrivacyLevels, default="public")
*args, max_length=255, choices=PrivacyLevels.choices, default="public"
)
# pylint: disable=invalid-name # pylint: disable=invalid-name
def set_field_from_activity(self, instance, data, overwrite=True): def set_field_from_activity(self, instance, data, overwrite=True):

View file

@ -40,9 +40,7 @@ class ImportJob(models.Model):
mappings = models.JSONField() mappings = models.JSONField()
complete = models.BooleanField(default=False) complete = models.BooleanField(default=False)
source = models.CharField(max_length=100) source = models.CharField(max_length=100)
privacy = models.CharField( privacy = models.CharField(max_length=255, default="public", choices=PrivacyLevels)
max_length=255, default="public", choices=PrivacyLevels.choices
)
retry = models.BooleanField(default=False) retry = models.BooleanField(default=False)
@property @property

View file

@ -129,7 +129,7 @@ class User(OrderedCollectionPageMixin, AbstractUser):
related_name="favorite_statuses", related_name="favorite_statuses",
) )
default_post_privacy = models.CharField( default_post_privacy = models.CharField(
max_length=255, default="public", choices=fields.PrivacyLevels.choices max_length=255, default="public", choices=fields.PrivacyLevels
) )
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)
@ -427,7 +427,7 @@ class AnnualGoal(BookWyrmModel):
goal = models.IntegerField(validators=[MinValueValidator(1)]) goal = models.IntegerField(validators=[MinValueValidator(1)])
year = models.IntegerField(default=get_current_year) year = models.IntegerField(default=get_current_year)
privacy = models.CharField( privacy = models.CharField(
max_length=255, default="public", choices=fields.PrivacyLevels.choices max_length=255, default="public", choices=fields.PrivacyLevels
) )
class Meta: class Meta: