This commit is contained in:
Oliver
2023-12-07 15:17:12 +01:00
parent 2d7af0e65f
commit 845cc0d1ab
6 changed files with 50 additions and 3 deletions
+18
View File
@@ -0,0 +1,18 @@
# Generated by Django 4.2.6 on 2023-12-07 13:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('polls', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='notice',
name='user_id',
field=models.IntegerField(blank=True, default=None, null=True),
),
]
+1
View File
@@ -4,6 +4,7 @@ from django.db import models
class Notice(models.Model):
notice_title = models.CharField(max_length=80)
notice_text = models.CharField(max_length=400)
user_id = models.IntegerField(default=None, null=True, blank=True)
pub_start = models.DateTimeField()
pub_end = models.DateTimeField()
+11 -2
View File
@@ -4,6 +4,7 @@ from .models import Notice
from django.utils import timezone
from .forms import NoticeForm
from django.contrib.auth.decorators import login_required
from django.contrib import messages
@login_required
@@ -16,8 +17,13 @@ def new(request):
notice.notice_text = form.cleaned_data['notice_text']
notice.pub_start = form.cleaned_data['pub_start']
notice.pub_end = form.cleaned_data['pub_end']
notice.user_id = request.user.id
notice.save()
messages.success(request, f"Neue Nachricht erstellt")
return redirect('index')
else:
for msg in form.error_messages:
messages.error(request, f"{msg}: {form.error_messages[msg]}")
context = {'form': NoticeForm()}
return render(request, 'polls/edit.html', context)
@@ -26,10 +32,13 @@ def delete(request, deleteId=None):
if deleteId is not None:
try:
notice = Notice.objects.get(pk=deleteId)
if request.user.id == notice.user_id:
if request.user.id == notice.user_id or request.user.is_staff:
notice.delete()
messages.success(request, f"Nachricht gelöscht")
else:
messages.warning(request, f"Keine Berechtigung")
except:
pass
messages.warning(request, f"Nachricht nicht gefunden")
return redirect('index')
def index(request):