agendas: new model EventsType (#63285)

This commit is contained in:
Lauréline Guérin 2022-03-31 15:09:00 +02:00
parent 91fc242caa
commit 381ddf13e2
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,24 @@
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('agendas', '0114_auto_20220324_1702'),
]
operations = [
migrations.CreateModel(
name='EventsType',
fields=[
(
'id',
models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
('slug', models.SlugField(max_length=160, unique=True, verbose_name='Identifier')),
('label', models.CharField(max_length=150, verbose_name='Label')),
('custom_fields', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=list)),
],
),
]

View File

@ -1817,6 +1817,27 @@ class Event(models.Model):
return datetime.datetime.strptime(datetime_part, '%Y-%m-%d-%H%M')
class EventsType(models.Model):
slug = models.SlugField(_('Identifier'), max_length=160, unique=True)
label = models.CharField(_('Label'), max_length=150)
custom_fields = JSONField(blank=True, default=list)
def __str__(self):
return self.label
class Meta:
ordering = ['label']
def save(self, *args, **kwargs):
if not self.slug:
self.slug = generate_slug(self)
super().save(*args, **kwargs)
@property
def base_slug(self):
return slugify(self.label)
class BookingColor(models.Model):
COLOR_COUNT = 8