cleanup, better admin

This commit is contained in:
j 2021-10-11 13:55:45 +01:00
commit b8f1c52613
15 changed files with 124 additions and 24 deletions

View file

@ -5,7 +5,12 @@ from . import models
@admin.decorators.register(models.Text)
class TextAdmin(admin.ModelAdmin):
pass
list_display = (
'__str__',
'position',
'slug',
'public',
)
@admin.decorators.register(models.Page)
class PageAdmin(admin.ModelAdmin):

View file

@ -0,0 +1,18 @@
# Generated by Django 3.2.7 on 2021-10-11 12:35
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('text', '0003_auto_20211011_1222'),
]
operations = [
migrations.RenameField(
model_name='text',
old_name='teaser',
new_name='byline',
),
]

View file

@ -0,0 +1,18 @@
# Generated by Django 3.2.7 on 2021-10-11 12:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('text', '0004_rename_teaser_text_byline'),
]
operations = [
migrations.AlterField(
model_name='page',
name='slug',
field=models.SlugField(blank=True, unique=True),
),
]

View file

@ -0,0 +1,18 @@
# Generated by Django 3.2.7 on 2021-10-11 12:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('text', '0005_alter_page_slug'),
]
operations = [
migrations.AddField(
model_name='text',
name='position',
field=models.IntegerField(default=0),
),
]

View file

@ -12,12 +12,10 @@ class Page(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
slug = models.SlugField(blank=True)
slug = models.SlugField(blank=True, unique=True)
public = models.BooleanField(default=False)
title = models.TextField(blank=True)
#teaser = models.TextField(blank=True)
body = models.TextField(blank=True)
data = models.JSONField(default=dict, blank=True)
@ -37,9 +35,10 @@ class Text(models.Model):
slug = models.SlugField()
public = models.BooleanField(default=False)
position = models.IntegerField(default=0)
title = models.TextField()
teaser = models.TextField(default="", blank=True)
byline = models.TextField(default="", blank=True)
body = models.TextField(default="", blank=True)
data = models.JSONField(default=dict)

View file

@ -12,7 +12,10 @@ def index(request):
def page(request, slug=''):
context = {}
page = models.Page.objects.filter(slug=slug, public=True).first()
if request.user.is_staff:
page = models.Page.objects.filter(slug=slug).first()
else:
page = models.Page.objects.filter(slug=slug, public=True).first()
if page:
context['page'] = page
return render(request, 'page.html', context)
@ -24,10 +27,13 @@ def about(request):
def texts(request):
context = {}
context['texts'] = models.Text.objects.filter(public=True).order_by('created')
context['texts'] = models.Text.objects.filter(public=True).order_by('position', 'created')
return render(request, 'texts.html', context)
def text(request, slug):
context = {}
context['text'] = get_object_or_404(models.Text, slug=slug)
if request.user.is_staff:
context['text'] = get_object_or_404(models.Text, slug=slug)
else:
context['text'] = get_object_or_404(models.Text, slug=slug, public=True)
return render(request, 'text.html', context)