migrations: squash migrations, delete unused migrations for mailer and material

v1-0-stable
Christian Merten 3 years ago committed by Erich Hasl
parent adaadbe07e
commit b444008f73

@ -0,0 +1,46 @@
# Generated by Django 4.0.1 on 2023-03-29 20:40
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
replaces = [('ludwigsburgalpin', '0001_initial'), ('ludwigsburgalpin', '0002_auto_20190926_1432'), ('ludwigsburgalpin', '0003_auto_20190926_1749'), ('ludwigsburgalpin', '0004_alter_termin_id'), ('ludwigsburgalpin', '0005_alter_termin_id'), ('ludwigsburgalpin', '0006_termin_anforderung_dauer_termin_anforderung_hoehe_and_more'), ('ludwigsburgalpin', '0007_alter_termin_group')]
dependencies = [
]
operations = [
migrations.CreateModel(
name='Termin',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100, verbose_name='Titel')),
('start_date', models.DateField(verbose_name='Von')),
('end_date', models.DateField(verbose_name='Bis')),
('group', models.CharField(choices=[('ASG', 'Alpinsportgruppe'), ('OGB', 'Ortsgruppe Bietigheim'), ('OGV', 'Ortsgruppe Vaihingen'), ('JUG', 'Jugend'), ('FAM', 'Familie'), ('Ü30', 'Ü30'), ('MTB', 'Mountainbike'), ('RA', 'RegioAktiv'), ('SEK', 'Sektion')], max_length=100, verbose_name='Gruppe')),
('description', models.TextField(blank=True, verbose_name='Beschreibung')),
('email', models.EmailField(max_length=100, verbose_name='Email')),
('phone', models.CharField(blank=True, max_length=20, verbose_name='Telefonnumer')),
('responsible', models.CharField(max_length=100, verbose_name='Organisator')),
('anforderung_dauer', models.IntegerField(blank=True, default=0, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Etappendauer in Stunden')),
('anforderung_hoehe', models.IntegerField(blank=True, default=0, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Höhenmeter in Meter')),
('anforderung_strecke', models.IntegerField(blank=True, default=0, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Strecke in Kilometer')),
('category', models.CharField(choices=[('WAN', 'Wandern'), ('BW', 'Bergwandern'), ('KST', 'Klettersteig'), ('KL', 'Klettern'), ('SKI', 'Piste, Loipe'), ('SCH', 'Schneeschuhgehen'), ('ST', 'Skitour'), ('STH', 'Skihochtour'), ('HT', 'Hochtour'), ('MTB', 'Montainbike'), ('AUS', 'Ausbildung'), ('SON', 'Sonstiges z.B. Treffen')], default='SON', max_length=100, verbose_name='Kategorie')),
('condition', models.CharField(choices=[('gering', 'gering'), ('mittel', 'mittel'), ('groß', 'groß'), ('sehr groß', 'sehr groß')], default='mittel', max_length=100, verbose_name='Kondition')),
('equipment', models.TextField(blank=True, verbose_name='Ausrüstung')),
('eventart', models.CharField(choices=[('Einzeltermin', 'Einzeltermin'), ('Mehrtagesevent', 'Mehrtagesevent'), ('Regelmäßiges Event/Training', 'Regelmäßiges Event/Training'), ('Tagesevent', 'Tagesevent'), ('Wochenendevent', 'Wochenendevent')], default='Einzeltermin', max_length=100, verbose_name='Eventart')),
('klassifizierung', models.CharField(choices=[('Gemeinschaftstour', 'Gemeinschaftstour'), ('Ausbildung', 'Ausbildung')], default='Gemeinschaftstour', max_length=100, verbose_name='Klassifizierung')),
('max_participants', models.IntegerField(default=10, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Max. Teilnehmerzahl')),
('saison', models.CharField(choices=[('ganzjährig', 'ganzjährig'), ('Indoor', 'Indoor'), ('Sommer', 'Sommer'), ('Winter', 'Winter')], default='ganzjährig', max_length=100, verbose_name='Saison')),
('subtitle', models.CharField(blank=True, max_length=100, verbose_name='Untertitel')),
('technik', models.CharField(choices=[('leicht', 'leicht'), ('mittel', 'mittel'), ('schwer', 'schwer'), ('sehr schwer', 'sehr schwer')], default='mittel', max_length=100, verbose_name='Technik')),
('voraussetzungen', models.TextField(blank=True, verbose_name='Voraussetzungen')),
],
options={
'verbose_name_plural': 'Termine',
'verbose_name': 'Termin',
},
),
]

@ -0,0 +1,18 @@
# Generated by Django 4.0.1 on 2023-03-29 20:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ludwigsburgalpin', '0006_termin_anforderung_dauer_termin_anforderung_hoehe_and_more'),
]
operations = [
migrations.AlterField(
model_name='termin',
name='group',
field=models.CharField(choices=[('ASG', 'Alpinsportgruppe'), ('OGB', 'Ortsgruppe Bietigheim'), ('OGV', 'Ortsgruppe Vaihingen'), ('JUG', 'Jugend'), ('FAM', 'Familie'), ('Ü30', 'Ü30'), ('MTB', 'Mountainbike'), ('RA', 'RegioAktiv'), ('SEK', 'Sektion')], max_length=100, verbose_name='Gruppe'),
),
]

@ -0,0 +1,79 @@
# Generated by Django 4.0.1 on 2023-03-29 20:38
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import utils
class Migration(migrations.Migration):
replaces = [('mailer', '0001_initial'), ('mailer', '0002_auto_20190615_1225'), ('mailer', '0003_emailaddress'), ('mailer', '0004_auto_20200924_1744'), ('mailer', '0005_auto_20200924_2139'), ('mailer', '0006_auto_20210924_1155')]
dependencies = [
('members', '0006_auto_20190914_2341'),
('members', '0008_auto_20210924_1155'),
('members', '0001_initial'),
('members', '0007_auto_20200924_1512'),
('members', '0005_auto_20190615_1224'),
]
operations = [
migrations.CreateModel(
name='Message',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('subject', models.CharField(max_length=50, verbose_name='subject')),
('content', models.TextField(verbose_name='content')),
('sent', models.BooleanField(default=False, verbose_name='sent')),
('to_groups', models.ManyToManyField(blank=True, to='members.Group', verbose_name='to group')),
('to_members', models.ManyToManyField(blank=True, to='members.Member', verbose_name='to member')),
('reply_to', models.ManyToManyField(blank=True, related_name='reply_to', to='members.Member', verbose_name='reply to participant')),
],
options={
'verbose_name_plural': 'messages',
'permissions': (('submit_mails', 'Can submit mails'),),
'verbose_name': 'message',
},
),
migrations.CreateModel(
name='Attachment',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('f', utils.RestrictedFileField(blank=True, upload_to='attachments', verbose_name='file')),
('msg', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mailer.message')),
],
options={
'verbose_name_plural': 'attachments',
'verbose_name': 'attachment',
},
),
migrations.CreateModel(
name='EmailAddress',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, validators=[django.core.validators.RegexValidator('^[0-9a-zA-Z]*$', 'Only alphanumeric characters are allowed')], verbose_name='name')),
('to_members', models.ManyToManyField(blank=True, to='members.Member', verbose_name='Forward to participants')),
('to_groups', models.ManyToManyField(blank=True, to='members.Group', verbose_name='Forward to group')),
],
options={
'verbose_name_plural': 'email addresses',
'verbose_name': 'email address',
},
),
migrations.AddField(
model_name='message',
name='reply_to_email_address',
field=models.ManyToManyField(blank=True, related_name='reply_to_email_addr', to='mailer.EmailAddress', verbose_name='reply to custom email address'),
),
migrations.AddField(
model_name='message',
name='to_freizeit',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='members.freizeit', verbose_name='to freizeit'),
),
migrations.AddField(
model_name='message',
name='to_notelist',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='members.membernotelist', verbose_name='to notes list'),
),
]

