0896b5697a
Signed-off-by: Dan McGee <dan@archlinux.org>
102 lines
5.8 KiB
Python
102 lines
5.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
import pytz
|
|
|
|
from django.db import models, migrations
|
|
import django_countries.fields
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
import devel.fields
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('main', '0001_initial'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='DeveloperKey',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('key', devel.fields.PGPKeyField(unique=True, max_length=40, verbose_name=b'PGP key fingerprint')),
|
|
('created', models.DateTimeField()),
|
|
('expires', models.DateTimeField(null=True, blank=True)),
|
|
('revoked', models.DateTimeField(null=True, blank=True)),
|
|
('owner', models.ForeignKey(related_name=b'all_keys', to=settings.AUTH_USER_MODEL, help_text=b'The developer this key belongs to', null=True)),
|
|
('parent', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, to='devel.DeveloperKey', null=True)),
|
|
],
|
|
options={
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='MasterKey',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('pgp_key', devel.fields.PGPKeyField(help_text=b'consists of 40 hex digits; use `gpg --fingerprint`', max_length=40, verbose_name=b'PGP key fingerprint')),
|
|
('created', models.DateField()),
|
|
('revoked', models.DateField(null=True, blank=True)),
|
|
('owner', models.ForeignKey(related_name=b'masterkey_owner', to=settings.AUTH_USER_MODEL, help_text=b'The developer holding this master key')),
|
|
('revoker', models.ForeignKey(related_name=b'masterkey_revoker', to=settings.AUTH_USER_MODEL, help_text=b'The developer holding the revocation certificate')),
|
|
],
|
|
options={
|
|
'ordering': ('created',),
|
|
'get_latest_by': 'created',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='PGPSignature',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('signer', devel.fields.PGPKeyField(max_length=40, verbose_name=b'Signer key fingerprint', db_index=True)),
|
|
('signee', devel.fields.PGPKeyField(max_length=40, verbose_name=b'Signee key fingerprint', db_index=True)),
|
|
('created', models.DateField()),
|
|
('expires', models.DateField(null=True, blank=True)),
|
|
('revoked', models.DateField(null=True, blank=True)),
|
|
],
|
|
options={
|
|
'ordering': ('signer', 'signee'),
|
|
'get_latest_by': 'created',
|
|
'verbose_name': 'PGP signature',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='UserProfile',
|
|
fields=[
|
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
|
('notify', models.BooleanField(default=True, help_text=b"When enabled, send user 'flag out-of-date' notifications", verbose_name=b'Send notifications')),
|
|
('time_zone', models.CharField(default=b'UTC', help_text=b'Used for developer clock page', max_length=100, choices=[(z, z) for z in pytz.common_timezones])),
|
|
('alias', models.CharField(help_text=b'Required field', max_length=50)),
|
|
('public_email', models.CharField(help_text=b'Required field', max_length=50)),
|
|
('other_contact', models.CharField(max_length=100, null=True, blank=True)),
|
|
('pgp_key', devel.fields.PGPKeyField(help_text=b'consists of 40 hex digits; use `gpg --fingerprint`', max_length=40, null=True, verbose_name=b'PGP key fingerprint', blank=True)),
|
|
('website', models.CharField(max_length=200, null=True, blank=True)),
|
|
('yob', models.IntegerField(null=True, verbose_name=b'Year of birth', blank=True)),
|
|
('country', django_countries.fields.CountryField(blank=True, max_length=2)),
|
|
('location', models.CharField(max_length=50, null=True, blank=True)),
|
|
('languages', models.CharField(max_length=50, null=True, blank=True)),
|
|
('interests', models.CharField(max_length=255, null=True, blank=True)),
|
|
('occupation', models.CharField(max_length=50, null=True, blank=True)),
|
|
('roles', models.CharField(max_length=255, null=True, blank=True)),
|
|
('favorite_distros', models.CharField(max_length=255, null=True, blank=True)),
|
|
('picture', models.FileField(default=b'devs/silhouette.png', help_text=b'Ideally 125px by 125px', upload_to=b'devs')),
|
|
('latin_name', models.CharField(help_text=b'Latin-form name; used only for non-Latin full names', max_length=255, null=True, blank=True)),
|
|
('last_modified', models.DateTimeField(editable=False)),
|
|
('allowed_repos', models.ManyToManyField(to='main.Repo', blank=True)),
|
|
('user', models.OneToOneField(related_name=b'userprofile', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'get_latest_by': 'last_modified',
|
|
'verbose_name': 'additional profile data',
|
|
'verbose_name_plural': 'additional profile data',
|
|
'db_table': 'user_profiles',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
]
|