Skip to content
Snippets Groups Projects
Commit e766b4fd authored by Nadja Geisler's avatar Nadja Geisler :sunny:
Browse files

mark Strings in AK Model models for translation

parent 8f22609a
No related branches found
No related tags found
No related merge requests found
# Generated by Django 2.2.6 on 2019-10-12 12:34
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('AKModel', '0005_ak_slot'),
]
operations = [
migrations.AlterModelOptions(
name='event',
options={'ordering': ['name'], 'verbose_name': 'Event', 'verbose_name_plural': 'Events'},
),
migrations.AlterField(
model_name='ak',
name='event',
field=models.ForeignKey(help_text='Associated event', on_delete=django.db.models.deletion.CASCADE,
to='AKModel.Event', verbose_name='Event'),
),
migrations.AlterField(
model_name='ak',
name='interest',
field=models.IntegerField(default=-1, help_text='Expected number of people', verbose_name='Interest'),
),
migrations.AlterField(
model_name='ak',
name='reso',
field=models.BooleanField(default=False, help_text='Intends to submit a resolution',
verbose_name='Resolution Intention'),
),
migrations.AlterField(
model_name='ak',
name='short_name',
field=models.CharField(blank=True, help_text='Name displayed in the schedule', max_length=64, unique=True,
verbose_name='Short Name'),
),
migrations.AlterField(
model_name='ak',
name='tags',
field=models.ManyToManyField(blank=True, help_text='Tags provided by owners', to='AKModel.AKTag',
verbose_name='Tags'),
),
migrations.AlterField(
model_name='ak',
name='track',
field=models.ForeignKey(help_text='Track the AK belongs to', null=True,
on_delete=django.db.models.deletion.SET_NULL, to='AKModel.AKTrack',
verbose_name='Track'),
),
migrations.AlterField(
model_name='akowner',
name='email',
field=models.EmailField(blank=True, help_text='Contact mail', max_length=128,
verbose_name='E-Mail Address'),
),
migrations.AlterField(
model_name='akowner',
name='event',
field=models.ForeignKey(help_text='Associated event', on_delete=django.db.models.deletion.CASCADE,
to='AKModel.Event', verbose_name='Event'),
),
migrations.AlterField(
model_name='akowner',
name='institution',
field=models.CharField(blank=True, help_text='Uni etc.', max_length=128, verbose_name='Institution'),
),
migrations.AlterField(
model_name='akowner',
name='name',
field=models.CharField(help_text='Name to identify an AK owner by', max_length=256,
verbose_name='Nickname'),
),
migrations.AlterField(
model_name='akrequirement',
name='event',
field=models.ForeignKey(help_text='Associated event', on_delete=django.db.models.deletion.CASCADE,
to='AKModel.Event', verbose_name='Event'),
),
migrations.AlterField(
model_name='akrequirement',
name='name',
field=models.CharField(help_text='Name of the Requirement', max_length=128, unique=True,
verbose_name='Name'),
),
migrations.AlterField(
model_name='akslot',
name='event',
field=models.ForeignKey(help_text='Associated event', on_delete=django.db.models.deletion.CASCADE,
to='AKModel.Event', verbose_name='Event'),
),
migrations.AlterField(
model_name='aktrack',
name='color',
field=models.CharField(blank=True, help_text='Color for displaying', max_length=7, verbose_name='Color'),
),
migrations.AlterField(
model_name='aktype',
name='color',
field=models.CharField(blank=True, help_text='Color for displaying', max_length=7, verbose_name='Color'),
),
migrations.AlterField(
model_name='event',
name='place',
field=models.CharField(help_text='City etc. the event takes place in', max_length=128,
verbose_name='Place'),
),
migrations.AlterField(
model_name='room',
name='building',
field=models.CharField(help_text='Name/number of the building', max_length=256, verbose_name='Building'),
),
migrations.AlterField(
model_name='room',
name='event',
field=models.ForeignKey(help_text='Associated event', on_delete=django.db.models.deletion.CASCADE,
to='AKModel.Event', verbose_name='Event'),
),
]
# Create your models here. # Create your models here.
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _
class Event(models.Model): class Event(models.Model):
""" An event supplies the frame for all Aks. """ An event supplies the frame for all Aks.
""" """
name = models.CharField(max_length=64, unique=True, verbose_name='Name', help_text='Name or iteration of the event') name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'),
start = models.DateTimeField(verbose_name='Start', help_text='Time the event begins') help_text=_('Name or iteration of the event'))
end = models.DateTimeField(verbose_name='End', help_text='Time the event ends') start = models.DateTimeField(verbose_name=_('Start'), help_text=_('Time the event begins'))
place = models.CharField(max_length=128, verbose_name='Place', help_text='City etc. where the event takes place') end = models.DateTimeField(verbose_name=_('End'), help_text=_('Time the event ends'))
active = models.BooleanField(verbose_name='Active State', help_text='Marks currently active events') place = models.CharField(max_length=128, verbose_name=_('Place'), help_text=_('City etc. the event takes place in'))
active = models.BooleanField(verbose_name=_('Active State'), help_text=_('Marks currently active events'))
class Meta: class Meta:
verbose_name = 'Event' verbose_name = _('Event')
verbose_name_plural = 'Events' verbose_name_plural = _('Events')
ordering = ['name'] ordering = ['name']
class AKOwner(models.Model): class AKOwner(models.Model):
""" An AKOwner describes the person organizing/holding an AK. """ An AKOwner describes the person organizing/holding an AK.
""" """
name = models.CharField(max_length=256, verbose_name='Nickname', help_text='Name used to identify an AK owner') name = models.CharField(max_length=256, verbose_name=_('Nickname'), help_text=_('Name to identify an AK owner by'))
email = models.EmailField(max_length=128, blank=True, verbose_name='E-Mail Address', help_text='Contact e-mail') email = models.EmailField(max_length=128, blank=True, verbose_name=_('E-Mail Address'), help_text=_('Contact mail'))
institution = models.CharField(max_length=128, blank=True, verbose_name='Institution', help_text='University etc.') institution = models.CharField(max_length=128, blank=True, verbose_name=_('Institution'), help_text=_('Uni etc.'))
link = models.URLField(blank=True, verbose_name='Web Link', help_text='Link to Homepage') link = models.URLField(blank=True, verbose_name=_('Web Link'), help_text=_('Link to Homepage'))
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event'))
class Meta: class Meta:
verbose_name = 'AK Owner' verbose_name = _('AK Owner')
verbose_name_plural = 'AK Owners' verbose_name_plural = _('AK Owners')
ordering = ['name'] ordering = ['name']
unique_together = [['name', 'institution']] unique_together = [['name', 'institution']]
...@@ -38,108 +41,112 @@ class AKOwner(models.Model): ...@@ -38,108 +41,112 @@ class AKOwner(models.Model):
class AKType(models.Model): class AKType(models.Model):
""" An AKType describes the characteristics of an AK, e.g. content vs. recreational. """ An AKType describes the characteristics of an AK, e.g. content vs. recreational.
""" """
name = models.CharField(max_length=64, unique=True, verbose_name='Name', help_text='Name of the AK Type') name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'), help_text=_('Name of the AK Type'))
color = models.CharField(max_length=7, blank=True, verbose_name='Color', help_text='Color to display this type in') color = models.CharField(max_length=7, blank=True, verbose_name=_('Color'), help_text=_('Color for displaying'))
# TODO model availability # TODO model availability
class Meta: class Meta:
verbose_name = 'AK Type' verbose_name = _('AK Type')
verbose_name_plural = 'AK Types' verbose_name_plural = _('AK Types')
ordering = ['name'] ordering = ['name']
class AKTrack(models.Model): class AKTrack(models.Model):
""" An AKTrack describes a set of semantically related AKs. """ An AKTrack describes a set of semantically related AKs.
""" """
name = models.CharField(max_length=64, unique=True, verbose_name='Name', help_text='Name of the AK Track') name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'), help_text=_('Name of the AK Track'))
color = models.CharField(max_length=7, blank=True, verbose_name='Color', help_text='Color to display this track in') color = models.CharField(max_length=7, blank=True, verbose_name=_('Color'), help_text=_('Color for displaying'))
class Meta: class Meta:
verbose_name = 'AK Track' verbose_name = _('AK Track')
verbose_name_plural = 'AK Tracks' verbose_name_plural = _('AK Tracks')
ordering = ['name'] ordering = ['name']
class AKTag(models.Model): class AKTag(models.Model):
""" An AKTag is a keyword given to an AK by (one of) its owner(s). """ An AKTag is a keyword given to an AK by (one of) its owner(s).
""" """
name = models.CharField(max_length=64, unique=True, verbose_name='Name', help_text='Name of the AK Tag') name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'), help_text=_('Name of the AK Tag'))
class Meta: class Meta:
verbose_name = 'AK Tag' verbose_name = _('AK Tag')
verbose_name_plural = 'AK Tags' verbose_name_plural = _('AK Tags')
ordering = ['name'] ordering = ['name']
class AKRequirement(models.Model): class AKRequirement(models.Model):
""" An AKRequirement describes something needed to hold an AK, e.g. infrastructure. """ An AKRequirement describes something needed to hold an AK, e.g. infrastructure.
""" """
name = models.CharField(max_length=128, unique=True, verbose_name='Name', help_text='Name of the AK Requirement') name = models.CharField(max_length=128, unique=True, verbose_name=_('Name'), help_text=_('Name of the Requirement'))
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event'))
class Meta: class Meta:
verbose_name = 'AK Requirement' verbose_name = _('AK Requirement')
verbose_name_plural = 'AK Requirements' verbose_name_plural = _('AK Requirements')
ordering = ['name'] ordering = ['name']
class AK(models.Model): class AK(models.Model):
""" An AK is a slot-based activity to be scheduled during an event. """ An AK is a slot-based activity to be scheduled during an event.
""" """
name = models.CharField(max_length=256, unique=True, verbose_name='Name', help_text='Name of the AK') name = models.CharField(max_length=256, unique=True, verbose_name=_('Name'), help_text=_('Name of the AK'))
short_name = models.CharField(max_length=64, unique=True, blank=True, verbose_name='Short Name', short_name = models.CharField(max_length=64, unique=True, blank=True, verbose_name=_('Short Name'),
help_text='Name displayed in schedule') help_text=_('Name displayed in the schedule'))
description = models.TextField(blank=True, verbose_name='Description', help_text='Description of the AK') description = models.TextField(blank=True, verbose_name=_('Description'), help_text=_('Description of the AK'))
owners = models.ManyToManyField(to=AKOwner, verbose_name='Owners', help_text='Those organizing the AK') owners = models.ManyToManyField(to=AKOwner, verbose_name=_('Owners'), help_text=_('Those organizing the AK'))
# TODO generate automatically # TODO generate automatically
link = models.URLField(blank=True, verbose_name='Web Link', help_text='Link to wiki page') link = models.URLField(blank=True, verbose_name=_('Web Link'), help_text=_('Link to wiki page'))
type = models.ForeignKey(to=AKType, on_delete=models.PROTECT, verbose_name='Type', help_text='Type of the AK') type = models.ForeignKey(to=AKType, on_delete=models.PROTECT, verbose_name=_('Type'), help_text=_('Type of the AK'))
tags = models.ManyToManyField(to=AKTag, blank=True, verbose_name='Tags', help_text='Tags provided by AK owners') tags = models.ManyToManyField(to=AKTag, blank=True, verbose_name=_('Tags'), help_text=_('Tags provided by owners'))
track = models.ForeignKey(to=AKTrack, on_delete=models.SET_NULL, null=True, verbose_name='Track', track = models.ForeignKey(to=AKTrack, on_delete=models.SET_NULL, null=True, verbose_name=_('Track'),
help_text='Track the AK belongs to.') help_text=_('Track the AK belongs to'))
reso = models.BooleanField(verbose_name='Resolution Intention', default=False, help_text='Intends to submit a reso') reso = models.BooleanField(verbose_name=_('Resolution Intention'), default=False,
requirements = models.ManyToManyField(to=AKRequirement, blank=True, verbose_name='Requirements', help_text=_('Intends to submit a resolution'))
help_text="AK's Requirements") requirements = models.ManyToManyField(to=AKRequirement, blank=True, verbose_name=_('Requirements'),
help_text=_("AK's Requirements"))
conflicts = models.ManyToManyField(to='AK', blank=True, related_name='conflict', verbose_name='Conflicting AKs',
help_text='AKs that conflict and thus must not take place at the same time') conflicts = models.ManyToManyField(to='AK', blank=True, related_name='conflict', verbose_name=_('Conflicting AKs'),
prerequisites = models.ManyToManyField(to='AK', blank=True, verbose_name='Prerequisite AKs', help_text=_('AKs that conflict and thus must not take place at the same time'))
help_text='AKs that should precede this AK in the schedule') prerequisites = models.ManyToManyField(to='AK', blank=True, verbose_name=_('Prerequisite AKs'),
help_text=_('AKs that should precede this AK in the schedule'))
# TODO model availability # TODO model availability
notes = models.TextField(blank=True, verbose_name='Internal Notes', help_text='Notes to organizers') notes = models.TextField(blank=True, verbose_name=_('Internal Notes'), help_text=_('Notes to organizers'))
interest = models.IntegerField(default=-1, verbose_name='Interest', help_text='Expected number of people to attend') interest = models.IntegerField(default=-1, verbose_name=_('Interest'), help_text=_('Expected number of people'))
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event'))
class Meta: class Meta:
verbose_name = 'AK' verbose_name = _('AK')
verbose_name_plural = 'AKs' verbose_name_plural = _('AKs')
class Room(models.Model): class Room(models.Model):
""" A room describes where an AK can be held. """ A room describes where an AK can be held.
""" """
name = models.CharField(max_length=64, verbose_name='Name', help_text='Name or number of the room') name = models.CharField(max_length=64, verbose_name=_('Name'), help_text=_('Name or number of the room'))
building = models.CharField(max_length=256, verbose_name='Building', help_text='Name or number of the building') building = models.CharField(max_length=256, verbose_name=_('Building'), help_text=_('Name/number of the building'))
capacity = models.IntegerField(verbose_name='Capacity', help_text='Maximum number of people') capacity = models.IntegerField(verbose_name=_('Capacity'), help_text=_('Maximum number of people'))
properties = models.ManyToManyField(to=AKRequirement, verbose_name='Properties', properties = models.ManyToManyField(to=AKRequirement, verbose_name=_('Properties'),
help_text='AK requirements fulfilled by the room') help_text=_('AK requirements fulfilled by the room'))
# TODO model availability # TODO model availability
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event'))
class Meta: class Meta:
verbose_name = 'Room' verbose_name = _('Room')
verbose_name_plural = 'Rooms' verbose_name_plural = _('Rooms')
ordering = ['building', 'name'] ordering = ['building', 'name']
unique_together = [['name', 'building']] unique_together = [['name', 'building']]
...@@ -147,16 +154,17 @@ class Room(models.Model): ...@@ -147,16 +154,17 @@ class Room(models.Model):
class AKSlot(models.Model): class AKSlot(models.Model):
""" An AK Mapping matches an AK to a room during a certain time. """ An AK Mapping matches an AK to a room during a certain time.
""" """
ak = models.ForeignKey(to=AK, on_delete=models.CASCADE, verbose_name='AK', help_text='AK being mapped') ak = models.ForeignKey(to=AK, on_delete=models.CASCADE, verbose_name=_('AK'), help_text=_('AK being mapped'))
room = models.ForeignKey(to=Room, null=True, on_delete=models.SET_NULL, verbose_name='Room', room = models.ForeignKey(to=Room, null=True, on_delete=models.SET_NULL, verbose_name=_('Room'),
help_text='Room the AK will take place in') help_text=_('Room the AK will take place in'))
start = models.DateTimeField(verbose_name='Slot Begin', help_text='Time and date the slot begins') start = models.DateTimeField(verbose_name=_('Slot Begin'), help_text=_('Time and date the slot begins'))
duration = models.DecimalField(max_digits=4, decimal_places=2, default=2, verbose_name='Duration', duration = models.DecimalField(max_digits=4, decimal_places=2, default=2, verbose_name=_('Duration'),
help_text='Length in hours') help_text=_('Length in hours'))
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event'))
class Meta: class Meta:
verbose_name = 'AK Slot' verbose_name = _('AK Slot')
verbose_name_plural = 'AK Slots' verbose_name_plural = _('AK Slots')
ordering = ['start', 'room'] ordering = ['start', 'room']
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment