Renamed some stuff
This commit is contained in:
0
newsletters/__init__.py
Normal file
0
newsletters/__init__.py
Normal file
32
newsletters/admin.py
Normal file
32
newsletters/admin.py
Normal file
@ -0,0 +1,32 @@
|
||||
from django.contrib import admin
|
||||
from django.utils import timezone
|
||||
|
||||
from .models import Newsletter, Subscriber
|
||||
|
||||
|
||||
admin.site.register(Subscriber)
|
||||
|
||||
|
||||
@admin.register(Newsletter)
|
||||
class NewsletterAdmin(admin.ModelAdmin):
|
||||
list_display = ['subject', 'created', 'publish']
|
||||
search_fields = ['subject', 'created', 'publish']
|
||||
|
||||
def get_form(self, request, obj=None, **kwargs):
|
||||
if obj:
|
||||
self.fields = ['creator', 'subject', 'body', 'publish']
|
||||
if obj.publish < timezone.now():
|
||||
self.readonly_fields = ['creator', 'subject', 'body', 'publish']
|
||||
else:
|
||||
self.readonly_fields = ['creator']
|
||||
else:
|
||||
self.fields = ['subject', 'body', 'publish']
|
||||
self.readonly_fields = []
|
||||
return super(NewsletterAdmin, self).get_form(request, obj, **kwargs)
|
||||
|
||||
def save_model(self, request, instance, form, change):
|
||||
user = request.user
|
||||
instance = form.save(commit=False)
|
||||
instance.creator = user
|
||||
instance.save()
|
||||
return instance
|
5
newsletters/apps.py
Normal file
5
newsletters/apps.py
Normal file
@ -0,0 +1,5 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class NewslettersConfig(AppConfig):
|
||||
name = 'newsletters'
|
21
newsletters/models.py
Normal file
21
newsletters/models.py
Normal file
@ -0,0 +1,21 @@
|
||||
from django.db import models
|
||||
from django.contrib.auth.admin import User
|
||||
from django.utils.timezone import now
|
||||
|
||||
|
||||
class Newsletter(models.Model):
|
||||
body = models.TextField()
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
creator = models.ForeignKey(User)
|
||||
publish = models.DateTimeField(default=now())
|
||||
subject = models.CharField(max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return self.subject
|
||||
|
||||
|
||||
class Subscriber(models.Model):
|
||||
email = models.EmailField()
|
||||
|
||||
def __str__(self):
|
||||
return self.email
|
3
newsletters/tests.py
Normal file
3
newsletters/tests.py
Normal file
@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
3
newsletters/views.py
Normal file
3
newsletters/views.py
Normal file
@ -0,0 +1,3 @@
|
||||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
Reference in New Issue
Block a user