# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models, migrations import adim.models.annotables import jsonfield.fields from django.conf import settings import autoslug.fields class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('contenttypes', '0001_initial'), ] operations = [ migrations.CreateModel( name='Annotation', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('item', models.TextField(verbose_name='Paper.js item')), ('order', models.IntegerField(default=0, verbose_name='ordre')), ('comment', models.CharField(default='', max_length=512, verbose_name='comment', blank=True)), ('creation_date', models.DateTimeField(auto_now_add=True)), ('modification_date', models.DateTimeField(auto_now=True)), ], options={ 'ordering': ('owner__id', '-order', 'modification_date'), }, bases=(models.Model,), ), migrations.CreateModel( name='AnObj', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('uuid', models.CharField(unique=True, max_length=32, blank=True)), ('name', models.CharField(max_length=125)), ('locked', models.BooleanField(default=False, verbose_name='locked')), ('sharing_mode', models.IntegerField(default=0, verbose_name='sharing mode', blank=True)), ('sharing_opts', jsonfield.fields.JSONField(default='{}', verbose_name='sharing options', blank=True)), ('allow_public_publishing', models.BooleanField(default=False, verbose_name='allow public publishing')), ('image', models.ImageField(upload_to=adim.models.annotables.get_image_path, null=True, verbose_name='image', blank=True)), ('image_url', models.CharField(default='', max_length=512, null=True, verbose_name='image url', blank=True)), ('_thumb_url', models.CharField(max_length=512, null=True, blank=True)), ], options={ 'ordering': ['-id'], 'verbose_name': 'Annotable Object', }, bases=(models.Model,), ), migrations.CreateModel( name='AnObjMembership', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('publish_mode', models.IntegerField(default=0, choices=[(0, 'private'), (1, 'owner only'), (2, 'all members')])), ('anobj', models.ForeignKey(to='adim.AnObj')), ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Annotable Object Membership', }, bases=(models.Model,), ), migrations.CreateModel( name='AOAttribute', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('entity_id', models.IntegerField()), ('value_text', models.TextField(null=True, blank=True)), ('value_float', models.FloatField(null=True, blank=True)), ('value_date', models.DateField(null=True, blank=True)), ('value_bool', models.NullBooleanField()), ('value_range_min', models.FloatField(null=True, blank=True)), ('value_range_max', models.FloatField(null=True, blank=True)), ('value_image', models.ImageField(null=True, upload_to='ao', blank=True)), ], options={ 'verbose_name': 'Annotable Object Attribute', 'verbose_name_plural': 'Annotable Object Attributes', }, bases=(models.Model,), ), migrations.CreateModel( name='AOChoice', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('title', models.CharField(max_length=100)), ], options={ 'verbose_name': 'Annotable Object Choice', }, bases=(models.Model,), ), migrations.CreateModel( name='AOSchema', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('title', models.CharField(help_text='user-friendly attribute name', max_length=250, verbose_name='title')), ('name', autoslug.fields.AutoSlugField(max_length=250, verbose_name='name', blank=True)), ('help_text', models.CharField(help_text='short description for administrator', max_length=250, verbose_name='help text', blank=True)), ('datatype', models.CharField(max_length=5, verbose_name='data type', choices=[(b'text', 'text'), (b'float', 'number'), (b'date', 'date'), (b'bool', 'boolean'), (b'one', 'choice'), (b'many', 'multiple choices'), (b'range', 'numeric range')])), ('required', models.BooleanField(default=False, verbose_name='required')), ('searched', models.BooleanField(default=False, verbose_name='include in search')), ('filtered', models.BooleanField(default=False, verbose_name='include in filters')), ('sortable', models.BooleanField(default=False, verbose_name='allow sorting')), ], options={ 'verbose_name': 'Annotable Object Schema', 'verbose_name_plural': 'Annotable Object Schemata', }, bases=(models.Model,), ), migrations.CreateModel( name='AOType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('name', models.CharField(max_length=128)), ('title', models.CharField(default='', max_length=512, blank=True)), ], options={ 'verbose_name': 'Annotable Object Type', }, bases=(models.Model,), ), migrations.AddField( model_name='aoschema', name='ao_types', field=models.ManyToManyField(to='adim.AOType', null=True, blank=True), preserve_default=True, ), migrations.AddField( model_name='aochoice', name='schema', field=models.ForeignKey(related_name='choices', to='adim.AOSchema'), preserve_default=True, ), migrations.AddField( model_name='aoattribute', name='choice', field=models.ForeignKey(blank=True, to='adim.AOChoice', null=True), preserve_default=True, ), migrations.AddField( model_name='aoattribute', name='entity_type', field=models.ForeignKey(to='contenttypes.ContentType'), preserve_default=True, ), migrations.AddField( model_name='aoattribute', name='schema', field=models.ForeignKey(related_name='attrs', to='adim.AOSchema'), preserve_default=True, ), migrations.AddField( model_name='anobj', name='ao_type', field=models.ForeignKey(verbose_name='type', blank=True, to='adim.AOType', null=True), preserve_default=True, ), migrations.AddField( model_name='anobj', name='members', field=models.ManyToManyField(related_name='shared_anobjs', to=settings.AUTH_USER_MODEL, through='adim.AnObjMembership', blank=True, null=True, verbose_name='members'), preserve_default=True, ), migrations.AddField( model_name='anobj', name='owner', field=models.ForeignKey(related_name='anobjs', verbose_name='owner', to=settings.AUTH_USER_MODEL), preserve_default=True, ), migrations.AddField( model_name='annotation', name='annotable', field=models.ForeignKey(related_name='annotations', verbose_name='annotable', to='adim.AnObj'), preserve_default=True, ), migrations.AddField( model_name='annotation', name='owner', field=models.ForeignKey(verbose_name='owner', to=settings.AUTH_USER_MODEL), preserve_default=True, ), ]