2025-02-16 21:10:50 +01:00
|
|
|
from django.db import models
|
2025-03-13 08:14:46 +01:00
|
|
|
from wagtail.admin.panels import FieldPanel
|
|
|
|
from wagtail.fields import RichTextField
|
|
|
|
from wagtail.models import Page
|
|
|
|
from datetime import date
|
|
|
|
|
2025-02-16 21:10:50 +01:00
|
|
|
|
|
|
|
# Create your models here.
|
|
|
|
class Contact(models.Model):
|
2025-02-19 20:51:19 +01:00
|
|
|
name = models.CharField(max_length=100)
|
2025-02-16 21:10:50 +01:00
|
|
|
email = models.EmailField()
|
|
|
|
phone_number = models.CharField(max_length=16)
|
|
|
|
content = models.TextField()
|
|
|
|
|
2025-02-19 20:51:19 +01:00
|
|
|
def __str__(self):
|
|
|
|
return f"{self.name}, {self.email}, {self.phone_number}"
|
|
|
|
|
2025-02-16 21:10:50 +01:00
|
|
|
|
|
|
|
class Article(models.Model):
|
|
|
|
title = models.CharField(max_length=100)
|
|
|
|
content = models.TextField()
|
2025-03-05 16:21:16 +01:00
|
|
|
image = models.FileField(default="default.png", blank=True)
|
|
|
|
date = models.DateField(auto_now_add=True)
|
2025-02-16 21:10:50 +01:00
|
|
|
author = models.CharField(max_length=100)
|
|
|
|
|
|
|
|
active_to = models.DateField(null=True, blank=True) # do not show some invitation after this date
|
|
|
|
|
2025-02-19 20:51:19 +01:00
|
|
|
def __str__(self):
|
|
|
|
return self.title
|
|
|
|
|
2025-02-16 21:10:50 +01:00
|
|
|
|
|
|
|
class Event(models.Model):
|
|
|
|
title = models.CharField(max_length=100)
|
|
|
|
start_date = models.DateTimeField()
|
|
|
|
end_date = models.DateTimeField()
|
|
|
|
color = models.CharField(max_length=100)
|
2025-02-19 20:51:19 +01:00
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.title
|
2025-03-13 08:14:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
class EventPage(Page):
|
|
|
|
start_date = models.DateTimeField()
|
|
|
|
end_date = models.DateTimeField()
|
|
|
|
color = models.CharField(max_length=100)
|
|
|
|
|
|
|
|
content_panels = Page.content_panels + ["start_date", "end_date", "color"]
|
|
|
|
|
|
|
|
|
|
|
|
class ArticlePage(Page):
|
|
|
|
name = models.CharField(max_length=100)
|
|
|
|
content = models.CharField(max_length=500)
|
|
|
|
image = models.ManyToManyField('wagtailimages.Image')
|
|
|
|
date = models.DateField(default=date.today)
|
|
|
|
author = models.CharField(max_length=100)
|
|
|
|
|
|
|
|
content_panels = Page.content_panels + ["name", "content", "image", "date", "author", "expire_at"]
|