server icon
This commit is contained in:
parent
1ce3dda0ba
commit
5b2da20947
@ -147,4 +147,4 @@ class UserServerLinkSerializer(DynamicModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = UserServerLink
|
||||
fields = ("id", "server_id", "user", "name", "permissions")
|
||||
fields = ("id", "server_id", "user", "name", "icon", "icon_url", "permissions")
|
||||
|
@ -14,4 +14,4 @@ class DiscordUserAdmin(admin.ModelAdmin):
|
||||
@admin.register(UserServerLink)
|
||||
class UserServerLink(admin.ModelAdmin):
|
||||
|
||||
list_display = ["id", "user", "name", "permissions"]
|
||||
list_display = ["id", "user", "name", "permissions", "icon"]
|
||||
|
@ -1,7 +1,8 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-11 17:38
|
||||
# Generated by Django 5.0.1 on 2024-03-27 11:13
|
||||
|
||||
import apps.authentication.managers
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@ -30,8 +31,16 @@ class Migration(migrations.Migration):
|
||||
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
||||
('is_superuser', models.BooleanField(default=False, help_text='Designates whether the user has unrestricted site control.', verbose_name='superuser status')),
|
||||
],
|
||||
managers=[
|
||||
('objects', apps.authentication.managers.DiscordUserOAuth2Manager()),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='UserServerLink',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('server_id', models.PositiveBigIntegerField()),
|
||||
('name', models.CharField(max_length=64)),
|
||||
('permissions', models.IntegerField()),
|
||||
('icon', models.CharField(help_text="the guild's icon hash", max_length=64, verbose_name='icon')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
]
|
||||
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-13 13:45
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelManagers(
|
||||
name='discorduser',
|
||||
managers=[
|
||||
],
|
||||
),
|
||||
]
|
@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-27 11:24
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='userserverlink',
|
||||
name='icon',
|
||||
field=models.CharField(blank=True, help_text="the guild's icon hash", max_length=64, null=True, verbose_name='icon'),
|
||||
),
|
||||
]
|
@ -1,24 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-17 22:51
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0002_alter_discorduser_managers'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='UserServerLink',
|
||||
fields=[
|
||||
('id', models.PositiveBigIntegerField(primary_key=True, serialize=False)),
|
||||
('name', models.CharField(max_length=64)),
|
||||
('perm_flags', models.IntegerField()),
|
||||
('user_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
]
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-17 23:00
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0003_userserverlink'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='userserverlink',
|
||||
name='perm_flags',
|
||||
field=models.IntegerField(blank=True, null=True),
|
||||
),
|
||||
]
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-20 10:10
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0004_alter_userserverlink_perm_flags'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='userserverlink',
|
||||
old_name='perm_flags',
|
||||
new_name='permissions',
|
||||
),
|
||||
]
|
@ -1,18 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-20 10:37
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0005_rename_perm_flags_userserverlink_permissions'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='userserverlink',
|
||||
old_name='user_id',
|
||||
new_name='user',
|
||||
),
|
||||
]
|
@ -1,30 +0,0 @@
|
||||
# Generated by Django 5.0.1 on 2024-03-20 11:22
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authentication', '0006_rename_user_id_userserverlink_user'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='userserverlink',
|
||||
name='server_id',
|
||||
field=models.PositiveBigIntegerField(default=1),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='userserverlink',
|
||||
name='id',
|
||||
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='userserverlink',
|
||||
name='permissions',
|
||||
field=models.IntegerField(default=1),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
@ -135,10 +135,25 @@ class UserServerLink(models.Model):
|
||||
user = models.ForeignKey(to=DiscordUser, on_delete=models.CASCADE)
|
||||
name = models.CharField(max_length=64)
|
||||
permissions = models.IntegerField()
|
||||
icon = models.CharField(
|
||||
_("icon"),
|
||||
max_length=64,
|
||||
help_text=_("the guild's icon hash"),
|
||||
null=True,
|
||||
blank=True
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@property
|
||||
def icon_url(self):
|
||||
|
||||
if not self.icon: # TODO: review this
|
||||
return "/static/images/placeholder-100x100.png"
|
||||
|
||||
return f"https://cdn.discordapp.com/icons/{self.server_id}/{self.icon}.webp?size=80"
|
||||
|
||||
# @property
|
||||
# def is_admin(self):
|
||||
# return self.perm_flags & 0x0000000000000008
|
||||
|
@ -117,7 +117,8 @@ class GuildsView(View):
|
||||
server_id=server["id"],
|
||||
user=user,
|
||||
name=server["name"],
|
||||
permissions=server["permissions"]
|
||||
permissions=server["permissions"],
|
||||
icon=server["icon"]
|
||||
)
|
||||
for server in content
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user