@ -1,28 +0,0 @@
# Generated by Django 4.0.1 on 2022-01-12 17:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('mailer', '0006_auto_20210924_1155'),
]
operations = [
migrations.AlterField(
model_name='attachment',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='emailaddress',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='message',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

@ -1,28 +0,0 @@
# Generated by Django 4.0.1 on 2022-01-12 17:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('mailer', '0007_alter_attachment_id_alter_emailaddress_id_and_more'),
]
operations = [
migrations.AlterField(
model_name='attachment',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='emailaddress',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='message',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

@ -0,0 +1,61 @@
# Generated by Django 4.0.1 on 2023-03-29 20:39
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
replaces = [('material', '0001_initial'), ('material', '0002_auto_20171011_2045')]
dependencies = [
('members', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='MaterialPart',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=30, verbose_name='name')),
('description', models.CharField(default='', max_length=140, verbose_name='description')),
('quantity', models.IntegerField(default=0, verbose_name='quantity')),
('buy_date', models.DateField(verbose_name='purchase date')),
('lifetime', models.DecimalField(decimal_places=0, max_digits=3, verbose_name='lifetime (years)')),
('photo', models.ImageField(blank=True, upload_to='images', verbose_name='photo')),
],
options={
'verbose_name': 'material part',
'verbose_name_plural': 'material parts',
},
),
migrations.CreateModel(
name='Ownership',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('count', models.IntegerField(default=1, verbose_name='count')),
('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='material.materialpart')),
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.member', verbose_name='owner')),
],
options={
'verbose_name': 'ownership',
'verbose_name_plural': 'ownerships',
},
),
migrations.CreateModel(
name='MaterialCategory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=40, verbose_name='Name')),
],
options={
'verbose_name': 'Material category',
'verbose_name_plural': 'Material categories',
},
),
migrations.AddField(
model_name='materialpart',
name='material_cat',
field=models.ManyToManyField(default=None, to='material.MaterialCategory', verbose_name='Material category'),
),
]

@ -1,28 +0,0 @@
# Generated by Django 4.0.1 on 2022-01-12 17:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('material', '0002_auto_20171011_2045'),
]
operations = [
migrations.AlterField(
model_name='materialcategory',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='materialpart',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='ownership',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

@ -1,28 +0,0 @@
# Generated by Django 4.0.1 on 2022-01-12 17:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('material', '0003_alter_materialcategory_id_alter_materialpart_id_and_more'),
]
operations = [
migrations.AlterField(
model_name='materialcategory',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='materialpart',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='ownership',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

@ -0,0 +1,225 @@
# Generated by Django 4.0.1 on 2023-03-29 20:12
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import utils
class Migration(migrations.Migration):
replaces = [('members', '0001_initial'), ('members', '0002_auto_20170704_1711'), ('members', '0003_auto_20170712_1822'), ('members', '0004_auto_20171011_2045'), ('members', '0005_auto_20190615_1224'), ('members', '0006_auto_20190914_2341'), ('members', '0007_auto_20200924_1512'), ('members', '0008_auto_20210924_1155'), ('members', '0009_member_cc_email_parents_alter_activitycategory_id_and_more'), ('members', '0010_alter_activitycategory_id_alter_freizeit_id_and_more'), ('members', '0011_freizeit_tour_approach'), ('members', '0012_remove_group_min_age_group_year_from_group_year_to'), ('members', '0013_member_echo_expire_member_echo_key_member_echoed'), ('members', '0014_memberunconfirmedproxy_member_confirm_mail_key_and_more'), ('members', '0015_alter_member_options_and_more')]
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('contenttypes', '0002_remove_content_type_name'),
]
operations = [
migrations.CreateModel(
name='ActivityCategory',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=20, verbose_name='Name')),
('description', models.TextField(verbose_name='Description')),
],
options={
'verbose_name': 'Activity',
'verbose_name_plural': 'Activities',
},
),
migrations.CreateModel(
name='Group',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=20, verbose_name='name')),
('year_from', models.IntegerField(default=2010, verbose_name='lowest year')),
('year_to', models.IntegerField(default=2011, verbose_name='highest year')),
],
options={
'verbose_name': 'group',
'verbose_name_plural': 'groups',
},
),
migrations.CreateModel(
name='Member',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('prename', models.CharField(max_length=20, verbose_name='prename')),
('lastname', models.CharField(max_length=20, verbose_name='last name')),
('street', models.CharField(blank=True, default='', max_length=30, verbose_name='street and house number')),
('town', models.CharField(blank=True, default='', max_length=30, verbose_name='town')),
('phone_number', models.CharField(blank=True, default='', max_length=18, verbose_name='phone number')),
('phone_number_parents', models.CharField(blank=True, default='', max_length=18, verbose_name='parents phone number')),
('email', models.EmailField(default='', max_length=100)),
('birth_date', models.DateField(verbose_name='birth date')),
('gets_newsletter', models.BooleanField(default=True, verbose_name='receives newsletter')),
('unsubscribe_key', models.CharField(default='', max_length=32)),
('unsubscribe_expire', models.DateTimeField(default=django.utils.timezone.now)),
('comments', models.TextField(blank=True, default='', verbose_name='comments')),
('created', models.DateField(auto_now=True, verbose_name='created')),
('registration_form', utils.RestrictedFileField(blank=True, upload_to='registration_forms', verbose_name='registration form')),
('group', models.ManyToManyField(to='members.Group', verbose_name='group')),
('email_parents', models.EmailField(blank=True, default='', max_length=100, verbose_name="Parents' Email")),
('plz', models.CharField(blank=True, default='', max_length=10, verbose_name='Postcode')),
('registered', models.BooleanField(default=False, verbose_name='Registration complete')),
('active', models.BooleanField(default=True, verbose_name='Active')),
('not_waiting', models.BooleanField(default=True, verbose_name='Not waiting')),
('cc_email_parents', models.BooleanField(default=True, verbose_name='Also send mails to parents')),
('echo_expire', models.DateTimeField(default=django.utils.timezone.now)),
('echo_key', models.CharField(default='', max_length=32)),
('echoed', models.BooleanField(default=True, verbose_name='Echoed')),
('confirm_mail_key', models.CharField(default='', max_length=32)),
('confirm_mail_parents_key', models.CharField(default='', max_length=32)),
('confirmed', models.BooleanField(default=True, verbose_name='Confirmed')),
('confirmed_mail', models.BooleanField(default=True, verbose_name='Email confirmed')),
('confirmed_mail_parents', models.BooleanField(default=True, verbose_name='Parents email confirmed')),
('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'member',
'verbose_name_plural': 'members',
'permissions': (('may_see_qualities', 'Is allowed to see the quality overview'), ('may_set_auth_user', 'Is allowed to set auth user member connections.')),
},
),
migrations.CreateModel(
name='MemberList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(default='', max_length=50, verbose_name='Activity')),
('place', models.CharField(default='', max_length=50, verbose_name='Place')),
('destination', models.CharField(blank=True, default='', max_length=50, verbose_name='Destination (optional)')),
('date', models.DateField(default=datetime.datetime.today, verbose_name='Date')),
('end', models.DateField(blank=True, default=datetime.datetime.today, verbose_name='End (optional)')),
('tour_type', models.IntegerField(choices=[(0, 'Gemeinschaftstour'), (1, 'Führungstour'), (2, 'Ausbildung')])),
('difficulty', models.IntegerField(choices=[(1, 'easy'), (2, 'medium'), (3, 'hard')])),
('activity', models.ManyToManyField(default=None, to='members.ActivityCategory', verbose_name='Categories')),
('groups', models.ManyToManyField(to='members.Group', verbose_name='Groups')),
('jugendleiter', models.ManyToManyField(to='members.Member')),
],
options={
'verbose_name': 'Memberlist',
'verbose_name_plural': 'Memberlists',
},
),
migrations.CreateModel(
name='Klettertreff',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateField(default=datetime.datetime.today, verbose_name='Date')),
('location', models.CharField(default='', max_length=60, verbose_name='Location')),
('topic', models.CharField(default='', max_length=60, verbose_name='Topic')),
('group', models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='members.group', verbose_name='Group')),
('jugendleiter', models.ManyToManyField(to='members.Member')),
],
options={
'verbose_name': 'Klettertreff',
'verbose_name_plural': 'Klettertreffs',
},
),
migrations.CreateModel(
name='KlettertreffAttendee',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('klettertreff', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.klettertreff')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.member', verbose_name='Member')),
],
options={
'verbose_name': 'Member',
'verbose_name_plural': 'Members',
},
),
migrations.CreateModel(
name='MemberNoteList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(default='', max_length=50, verbose_name='Title')),
('date', models.DateField(blank=True, default=datetime.datetime.today, null=True, verbose_name='Date')),
],
options={
'verbose_name_plural': 'Notizlisten',
'verbose_name': 'Notizliste',
},
),
migrations.CreateModel(
name='NewMemberOnList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('object_id', models.PositiveIntegerField()),
('comments', models.TextField(blank=True, default='', verbose_name='Comment')),
('content_type', models.ForeignKey(default='members', on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.member', verbose_name='Member')),
],
options={
'verbose_name_plural': 'Members',
'verbose_name': 'Member',
},
),
migrations.CreateModel(
name='OldMemberOnList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('comments', models.TextField(blank=True, default='', verbose_name='Comment')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.member', verbose_name='Member')),
('memberlist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.memberlist')),
],
options={
'verbose_name': 'Member',
'verbose_name_plural': 'Members',
},
),
migrations.CreateModel(
name='Freizeit',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(default='', max_length=50, verbose_name='Activity')),
('place', models.CharField(default='', max_length=50, verbose_name='Place')),
('destination', models.CharField(blank=True, default='', max_length=50, verbose_name='Destination (optional)')),
('date', models.DateField(default=datetime.datetime.today, verbose_name='Date')),
('end', models.DateField(blank=True, default=datetime.datetime.today, verbose_name='End (optional)')),
('tour_type', models.IntegerField(choices=[(0, 'Gemeinschaftstour'), (1, 'Führungstour'), (2, 'Ausbildung')])),
('difficulty', models.IntegerField(choices=[(1, 'easy'), (2, 'medium'), (3, 'hard')])),
('activity', models.ManyToManyField(default=None, to='members.ActivityCategory', verbose_name='Categories')),
('groups', models.ManyToManyField(to='members.Group', verbose_name='Groups')),
('jugendleiter', models.ManyToManyField(to='members.Member')),
('tour_approach', models.IntegerField(choices=[(0, 'Muskelkraft'), (1, 'Öffentliche VM'), (2, 'Fahrgemeinschaften')], default=0)),
],
options={
'verbose_name_plural': 'Freizeiten',
'verbose_name': 'Freizeit',
},
),
migrations.CreateModel(
name='RegistrationPassword',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(default='', max_length=20, unique=True, verbose_name='Password')),
('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='members.group')),
],
options={
'verbose_name': 'registration password',
'verbose_name_plural': 'registration passwords',
},
),
migrations.CreateModel(
name='MemberUnconfirmedProxy',
fields=[
],
options={
'verbose_name': 'Unconfirmed registration',
'verbose_name_plural': 'Unconfirmed registrations',
'proxy': True,
'indexes': [],
'constraints': [],
'permissions': (('may_manage_all_registrations', 'Can view and manage all unconfirmed registrations.'),),
},
bases=('members.member',),
),
migrations.AddField(
model_name='group',
name='leiters',
field=models.ManyToManyField(blank=True, related_name='leited_groups', to='members.Member', verbose_name='youth leaders'),
),
]
Loading…
Cancel
Save