work on guild settings model
This commit is contained in:
parent
231ceda81a
commit
a8baa3ce54
@ -2,7 +2,7 @@
|
||||
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import Subscription, SavedGuilds, Filter, SubChannel, TrackedContent, ArticleMutator
|
||||
from .models import Subscription, SavedGuilds, Filter, SubChannel, TrackedContent, ArticleMutator, GuildSettings
|
||||
|
||||
|
||||
@admin.register(Subscription)
|
||||
@ -44,4 +44,10 @@ class SavedGuildAdmin(admin.ModelAdmin):
|
||||
class ArticleMutatorAdmin(admin.ModelAdmin):
|
||||
list_display = [
|
||||
"id", "name", "value"
|
||||
]
|
||||
]
|
||||
|
||||
@admin.register(GuildSettings)
|
||||
class GuildSettingsAdmin(admin.ModelAdmin):
|
||||
list_display = [
|
||||
"id", "guild_id", "default_embed_colour", "active"
|
||||
]
|
||||
|
@ -0,0 +1,122 @@
|
||||
# Generated by Django 5.0.4 on 2024-08-14 20:41
|
||||
|
||||
import django.utils.timezone
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('home', '0020_guildsettings'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='guildsettings',
|
||||
options={'get_latest_by': 'id', 'verbose_name': 'guild settings', 'verbose_name_plural': 'guild settings'},
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='savedguilds',
|
||||
name='default_embed_colour',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='guildsettings',
|
||||
name='active',
|
||||
field=models.BooleanField(default=True, help_text='Subscriptions of inactive guilds will also be treated as inactive', verbose_name='Active'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='guildsettings',
|
||||
name='guild_id',
|
||||
field=models.CharField(help_text='Discord snowflake ID for the represented guild.', max_length=128, unique=True, verbose_name='guild id'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='savedguilds',
|
||||
name='id',
|
||||
field=models.AutoField(primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='active',
|
||||
field=models.BooleanField(default=True, verbose_name='Active'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='article_fetch_image',
|
||||
field=models.BooleanField(default=True, help_text='Will the resulting article have an image?', verbose_name='Fetch Article Images'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='creation_datetime',
|
||||
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Created At'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='embed_colour',
|
||||
field=models.CharField(blank=True, default='3498db', max_length=6, verbose_name='Embed Colour'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='extra_notes',
|
||||
field=models.CharField(blank=True, max_length=250, null=True, verbose_name='Extra Notes'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='guild_id',
|
||||
field=models.CharField(max_length=128, verbose_name='Guild ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='name',
|
||||
field=models.CharField(max_length=32, verbose_name='Name'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='published_threshold',
|
||||
field=models.DateTimeField(blank=True, default=django.utils.timezone.now, verbose_name='Published Threshold'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='url',
|
||||
field=models.URLField(verbose_name='URL'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='blocked',
|
||||
field=models.BooleanField(default=False, verbose_name='Blocked'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='channel_id',
|
||||
field=models.CharField(max_length=128, verbose_name='Channel ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='creation_datetime',
|
||||
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Created At'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='guid',
|
||||
field=models.CharField(help_text='RSS provided GUID of the content', max_length=256, verbose_name='GUID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='id',
|
||||
field=models.AutoField(primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='message_id',
|
||||
field=models.CharField(max_length=128, verbose_name='Message ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='title',
|
||||
field=models.CharField(max_length=728, verbose_name='Title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='trackedcontent',
|
||||
name='url',
|
||||
field=models.URLField(verbose_name='URL'),
|
||||
),
|
||||
]
|
@ -23,7 +23,8 @@ class GuildSettings(models.Model):
|
||||
guild_id = models.CharField(
|
||||
verbose_name=_("guild id"),
|
||||
max_length=128,
|
||||
help_text=_("Discord snowflake ID for the represented guild.")
|
||||
help_text=_("Discord snowflake ID for the represented guild."),
|
||||
unique=True
|
||||
)
|
||||
|
||||
default_embed_colour = models.CharField(
|
||||
@ -33,6 +34,21 @@ class GuildSettings(models.Model):
|
||||
blank=True
|
||||
)
|
||||
|
||||
active = models.BooleanField(
|
||||
verbose_name=_("Active"),
|
||||
default=True,
|
||||
help_text=_("Subscriptions of inactive guilds will also be treated as inactive")
|
||||
)
|
||||
|
||||
class Meta:
|
||||
"""
|
||||
Metadata for the GuildSettings model.
|
||||
"""
|
||||
|
||||
verbose_name = "guild settings"
|
||||
verbose_name_plural = "guild settings"
|
||||
get_latest_by = "id"
|
||||
|
||||
|
||||
class SavedGuilds(models.Model):
|
||||
"""
|
||||
@ -79,12 +95,6 @@ class SavedGuilds(models.Model):
|
||||
help_text=_("Does the 'added by' user own this guild?")
|
||||
)
|
||||
|
||||
default_embed_colour = models.CharField(
|
||||
max_length=6,
|
||||
default="3498db",
|
||||
blank=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
"""
|
||||
Metadata for the SavedGuilds Model.
|
||||
@ -109,6 +119,10 @@ class SavedGuilds(models.Model):
|
||||
def settings(self):
|
||||
return GuildSettings.objects.get(guild_id=self.guild_id)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
GuildSettings.objects.get_or_create(guild_id=self.guild_id)
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class SubChannel(models.Model):
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user