Skip to content
Snippets Groups Projects
Verified Commit 703abc62 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Update models according to new requests

parent 7678d123
No related branches found
No related tags found
1 merge request!1Resolve "Implement models"
# Generated by Django 3.2.4 on 2021-06-13 08:51
# Generated by Django 3.2.4 on 2021-07-14 14:49
import django.contrib.sites.managers
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
......@@ -36,8 +35,8 @@ class Migration(migrations.Migration):
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('first_name', models.CharField(max_length=255, verbose_name='Vorname')),
('last_name', models.CharField(max_length=255, verbose_name='Nachname')),
('first_name', models.CharField(max_length=255, verbose_name='First name')),
('last_name', models.CharField(max_length=255, verbose_name='Last name')),
('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='abi_persons', to='core.person', verbose_name='AlekSIS person')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
],
......@@ -49,34 +48,14 @@ class Migration(migrations.Migration):
('objects', django.contrib.sites.managers.CurrentSiteManager()),
],
),
migrations.CreateModel(
name='Quote',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('text', models.TextField(help_text='You also can include any extra information here like a context if you want.', verbose_name='Quote')),
('authors', models.ManyToManyField(blank=True, help_text='This can be left empty if the author is unknown or if there is no specific author.', null=True, related_name='quotes', to='abi.AbiPerson', verbose_name='Author(s)')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
('submitted_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='submitted_quotes', to='abi.abiperson', verbose_name='Ranked by')),
],
options={
'verbose_name': 'Quote',
'verbose_name_plural': 'Quotes',
},
managers=[
('objects', django.contrib.sites.managers.CurrentSiteManager()),
],
),
migrations.CreateModel(
name='RankingCategory',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('name', models.CharField(max_length=255, verbose_name='Name')),
('proposed', models.BooleanField(default=False, verbose_name='Proposed')),
('number_of_persons', models.PositiveIntegerField(default=1, verbose_name='Number of selectable persons')),
('group', models.ForeignKey(help_text='The persons in this group will be selectable for rankings in this category.', on_delete=django.db.models.deletion.CASCADE, related_name='ranking_categories', to='abi.abigroup', verbose_name='Gruppe')),
('proposed_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ranking_proposes', to='abi.abiperson', verbose_name='Proposed by')),
('group', models.ForeignKey(help_text='The persons in this group will be selectable for rankings in this category.', on_delete=django.db.models.deletion.CASCADE, related_name='ranking_categories', to='abi.abigroup', verbose_name='Group')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
],
options={
......@@ -92,9 +71,9 @@ class Migration(migrations.Migration):
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('weight', models.PositiveIntegerField(default=3, validators=[django.core.validators.MaxValueValidator(3)], verbose_name='Weight of this ranking')),
('weight', models.PositiveIntegerField(default=1, verbose_name='Weight of this ranking')),
('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rankings', to='abi.rankingcategory', verbose_name='Ranking category')),
('persons', models.ManyToManyField(related_name='rankings', to='abi.AbiPerson', verbose_name='Ranked persons')),
('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rankings', to='abi.abiperson', verbose_name='Ranked persons')),
('ranked_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='done_rankings', to='abi.abiperson', verbose_name='Ranked by')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
],
......@@ -107,18 +86,18 @@ class Migration(migrations.Migration):
],
),
migrations.CreateModel(
name='QuoteVote',
name='Quote',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('vote', models.IntegerField(validators=[django.core.validators.MaxValueValidator(1), django.core.validators.MinValueValidator(1)], verbose_name='Vote type')),
('quote', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='abi.quote', verbose_name='Quote')),
('text', models.TextField(help_text='You also can include any extra information here like a context if you want.', verbose_name='Quote')),
('authors', models.ManyToManyField(blank=True, help_text='This can be left empty if the author is unknown or if there is no specific author.', null=True, related_name='quotes', to='abi.AbiPerson', verbose_name='Author(s)')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
('voted_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='quote_votes', to='abi.abiperson', verbose_name='Voted by')),
('submitted_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='submitted_quotes', to='abi.abiperson', verbose_name='Submitted by')),
],
options={
'verbose_name': 'Quote vote',
'verbose_name_plural': 'Quote votes',
'verbose_name': 'Quote',
'verbose_name_plural': 'Quotes',
},
managers=[
('objects', django.contrib.sites.managers.CurrentSiteManager()),
......@@ -148,14 +127,14 @@ class Migration(migrations.Migration):
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('text', models.TextField(blank=True, verbose_name='Kommentar')),
('text', models.TextField(blank=True, verbose_name='Comment')),
('requested', models.BooleanField(default=False, verbose_name='Requested')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='written_comments', to='abi.abiperson', verbose_name='Author')),
('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='received_comments', to='abi.abiperson', verbose_name='Receiver')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
],
options={
'verbose_name': 'Kommentar',
'verbose_name': 'Comment',
'verbose_name_plural': 'Comments',
},
managers=[
......
from django.core.validators import MaxValueValidator, MinValueValidator
from django.db import models
from django.utils.translation import gettext as _
......@@ -57,15 +56,6 @@ class Profile(ExtensibleModel):
class RankingCategory(ExtensibleModel):
name = models.CharField(max_length=255, verbose_name=_("Name"))
proposed = models.BooleanField(default=False, verbose_name=_("Proposed"))
proposed_by = models.ForeignKey(
to=AbiPerson,
on_delete=models.SET_NULL,
blank=True,
null=True,
verbose_name=_("Proposed by"),
related_name="ranking_proposes",
)
group = models.ForeignKey(
to=AbiGroup,
on_delete=models.CASCADE,
......@@ -89,12 +79,13 @@ class Ranking(ExtensibleModel):
verbose_name=_("Ranking category"),
related_name="rankings",
)
persons = models.ManyToManyField(
to=AbiPerson, related_name="rankings", verbose_name=_("Ranked persons")
)
weight = models.PositiveIntegerField(
default=3, validators=[MaxValueValidator(3)], verbose_name=_("Weight of this ranking")
person = models.ForeignKey(
to=AbiPerson,
on_delete=models.CASCADE,
related_name="rankings",
verbose_name=_("Ranked persons"),
)
weight = models.PositiveIntegerField(default=1, verbose_name=_("Weight of this ranking"))
ranked_by = models.ForeignKey(
to=AbiPerson,
on_delete=models.SET_NULL,
......@@ -153,31 +144,10 @@ class Quote(ExtensibleModel):
on_delete=models.SET_NULL,
blank=True,
null=True,
verbose_name=_("Ranked by"),
verbose_name=_("Submitted by"),
related_name="submitted_quotes",
)
class Meta:
verbose_name = _("Quote")
verbose_name_plural = _("Quotes")
class QuoteVote(ExtensibleModel):
quote = models.ForeignKey(
to=Quote, on_delete=models.CASCADE, verbose_name=_("Quote"), related_name="votes"
)
voted_by = models.ForeignKey(
to=AbiPerson,
on_delete=models.CASCADE,
blank=True,
null=True,
verbose_name=_("Voted by"),
related_name="quote_votes",
)
vote = models.IntegerField(
validators=[MaxValueValidator(1), MinValueValidator(1)], verbose_name=_("Vote type")
)
class Meta:
verbose_name = _("Quote vote")
verbose_name_plural = _("Quote votes")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment