Add App Contracts

This commit is contained in:
2026-02-19 22:48:53 -05:00
parent a841e4885e
commit 222bf97d0b
30 changed files with 1177 additions and 4 deletions

View File

@@ -0,0 +1,46 @@
# Generated by Django 6.0.1 on 2026-02-06 18:09
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('events', '0048_organization_has_map'),
]
operations = [
migrations.AddField(
model_name='organization',
name='city_lnk',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='org_city', to='events.place'),
),
migrations.AddField(
model_name='organization',
name='state_lnk',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='org_state', to='events.place'),
),
migrations.AlterField(
model_name='organization',
name='org_type',
field=models.CharField(choices=[('Gv', 'Government'), ('Fb', 'Food & Beverage'), ('Re', 'Retail'), ('Se', 'Service'), ('Vn', 'Venue'), ('Ud', 'Undefined')], default='Re', max_length=31),
),
migrations.AlterField(
model_name='place',
name='connection_type',
field=models.CharField(choices=[('Pc', 'Precinct'), ('Mu', 'Municipality'), ('Ci', 'City'), ('Co', 'County'), ('Ld', 'Legislative District'), ('St', 'State')], default='Ci', max_length=31),
),
migrations.CreateModel(
name='Official',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=31, unique=True)),
('website', models.CharField(blank=True, max_length=31, null=True)),
('position', models.CharField(choices=[('Gv', 'Governor'), ('Sc', 'Secretary'), ('Re', 'Representative'), ('Sn', 'Senator'), ('Sr', 'State Rep'), ('Ss', 'State Senator'), ('Cc', 'County Commissioner'), ('Cm', 'Council Member'), ('Ju', 'Judge'), ('Bm', 'Board Member')], default='Ci', max_length=31)),
('notes', models.TextField(blank=True, null=True)),
('boss', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='events.place')),
('employer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='events.organization')),
],
),
]

View File

@@ -0,0 +1,38 @@
# Generated by Django 6.0.1 on 2026-02-18 19:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('events', '0049_organization_city_lnk_organization_state_lnk_and_more'),
]
operations = [
migrations.AddField(
model_name='official',
name='bluesky',
field=models.CharField(blank=True, max_length=31, null=True),
),
migrations.AddField(
model_name='official',
name='email',
field=models.CharField(blank=True, max_length=31, null=True),
),
migrations.AddField(
model_name='official',
name='instagram',
field=models.CharField(blank=True, max_length=31, null=True),
),
migrations.AddField(
model_name='official',
name='upscroll',
field=models.CharField(blank=True, max_length=31, null=True),
),
migrations.AddField(
model_name='official',
name='youtube',
field=models.CharField(blank=True, max_length=31, null=True),
),
]

View File

@@ -80,7 +80,6 @@ class Place(models.Model):
return u'%s' % self.name
class Official(models.Model):
POSITION_TYPE = (
('Gv', 'Governor'),
@@ -96,12 +95,18 @@ class Official(models.Model):
)
name = models.CharField(max_length=31, unique=True)
website = models.CharField(max_length=31,blank=True, null=True)
boss = models.ForeignKey("Place", on_delete=models.CASCADE)
employer = models.ForeignKey("Organization", on_delete=models.CASCADE)
position = models.CharField(max_length=31, choices=POSITION_TYPE, default='Ci')
notes = models.TextField(blank=True, null=True)
website = models.CharField(max_length=31, blank=True, null=True)
email = models.CharField(max_length=31, blank=True, null=True)
bluesky = models.CharField(max_length=31, blank=True, null=True)
instagram = models.CharField(max_length=31, blank=True, null=True)
youtube = models.CharField(max_length=31, blank=True, null=True)
upscroll = models.CharField(max_length=31, blank=True, null=True)
def __unicode__(self):
return "%s" % self.name
@@ -135,8 +140,8 @@ class Organization(models.Model):
barrio = models.CharField(max_length=127, blank=True, null=True)
city = models.CharField(max_length=127, blank=True, null=True)
state = models.CharField(max_length=127, blank=True, null=True)
city = models.ForeignKey(Place, on_delete=models.CASCADE, related_name="org_city")
state = models.ForeignKey(Place, on_delete=models.CASCADE, related_name="org_state" )
city_lnk = models.ForeignKey(Place, on_delete=models.CASCADE, blank=True, null=True, related_name="org_city")
state_lnk = models.ForeignKey(Place, on_delete=models.CASCADE, blank=True, null=True, related_name="org_state" )
zip_code = models.CharField(max_length=15, blank=True, null=True)
phone_number = models.CharField(max_length=255, blank=True, null=True)