From: yomguy Date: Wed, 17 Oct 2012 12:33:38 +0000 (+0200) Subject: fix pro model, split views X-Git-Tag: 0.9-probarreau~346^2~5 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=e06100cdb93ab939a4a553ac71bcf4dc97575b2a;p=teleforma.git fix pro model, split views --- diff --git a/teleforma/admin.py b/teleforma/admin.py index 11101f87..ba8aa3ad 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -67,6 +67,7 @@ admin.site.register(Course, CourseAdmin) admin.site.register(Conference, ConferenceAdmin) admin.site.register(IEJ) admin.site.register(Document, DocumentAdmin) +admin.site.register(DocumentSimple) admin.site.register(DocumentType) admin.site.register(Media, MediaAdmin) admin.site.register(Room) @@ -79,5 +80,5 @@ admin.site.register(Student, StudentAdmin) admin.site.register(Professor, ProfessorAdmin) admin.site.register(Seminar, SeminarAdmin) admin.site.register(Question) - - +admin.site.register(Testimonial) +admin.site.register(TestimonialTemplate) \ No newline at end of file diff --git a/teleforma/migrations/0049_auto__add_testimonialtemplate__add_testimonial.py b/teleforma/migrations/0049_auto__add_testimonialtemplate__add_testimonial.py new file mode 100644 index 00000000..d7195cb8 --- /dev/null +++ b/teleforma/migrations/0049_auto__add_testimonialtemplate__add_testimonial.py @@ -0,0 +1,527 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'TestimonialTemplate' + db.create_table('teleforma_testimonial_template', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('organization', self.gf('django.db.models.fields.related.ForeignKey')(related_name='testimonial_template', to=orm['teleforma.Organization'])), + ('text', self.gf('django.db.models.fields.TextField')()), + ('template_doc', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name=u'testimonial_template', null=True, to=orm['teleforma.Document'])), + )) + db.send_create_signal('teleforma', ['TestimonialTemplate']) + + # Adding model 'Testimonial' + db.create_table('teleforma_testimonial', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('seminar', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['teleforma.Seminar'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name=u'testimonial', to=orm['auth.User'])), + ('document', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name=u'testimonial', null=True, to=orm['teleforma.Document'])), + )) + db.send_create_signal('teleforma', ['Testimonial']) + + def backwards(self, orm): + # Deleting model 'TestimonialTemplate' + db.delete_table('teleforma_testimonial_template') + + # Deleting model 'Testimonial' + db.delete_table('teleforma_testimonial') + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'notes.note': { + 'Meta': {'object_name': 'Note'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2012, 10, 17, 0, 0)'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'markup': ('django.db.models.fields.CharField', [], {'default': "'m'", 'max_length': '1'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'rendered_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['notes.Topic']"}) + }, + 'notes.topic': { + 'Meta': {'object_name': 'Topic'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'slug': ('django_extensions.db.fields.AutoSlugField', [], {'allow_duplicates': 'False', 'max_length': '50', 'separator': "u'-'", 'blank': 'True', 'populate_from': "'title'", 'overwrite': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.answer': { + 'Meta': {'object_name': 'Answer'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['teleforma.Question']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['auth.User']"}), + 'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + 'comment': ('teleforma.fields.ShortTextField', [], {'max_length': '255', 'blank': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}), + 'date_begin': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'date_end': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'professor': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Professor']", 'blank': 'True', 'null': 'True'}), + 'public_id': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'room': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'conference'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Room']"}), + 'session': ('telemeta.models.core.CharField', [], {'default': "'1'", 'max_length': '16', 'blank': 'True'}) + }, + 'teleforma.course': { + 'Meta': {'ordering': "['number']", 'object_name': 'Course'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'department': ('telemeta.models.core.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'obligation': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'synthesis_note': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.coursetype': { + 'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.department': { + 'Meta': {'object_name': 'Department'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'domain': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_annal': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'document'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.DocumentType']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documenttype': { + 'Meta': {'ordering': "['number']", 'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.iej': { + 'Meta': {'ordering': "['name']", 'object_name': 'IEJ'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.livestream': { + 'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"}, + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'server': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}), + 'stream_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'streaming': ('telemeta.models.core.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified']", 'object_name': 'Media'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'media'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.period': { + 'Meta': {'object_name': 'Period'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.professor': { + 'Meta': {'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.profile': { + 'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"}, + 'address': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'city': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'country': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'postal_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'telephone': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.question': { + 'Meta': {'object_name': 'Question'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'min_nchar': ('django.db.models.fields.IntegerField', [], {}), + 'question': ('django.db.models.fields.TextField', [], {}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.seminar': { + 'Meta': {'object_name': 'Seminar'}, + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'seminar'", 'to': "orm['teleforma.Course']"}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'doc_1': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc1'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'doc_2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc2'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'doc_correct': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doccorrect'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'media': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'to': "orm['teleforma.Media']"}), + 'price': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}), + 'suscribers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.streamingserver': { + 'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"}, + 'admin_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'host': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'port': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'source_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}) + }, + 'teleforma.student': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.IEJ']", 'blank': 'True', 'null': 'True'}), + 'options': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'options'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_1': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_1'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_2': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_2'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'procedure': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'procedure'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'training': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Training']"}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'written_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'written_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}) + }, + 'teleforma.testimonial': { + 'Meta': {'object_name': 'Testimonial'}, + 'document': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['auth.User']"}) + }, + 'teleforma.testimonialtemplate': { + 'Meta': {'object_name': 'TestimonialTemplate', 'db_table': "'teleforma_testimonial_template'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial_template'", 'to': "orm['teleforma.Organization']"}), + 'template_doc': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial_template'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'cost': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_magistral'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'obligation': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_obligation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'options': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_options'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_1': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_1'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_2': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_2'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'period': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'training'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Period']"}), + 'procedure': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_procedure'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'synthesis_note': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_synthesis_note'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'written_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_written_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'telemeta.acquisitionmode': { + 'Meta': {'ordering': "['value']", 'object_name': 'AcquisitionMode', 'db_table': "'acquisition_modes'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.adconversion': { + 'Meta': {'ordering': "['value']", 'object_name': 'AdConversion', 'db_table': "'ad_conversions'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.ethnicgroup': { + 'Meta': {'ordering': "['value']", 'object_name': 'EthnicGroup', 'db_table': "'ethnic_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.genericstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'GenericStyle', 'db_table': "'generic_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.language': { + 'Meta': {'ordering': "['name']", 'object_name': 'Language', 'db_table': "'languages'"}, + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'identifier': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'part1': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'part2B': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'part2T': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'scope': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}) + }, + 'telemeta.legalright': { + 'Meta': {'ordering': "['value']", 'object_name': 'LegalRight', 'db_table': "'legal_rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.location': { + 'Meta': {'ordering': "['name']", 'object_name': 'Location', 'db_table': "'locations'"}, + 'complete_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'locations'", 'to': "orm['telemeta.LocationType']"}), + 'current_location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'past_names'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'latitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'longitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '150'}), + 'type': ('telemeta.models.core.IntegerField', [], {'default': '0', 'db_index': 'True', 'blank': 'True'}) + }, + 'telemeta.locationtype': { + 'Meta': {'ordering': "['name']", 'object_name': 'LocationType', 'db_table': "'location_types'"}, + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '150'}) + }, + 'telemeta.mediacollection': { + 'Meta': {'ordering': "['code']", 'object_name': 'MediaCollection', 'db_table': "'media_collections'"}, + 'a_informer_07_03': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'acquisition_mode': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AcquisitionMode']"}), + 'ad_conversion': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AdConversion']"}), + 'alt_ids': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'booklet_author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'booklet_description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'cnrs_contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_is_creator': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'conservation_site': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'creator': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'doctype_code': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'items_done': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'legal_rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.LegalRight']"}), + 'metadata_author': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataAuthor']"}), + 'metadata_writer': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataWriter']"}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'physical_items_num': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publisher': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Publisher']"}), + 'publisher_collection': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublisherCollection']"}), + 'publisher_serial': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'publishing_status': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublishingStatus']"}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recording_context': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.RecordingContext']"}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'travail': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'year_published': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}) + }, + 'telemeta.mediaitem': { + 'Meta': {'object_name': 'MediaItem', 'db_table': "'media_items'"}, + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.metadataauthor': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataAuthor', 'db_table': "'metadata_authors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.metadatawriter': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataWriter', 'db_table': "'metadata_writers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.organization': { + 'Meta': {'ordering': "['value']", 'object_name': 'Organization', 'db_table': "'organization'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.physicalformat': { + 'Meta': {'ordering': "['value']", 'object_name': 'PhysicalFormat', 'db_table': "'physical_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publisher': { + 'Meta': {'ordering': "['value']", 'object_name': 'Publisher', 'db_table': "'publishers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publishercollection': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublisherCollection', 'db_table': "'publisher_collections'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'publisher': ('telemeta.models.core.ForeignKey', [], {'related_name': "'publisher_collections'", 'to': "orm['telemeta.Publisher']"}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.publishingstatus': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublishingStatus', 'db_table': "'publishing_status'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.recordingcontext': { + 'Meta': {'ordering': "['value']", 'object_name': 'RecordingContext', 'db_table': "'recording_contexts'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.rights': { + 'Meta': {'ordering': "['value']", 'object_name': 'Rights', 'db_table': "'rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.vernacularstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'VernacularStyle', 'db_table': "'vernacular_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/migrations/0050_auto__add_field_testimonial_template.py b/teleforma/migrations/0050_auto__add_field_testimonial_template.py new file mode 100644 index 00000000..6fd625b7 --- /dev/null +++ b/teleforma/migrations/0050_auto__add_field_testimonial_template.py @@ -0,0 +1,512 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding field 'Testimonial.template' + db.add_column('teleforma_testimonial', 'template', + self.gf('django.db.models.fields.related.ForeignKey')(default=1, related_name=u'testimonial', to=orm['teleforma.TestimonialTemplate']), + keep_default=False) + + def backwards(self, orm): + # Deleting field 'Testimonial.template' + db.delete_column('teleforma_testimonial', 'template_id') + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'notes.note': { + 'Meta': {'object_name': 'Note'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2012, 10, 17, 0, 0)'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'markup': ('django.db.models.fields.CharField', [], {'default': "'m'", 'max_length': '1'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'rendered_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['notes.Topic']"}) + }, + 'notes.topic': { + 'Meta': {'object_name': 'Topic'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'slug': ('django_extensions.db.fields.AutoSlugField', [], {'allow_duplicates': 'False', 'max_length': '50', 'separator': "u'-'", 'blank': 'True', 'populate_from': "'title'", 'overwrite': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.answer': { + 'Meta': {'object_name': 'Answer'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['teleforma.Question']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['auth.User']"}), + 'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + 'comment': ('teleforma.fields.ShortTextField', [], {'max_length': '255', 'blank': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}), + 'date_begin': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'date_end': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'professor': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Professor']", 'blank': 'True', 'null': 'True'}), + 'public_id': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'room': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'conference'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Room']"}), + 'session': ('telemeta.models.core.CharField', [], {'default': "'1'", 'max_length': '16', 'blank': 'True'}) + }, + 'teleforma.course': { + 'Meta': {'ordering': "['number']", 'object_name': 'Course'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'department': ('telemeta.models.core.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'obligation': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'synthesis_note': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.coursetype': { + 'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.department': { + 'Meta': {'object_name': 'Department'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'domain': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_annal': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'document'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.DocumentType']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documenttype': { + 'Meta': {'ordering': "['number']", 'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.iej': { + 'Meta': {'ordering': "['name']", 'object_name': 'IEJ'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.livestream': { + 'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"}, + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'server': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}), + 'stream_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'streaming': ('telemeta.models.core.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified']", 'object_name': 'Media'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'media'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.period': { + 'Meta': {'object_name': 'Period'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.professor': { + 'Meta': {'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.profile': { + 'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"}, + 'address': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'city': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'country': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'postal_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'telephone': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.question': { + 'Meta': {'object_name': 'Question'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'min_nchar': ('django.db.models.fields.IntegerField', [], {}), + 'question': ('django.db.models.fields.TextField', [], {}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.seminar': { + 'Meta': {'object_name': 'Seminar'}, + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'seminar'", 'to': "orm['teleforma.Course']"}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'doc_1': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc1'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'doc_2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc2'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'doc_correct': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doccorrect'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'media': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'to': "orm['teleforma.Media']"}), + 'price': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}), + 'suscribers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.streamingserver': { + 'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"}, + 'admin_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'host': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'port': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'source_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}) + }, + 'teleforma.student': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.IEJ']", 'blank': 'True', 'null': 'True'}), + 'options': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'options'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_1': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_1'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_2': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_2'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'procedure': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'procedure'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'training': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Training']"}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'written_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'written_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}) + }, + 'teleforma.testimonial': { + 'Meta': {'object_name': 'Testimonial'}, + 'document': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'template': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['teleforma.TestimonialTemplate']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['auth.User']"}) + }, + 'teleforma.testimonialtemplate': { + 'Meta': {'object_name': 'TestimonialTemplate', 'db_table': "'teleforma_testimonial_template'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial_template'", 'to': "orm['teleforma.Organization']"}), + 'template_doc': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial_template'", 'null': 'True', 'to': "orm['teleforma.Document']"}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'cost': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_magistral'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'obligation': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_obligation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'options': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_options'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_1': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_1'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_2': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_2'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'period': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'training'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Period']"}), + 'procedure': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_procedure'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'synthesis_note': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_synthesis_note'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'written_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_written_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'telemeta.acquisitionmode': { + 'Meta': {'ordering': "['value']", 'object_name': 'AcquisitionMode', 'db_table': "'acquisition_modes'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.adconversion': { + 'Meta': {'ordering': "['value']", 'object_name': 'AdConversion', 'db_table': "'ad_conversions'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.ethnicgroup': { + 'Meta': {'ordering': "['value']", 'object_name': 'EthnicGroup', 'db_table': "'ethnic_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.genericstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'GenericStyle', 'db_table': "'generic_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.language': { + 'Meta': {'ordering': "['name']", 'object_name': 'Language', 'db_table': "'languages'"}, + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'identifier': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'part1': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'part2B': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'part2T': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'scope': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}) + }, + 'telemeta.legalright': { + 'Meta': {'ordering': "['value']", 'object_name': 'LegalRight', 'db_table': "'legal_rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.location': { + 'Meta': {'ordering': "['name']", 'object_name': 'Location', 'db_table': "'locations'"}, + 'complete_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'locations'", 'to': "orm['telemeta.LocationType']"}), + 'current_location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'past_names'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'latitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'longitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '150'}), + 'type': ('telemeta.models.core.IntegerField', [], {'default': '0', 'db_index': 'True', 'blank': 'True'}) + }, + 'telemeta.locationtype': { + 'Meta': {'ordering': "['name']", 'object_name': 'LocationType', 'db_table': "'location_types'"}, + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '150'}) + }, + 'telemeta.mediacollection': { + 'Meta': {'ordering': "['code']", 'object_name': 'MediaCollection', 'db_table': "'media_collections'"}, + 'a_informer_07_03': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'acquisition_mode': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AcquisitionMode']"}), + 'ad_conversion': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AdConversion']"}), + 'alt_ids': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'booklet_author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'booklet_description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'cnrs_contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_is_creator': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'conservation_site': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'creator': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'doctype_code': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'items_done': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'legal_rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.LegalRight']"}), + 'metadata_author': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataAuthor']"}), + 'metadata_writer': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataWriter']"}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'physical_items_num': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publisher': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Publisher']"}), + 'publisher_collection': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublisherCollection']"}), + 'publisher_serial': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'publishing_status': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublishingStatus']"}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recording_context': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.RecordingContext']"}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'travail': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'year_published': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}) + }, + 'telemeta.mediaitem': { + 'Meta': {'object_name': 'MediaItem', 'db_table': "'media_items'"}, + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.metadataauthor': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataAuthor', 'db_table': "'metadata_authors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.metadatawriter': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataWriter', 'db_table': "'metadata_writers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.organization': { + 'Meta': {'ordering': "['value']", 'object_name': 'Organization', 'db_table': "'organization'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.physicalformat': { + 'Meta': {'ordering': "['value']", 'object_name': 'PhysicalFormat', 'db_table': "'physical_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publisher': { + 'Meta': {'ordering': "['value']", 'object_name': 'Publisher', 'db_table': "'publishers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publishercollection': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublisherCollection', 'db_table': "'publisher_collections'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'publisher': ('telemeta.models.core.ForeignKey', [], {'related_name': "'publisher_collections'", 'to': "orm['telemeta.Publisher']"}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.publishingstatus': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublishingStatus', 'db_table': "'publishing_status'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.recordingcontext': { + 'Meta': {'ordering': "['value']", 'object_name': 'RecordingContext', 'db_table': "'recording_contexts'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.rights': { + 'Meta': {'ordering': "['value']", 'object_name': 'Rights', 'db_table': "'rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.vernacularstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'VernacularStyle', 'db_table': "'vernacular_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/migrations/0051_auto__add_documentsimple__del_field_testimonialtemplate_template_doc__.py b/teleforma/migrations/0051_auto__add_documentsimple__del_field_testimonialtemplate_template_doc__.py new file mode 100644 index 00000000..9145bbeb --- /dev/null +++ b/teleforma/migrations/0051_auto__add_documentsimple__del_field_testimonialtemplate_template_doc__.py @@ -0,0 +1,577 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'DocumentSimple' + db.create_table('teleforma_document_simple', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('telemeta.models.core.CharField')(default='', max_length=255, blank=True)), + ('description', self.gf('telemeta.models.core.CharField')(default='', max_length=255, blank=True)), + ('credits', self.gf('telemeta.models.core.CharField')(default='', max_length=255, blank=True)), + ('date_added', self.gf('telemeta.models.core.DateTimeField')(default=None, auto_now_add=True, null=True, blank=True)), + ('date_modified', self.gf('telemeta.models.core.DateTimeField')(default=None, auto_now=True, null=True, blank=True)), + ('code', self.gf('telemeta.models.core.CharField')(default='', max_length=255, blank=True)), + ('is_published', self.gf('telemeta.models.core.BooleanField')(default=False)), + ('mime_type', self.gf('telemeta.models.core.CharField')(default='', max_length=255, blank=True)), + ('weight', self.gf('django.db.models.fields.IntegerField')(default=1, blank=True)), + ('file', self.gf('telemeta.models.core.FileField')(default='', max_length=100, db_column='filename', blank=True)), + )) + db.send_create_signal('teleforma', ['DocumentSimple']) + + # Deleting field 'TestimonialTemplate.template_doc' + db.delete_column('teleforma_testimonial_template', 'template_doc_id') + + # Adding field 'TestimonialTemplate.document' + db.add_column('teleforma_testimonial_template', 'document', + self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name=u'testimonial_template', null=True, to=orm['teleforma.DocumentSimple']), + keep_default=False) + + + # Changing field 'Seminar.doc_2' + db.alter_column('teleforma_seminar', 'doc_2_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.DocumentSimple'])) + + # Changing field 'Seminar.doc_correct' + db.alter_column('teleforma_seminar', 'doc_correct_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.DocumentSimple'])) + + # Changing field 'Seminar.doc_1' + db.alter_column('teleforma_seminar', 'doc_1_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.DocumentSimple'])) + + # Changing field 'Testimonial.document' + db.alter_column('teleforma_testimonial', 'document_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.DocumentSimple'])) + def backwards(self, orm): + # Deleting model 'DocumentSimple' + db.delete_table('teleforma_document_simple') + + # Adding field 'TestimonialTemplate.template_doc' + db.add_column('teleforma_testimonial_template', 'template_doc', + self.gf('django.db.models.fields.related.ForeignKey')(related_name=u'testimonial_template', null=True, to=orm['teleforma.Document'], blank=True), + keep_default=False) + + # Deleting field 'TestimonialTemplate.document' + db.delete_column('teleforma_testimonial_template', 'document_id') + + + # Changing field 'Seminar.doc_2' + db.alter_column('teleforma_seminar', 'doc_2_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.Document'])) + + # Changing field 'Seminar.doc_correct' + db.alter_column('teleforma_seminar', 'doc_correct_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.Document'])) + + # Changing field 'Seminar.doc_1' + db.alter_column('teleforma_seminar', 'doc_1_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.Document'])) + + # Changing field 'Testimonial.document' + db.alter_column('teleforma_testimonial', 'document_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.Document'])) + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'notes.note': { + 'Meta': {'object_name': 'Note'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2012, 10, 17, 0, 0)'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'markup': ('django.db.models.fields.CharField', [], {'default': "'m'", 'max_length': '1'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'rendered_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['notes.Topic']"}) + }, + 'notes.topic': { + 'Meta': {'object_name': 'Topic'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'slug': ('django_extensions.db.fields.AutoSlugField', [], {'allow_duplicates': 'False', 'max_length': '50', 'separator': "u'-'", 'blank': 'True', 'populate_from': "'title'", 'overwrite': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.answer': { + 'Meta': {'object_name': 'Answer'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['teleforma.Question']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['auth.User']"}), + 'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + 'comment': ('teleforma.fields.ShortTextField', [], {'max_length': '255', 'blank': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}), + 'date_begin': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'date_end': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'professor': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Professor']", 'blank': 'True', 'null': 'True'}), + 'public_id': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'room': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'conference'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Room']"}), + 'session': ('telemeta.models.core.CharField', [], {'default': "'1'", 'max_length': '16', 'blank': 'True'}) + }, + 'teleforma.course': { + 'Meta': {'ordering': "['number']", 'object_name': 'Course'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'department': ('telemeta.models.core.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'obligation': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'synthesis_note': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.coursetype': { + 'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.department': { + 'Meta': {'object_name': 'Department'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'domain': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_annal': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'document'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.DocumentType']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documentsimple': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'DocumentSimple', 'db_table': "'teleforma_document_simple'"}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documenttype': { + 'Meta': {'ordering': "['number']", 'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.iej': { + 'Meta': {'ordering': "['name']", 'object_name': 'IEJ'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.livestream': { + 'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"}, + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'server': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}), + 'stream_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'streaming': ('telemeta.models.core.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified']", 'object_name': 'Media'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'media'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.period': { + 'Meta': {'object_name': 'Period'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.professor': { + 'Meta': {'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.profile': { + 'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"}, + 'address': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'city': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'country': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'postal_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'telephone': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.question': { + 'Meta': {'object_name': 'Question'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'min_nchar': ('django.db.models.fields.IntegerField', [], {}), + 'question': ('django.db.models.fields.TextField', [], {}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.seminar': { + 'Meta': {'object_name': 'Seminar'}, + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'seminar'", 'to': "orm['teleforma.Course']"}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'doc_1': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc1'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'doc_2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc2'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'doc_correct': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doccorrect'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'media': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'to': "orm['teleforma.Media']"}), + 'price': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}), + 'suscribers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.streamingserver': { + 'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"}, + 'admin_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'host': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'port': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'source_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}) + }, + 'teleforma.student': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.IEJ']", 'blank': 'True', 'null': 'True'}), + 'options': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'options'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_1': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_1'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_2': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_2'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'procedure': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'procedure'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'training': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Training']"}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'written_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'written_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}) + }, + 'teleforma.testimonial': { + 'Meta': {'object_name': 'Testimonial'}, + 'document': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'template': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['teleforma.TestimonialTemplate']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['auth.User']"}) + }, + 'teleforma.testimonialtemplate': { + 'Meta': {'object_name': 'TestimonialTemplate', 'db_table': "'teleforma_testimonial_template'"}, + 'document': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial_template'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial_template'", 'to': "orm['teleforma.Organization']"}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'cost': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_magistral'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'obligation': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_obligation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'options': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_options'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_1': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_1'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_2': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_2'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'period': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'training'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Period']"}), + 'procedure': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_procedure'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'synthesis_note': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_synthesis_note'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'written_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_written_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'telemeta.acquisitionmode': { + 'Meta': {'ordering': "['value']", 'object_name': 'AcquisitionMode', 'db_table': "'acquisition_modes'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.adconversion': { + 'Meta': {'ordering': "['value']", 'object_name': 'AdConversion', 'db_table': "'ad_conversions'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.ethnicgroup': { + 'Meta': {'ordering': "['value']", 'object_name': 'EthnicGroup', 'db_table': "'ethnic_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.genericstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'GenericStyle', 'db_table': "'generic_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.language': { + 'Meta': {'ordering': "['name']", 'object_name': 'Language', 'db_table': "'languages'"}, + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'identifier': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'part1': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'part2B': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'part2T': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'scope': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}) + }, + 'telemeta.legalright': { + 'Meta': {'ordering': "['value']", 'object_name': 'LegalRight', 'db_table': "'legal_rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.location': { + 'Meta': {'ordering': "['name']", 'object_name': 'Location', 'db_table': "'locations'"}, + 'complete_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'locations'", 'to': "orm['telemeta.LocationType']"}), + 'current_location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'past_names'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'latitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'longitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '150'}), + 'type': ('telemeta.models.core.IntegerField', [], {'default': '0', 'db_index': 'True', 'blank': 'True'}) + }, + 'telemeta.locationtype': { + 'Meta': {'ordering': "['name']", 'object_name': 'LocationType', 'db_table': "'location_types'"}, + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '150'}) + }, + 'telemeta.mediacollection': { + 'Meta': {'ordering': "['code']", 'object_name': 'MediaCollection', 'db_table': "'media_collections'"}, + 'a_informer_07_03': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'acquisition_mode': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AcquisitionMode']"}), + 'ad_conversion': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AdConversion']"}), + 'alt_ids': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'booklet_author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'booklet_description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'cnrs_contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_is_creator': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'conservation_site': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'creator': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'doctype_code': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'items_done': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'legal_rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.LegalRight']"}), + 'metadata_author': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataAuthor']"}), + 'metadata_writer': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataWriter']"}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'physical_items_num': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publisher': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Publisher']"}), + 'publisher_collection': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublisherCollection']"}), + 'publisher_serial': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'publishing_status': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublishingStatus']"}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recording_context': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.RecordingContext']"}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'travail': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'year_published': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}) + }, + 'telemeta.mediaitem': { + 'Meta': {'object_name': 'MediaItem', 'db_table': "'media_items'"}, + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.metadataauthor': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataAuthor', 'db_table': "'metadata_authors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.metadatawriter': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataWriter', 'db_table': "'metadata_writers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.organization': { + 'Meta': {'ordering': "['value']", 'object_name': 'Organization', 'db_table': "'organization'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.physicalformat': { + 'Meta': {'ordering': "['value']", 'object_name': 'PhysicalFormat', 'db_table': "'physical_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publisher': { + 'Meta': {'ordering': "['value']", 'object_name': 'Publisher', 'db_table': "'publishers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publishercollection': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublisherCollection', 'db_table': "'publisher_collections'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'publisher': ('telemeta.models.core.ForeignKey', [], {'related_name': "'publisher_collections'", 'to': "orm['telemeta.Publisher']"}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.publishingstatus': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublishingStatus', 'db_table': "'publishing_status'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.recordingcontext': { + 'Meta': {'ordering': "['value']", 'object_name': 'RecordingContext', 'db_table': "'recording_contexts'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.rights': { + 'Meta': {'ordering': "['value']", 'object_name': 'Rights', 'db_table': "'rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.vernacularstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'VernacularStyle', 'db_table': "'vernacular_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/migrations/0052_auto__del_field_testimonialtemplate_text__add_field_testimonialtemplat.py b/teleforma/migrations/0052_auto__del_field_testimonialtemplate_text__add_field_testimonialtemplat.py new file mode 100644 index 00000000..de54f32f --- /dev/null +++ b/teleforma/migrations/0052_auto__del_field_testimonialtemplate_text__add_field_testimonialtemplat.py @@ -0,0 +1,549 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Deleting field 'TestimonialTemplate.text' + db.delete_column('teleforma_testimonial_template', 'text') + + # Adding field 'TestimonialTemplate.description' + db.add_column('teleforma_testimonial_template', 'description', + self.gf('django.db.models.fields.TextField')(default='', blank=True), + keep_default=False) + + # Adding field 'TestimonialTemplate.comments' + db.add_column('teleforma_testimonial_template', 'comments', + self.gf('django.db.models.fields.TextField')(default='', blank=True), + keep_default=False) + + + # Changing field 'TestimonialTemplate.document' + db.alter_column('teleforma_testimonial_template', 'document_id', self.gf('django.db.models.fields.related.ForeignKey')(default=1, to=orm['teleforma.DocumentSimple'])) + def backwards(self, orm): + # Adding field 'TestimonialTemplate.text' + db.add_column('teleforma_testimonial_template', 'text', + self.gf('django.db.models.fields.TextField')(default='', blank=True), + keep_default=False) + + # Deleting field 'TestimonialTemplate.description' + db.delete_column('teleforma_testimonial_template', 'description') + + # Deleting field 'TestimonialTemplate.comments' + db.delete_column('teleforma_testimonial_template', 'comments') + + + # Changing field 'TestimonialTemplate.document' + db.alter_column('teleforma_testimonial_template', 'document_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['teleforma.DocumentSimple'])) + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'notes.note': { + 'Meta': {'object_name': 'Note'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2012, 10, 17, 0, 0)'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'markup': ('django.db.models.fields.CharField', [], {'default': "'m'", 'max_length': '1'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'rendered_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['notes.Topic']"}) + }, + 'notes.topic': { + 'Meta': {'object_name': 'Topic'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'slug': ('django_extensions.db.fields.AutoSlugField', [], {'allow_duplicates': 'False', 'max_length': '50', 'separator': "u'-'", 'blank': 'True', 'populate_from': "'title'", 'overwrite': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.answer': { + 'Meta': {'object_name': 'Answer'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['teleforma.Question']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'answer'", 'to': "orm['auth.User']"}), + 'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + 'comment': ('teleforma.fields.ShortTextField', [], {'max_length': '255', 'blank': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}), + 'date_begin': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'date_end': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'professor': ('telemeta.models.core.ForeignKey', [], {'related_name': "'conference'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Professor']", 'blank': 'True', 'null': 'True'}), + 'public_id': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'room': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'conference'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Room']"}), + 'session': ('telemeta.models.core.CharField', [], {'default': "'1'", 'max_length': '16', 'blank': 'True'}) + }, + 'teleforma.course': { + 'Meta': {'ordering': "['number']", 'object_name': 'Course'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'department': ('telemeta.models.core.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'obligation': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'synthesis_note': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.coursetype': { + 'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.department': { + 'Meta': {'object_name': 'Department'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'domain': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_annal': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'document'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.DocumentType']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documentsimple': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'DocumentSimple', 'db_table': "'teleforma_document_simple'"}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documenttype': { + 'Meta': {'ordering': "['number']", 'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.iej': { + 'Meta': {'ordering': "['name']", 'object_name': 'IEJ'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.livestream': { + 'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"}, + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'server': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}), + 'stream_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'streaming': ('telemeta.models.core.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified']", 'object_name': 'Media'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'media'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.period': { + 'Meta': {'object_name': 'Period'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.professor': { + 'Meta': {'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.profile': { + 'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"}, + 'address': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'city': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'country': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'postal_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'telephone': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.question': { + 'Meta': {'object_name': 'Question'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'min_nchar': ('django.db.models.fields.IntegerField', [], {}), + 'question': ('django.db.models.fields.TextField', [], {}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.seminar': { + 'Meta': {'object_name': 'Seminar'}, + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'seminar'", 'to': "orm['teleforma.Course']"}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'doc_1': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc1'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'doc_2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doc2'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'doc_correct': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar_doccorrect'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'media': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'to': "orm['teleforma.Media']"}), + 'price': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}), + 'suscribers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.streamingserver': { + 'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"}, + 'admin_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'host': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'port': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'source_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}) + }, + 'teleforma.student': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.IEJ']", 'blank': 'True', 'null': 'True'}), + 'options': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'options'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_1': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_1'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_2': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_2'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'procedure': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'procedure'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'training': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Training']"}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'written_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'written_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}) + }, + 'teleforma.testimonial': { + 'Meta': {'object_name': 'Testimonial'}, + 'document': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'testimonial'", 'null': 'True', 'to': "orm['teleforma.DocumentSimple']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Seminar']"}), + 'template': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['teleforma.TestimonialTemplate']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial'", 'to': "orm['auth.User']"}) + }, + 'teleforma.testimonialtemplate': { + 'Meta': {'object_name': 'TestimonialTemplate', 'db_table': "'teleforma_testimonial_template'"}, + 'comments': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'document': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'testimonial_template'", 'to': "orm['teleforma.DocumentSimple']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial_template'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'cost': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_magistral'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'obligation': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_obligation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'options': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_options'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_1': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_1'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_2': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_2'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'period': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'training'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Period']"}), + 'procedure': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_procedure'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'synthesis_note': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_synthesis_note'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'written_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_written_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'telemeta.acquisitionmode': { + 'Meta': {'ordering': "['value']", 'object_name': 'AcquisitionMode', 'db_table': "'acquisition_modes'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.adconversion': { + 'Meta': {'ordering': "['value']", 'object_name': 'AdConversion', 'db_table': "'ad_conversions'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.ethnicgroup': { + 'Meta': {'ordering': "['value']", 'object_name': 'EthnicGroup', 'db_table': "'ethnic_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.genericstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'GenericStyle', 'db_table': "'generic_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.language': { + 'Meta': {'ordering': "['name']", 'object_name': 'Language', 'db_table': "'languages'"}, + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'identifier': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'part1': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'part2B': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'part2T': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'scope': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}) + }, + 'telemeta.legalright': { + 'Meta': {'ordering': "['value']", 'object_name': 'LegalRight', 'db_table': "'legal_rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.location': { + 'Meta': {'ordering': "['name']", 'object_name': 'Location', 'db_table': "'locations'"}, + 'complete_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'locations'", 'to': "orm['telemeta.LocationType']"}), + 'current_location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'past_names'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'latitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'longitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '150'}), + 'type': ('telemeta.models.core.IntegerField', [], {'default': '0', 'db_index': 'True', 'blank': 'True'}) + }, + 'telemeta.locationtype': { + 'Meta': {'ordering': "['name']", 'object_name': 'LocationType', 'db_table': "'location_types'"}, + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '150'}) + }, + 'telemeta.mediacollection': { + 'Meta': {'ordering': "['code']", 'object_name': 'MediaCollection', 'db_table': "'media_collections'"}, + 'a_informer_07_03': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'acquisition_mode': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AcquisitionMode']"}), + 'ad_conversion': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AdConversion']"}), + 'alt_ids': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'booklet_author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'booklet_description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'cnrs_contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_is_creator': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'conservation_site': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'creator': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'doctype_code': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'items_done': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'legal_rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.LegalRight']"}), + 'metadata_author': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataAuthor']"}), + 'metadata_writer': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataWriter']"}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'physical_items_num': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publisher': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Publisher']"}), + 'publisher_collection': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublisherCollection']"}), + 'publisher_serial': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'publishing_status': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublishingStatus']"}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recording_context': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.RecordingContext']"}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'travail': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'year_published': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}) + }, + 'telemeta.mediaitem': { + 'Meta': {'object_name': 'MediaItem', 'db_table': "'media_items'"}, + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.metadataauthor': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataAuthor', 'db_table': "'metadata_authors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.metadatawriter': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataWriter', 'db_table': "'metadata_writers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.organization': { + 'Meta': {'ordering': "['value']", 'object_name': 'Organization', 'db_table': "'organization'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.physicalformat': { + 'Meta': {'ordering': "['value']", 'object_name': 'PhysicalFormat', 'db_table': "'physical_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publisher': { + 'Meta': {'ordering': "['value']", 'object_name': 'Publisher', 'db_table': "'publishers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publishercollection': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublisherCollection', 'db_table': "'publisher_collections'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'publisher': ('telemeta.models.core.ForeignKey', [], {'related_name': "'publisher_collections'", 'to': "orm['telemeta.Publisher']"}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.publishingstatus': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublishingStatus', 'db_table': "'publishing_status'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.recordingcontext': { + 'Meta': {'ordering': "['value']", 'object_name': 'RecordingContext', 'db_table': "'recording_contexts'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.rights': { + 'Meta': {'ordering': "['value']", 'object_name': 'Rights', 'db_table': "'rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.vernacularstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'VernacularStyle', 'db_table': "'vernacular_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 5a137ac0..bdb3a548 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -417,22 +417,48 @@ class Document(MediaBase): types = ' - '.join([unicode(t) for t in self.course_type.all()]) return ' - '.join([unicode(self.course), unicode(types), self.title ]) - def set_read(self, user): - pass - - def get_read(self, user): - return user in self.readers - def save(self, **kwargs): + super(Document, self).save(**kwargs) self.course.save() self.set_mime_type() - super(Document, self).save(**kwargs) class Meta(MetaCore): db_table = app_label + '_' + 'document' ordering = ['-date_added'] +class DocumentSimple(MediaBase): + + element_type = 'document_simple' + + file = FileField(_('file'), upload_to='items/%Y/%m/%d', db_column="filename", blank=True) + + def is_image(self): + is_url_image = False + if self.url: + url_types = ['.png', '.jpg', '.gif', '.jpeg'] + for type in url_types: + if type in self.url or type.upper() in self.url: + is_url_image = True + return 'image' in self.mime_type or is_url_image + + def set_mime_type(self): + self.mime_type = mimetypes.guess_type(self.file.path)[0] + + def __unicode__(self): + return self.title + + def save(self, **kwargs): + super(DocumentSimple, self).save(**kwargs) + self.set_mime_type() + + + class Meta(MetaCore): + db_table = app_label + '_' + 'document_simple' + ordering = ['-date_added'] + + + class Media(MediaBase): "Describe a media resource linked to a conference and a telemeta item" diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index a95ceb3b..83bf9edc 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -48,17 +48,17 @@ class Seminar(Model): status = models.IntegerField(_('status'), choices=STATUS_CHOICES, default=1, blank=True) rank = models.IntegerField(_('rank')) - doc_1 = models.ForeignKey(Document, related_name="seminar_doc1", + doc_1 = models.ForeignKey(DocumentSimple, related_name="seminar_doc1", verbose_name=_('document 1'), blank=True, null=True) media = models.ForeignKey(Media, related_name="seminar", verbose_name=_('media'), blank=True, null=True) - doc_2 = models.ForeignKey(Document, related_name="seminar_doc2", + doc_2 = models.ForeignKey(DocumentSimple, related_name="seminar_doc2", verbose_name=_('document 2'), blank=True, null=True) - doc_correct = models.ForeignKey(Document, related_name="seminar_doccorrect", - verbose_name=_('correction document'), + doc_correct = models.ForeignKey(DocumentSimple, related_name="seminar_doccorrect", + verbose_name=_('corrected document'), blank=True, null=True) suscribers = models.ManyToManyField(User, related_name="seminar", verbose_name=_('suscribers'), @@ -66,7 +66,7 @@ class Seminar(Model): date_added = models.DateTimeField(_('date added'), auto_now_add=True) date_modified = models.DateTimeField(_('date modified'), auto_now=True) - duration = DurationField(_('duration')) + duration = DurationField(_('approximative duration')) def __unicode__(self): return ' - '.join([self.course.title, str(self.rank), self.title]) @@ -111,17 +111,33 @@ class Answer(Model): verbose_name = _('Answer') -class TestimonialTheme(Model): +class TestimonialTemplate(Model): - organization = models.ForeignKey(Organization, related_name='testimonial_theme', + organization = models.ForeignKey(Organization, related_name='testimonial_template', verbose_name=_('organization')) - text = models.TextField(_('text')) - doc_1 = models.ForeignKey(Document, related_name=_("seminar"), - blank=True, null=True) + description = models.TextField(_('description'), blank=True) + comments = models.TextField(_('comments'), blank=True) + document = models.ForeignKey(DocumentSimple, related_name=_("testimonial_template"), + verbose_name=_('template')) + + def __unicode__(self): + return ' - '.join([self.organization.name, self.description]) + + class Meta(MetaCore): + db_table = app_label + '_' + 'testimonial_template' + verbose_name = _('Testimonial template') + class Testimonial(Model): seminar = models.ForeignKey(Seminar, verbose_name=_('seminar')) user = models.ForeignKey(User, related_name=_("testimonial"), verbose_name=_('user')) + template = models.ForeignKey(TestimonialTemplate, related_name=_("testimonial"), + verbose_name=_('testimonial_template')) + document = models.ForeignKey(DocumentSimple, related_name=_("testimonial"), + blank=True, null=True) + class Meta(MetaCore): + db_table = app_label + '_' + 'testimonial' + verbose_name = _('Testimonial') diff --git a/teleforma/views.py b/teleforma/views.py deleted file mode 100644 index ad8fcf19..00000000 --- a/teleforma/views.py +++ /dev/null @@ -1,709 +0,0 @@ -# Create your views here. - -import mimetypes -import datetime -import random -import urllib -import urllib2 -import json - -from jsonrpc import jsonrpc_method - -from django.utils.decorators import method_decorator -from django.contrib.auth import authenticate, login, get_backends -from django.template import RequestContext, loader -from django import template -from django.http import HttpResponse, HttpResponseRedirect -from django.http import Http404 -from django.shortcuts import render_to_response, redirect, get_object_or_404 -from django.views.generic import * -from django.views.generic.base import * -from django.conf import settings -from django.contrib import auth -from django.contrib import messages -from django.contrib.auth.decorators import login_required, permission_required -from django.core.context_processors import csrf -from django.forms.models import modelformset_factory, inlineformset_factory -from django.contrib.auth.models import User -from django.utils.translation import ugettext -from django.utils.translation import ugettext_lazy as _ -from django.contrib.auth.forms import UserChangeForm -from django.core.exceptions import ObjectDoesNotExist -from django.contrib.syndication.views import Feed -from django.core.paginator import Paginator -from django.contrib.auth.decorators import login_required -from django.contrib.contenttypes.models import ContentType -from django.views.generic.edit import FormView -from django.core.urlresolvers import reverse, reverse_lazy -from jsonrpc.proxy import ServiceProxy - -from teleforma.models import * -from teleforma.forms import * -from telemeta.views import * -import jqchat.models -from xlwt import Workbook - -try: - from telecaster.models import * - from telecaster.tools import * -except: - pass - - -def render(request, template, data = None, mimetype = None): - return render_to_response(template, data, context_instance=RequestContext(request), - mimetype=mimetype) - -def format_courses(courses, course=None, queryset=None, types=None): - if queryset: - for c in queryset: - if c and c.code != 'X': - courses.append({'course': c, 'types': types.all(), - 'date': c.date_modified, 'number': c.number}) - elif course: - if course.code != 'X': - courses.append({'course': course, 'types': types.all(), - 'date': course.date_modified, 'number': course.number}) - return courses - - -def get_courses(user, date_order=False, num_order=False): - courses = [] - - if not user.is_authenticated(): - return courses - - professor = user.professor.all() - student = user.student.all() - - if professor: - professor = user.professor.get() - courses = format_courses(courses, queryset=professor.courses.all(), - types=CourseType.objects.all()) - - elif student: - student = user.student.get() - s_courses = {student.procedure:student.training.procedure, - student.written_speciality:student.training.written_speciality, - student.oral_speciality:student.training.oral_speciality, - student.oral_1:student.training.oral_1, - student.oral_2:student.training.oral_2, - student.options:student.training.options, - } - - for course in s_courses: - courses = format_courses(courses, course=course, - types=s_courses[course]) - - synthesis_note = student.training.synthesis_note - if synthesis_note: - courses = format_courses(courses, - queryset=Course.objects.filter(synthesis_note=True), - types=synthesis_note) - - obligation = student.training.obligation - if obligation: - courses = format_courses(courses, - queryset=Course.objects.filter(obligation=True), - types=obligation) - - magistral = student.training.magistral - if magistral: - courses = format_courses(courses, - queryset=Course.objects.filter(magistral=True), - types=magistral) - - elif user.is_staff or user.is_superuser: - courses = format_courses(courses, queryset=Course.objects.all(), - types=CourseType.objects) - else: - courses = None - - if date_order: - courses = sorted(courses, key=lambda k: k['date'], reverse=True) - if num_order: - courses = sorted(courses, key=lambda k: k['number']) - - return courses - - -def stream_from_file(__file): - chunk_size = 0x10000 - f = open(__file, 'r') - while True: - __chunk = f.read(chunk_size) - if not len(__chunk): - f.close() - break - yield __chunk - - -def get_room(content_type=None, id=None, name=None): - rooms = jqchat.models.Room.objects.filter(content_type=content_type, - object_id=id) - if not rooms: - room = jqchat.models.Room.objects.create(content_type=content_type, - object_id=id, - name=name[:20]) - else: - room = rooms[0] - return room - - -def get_access(obj, courses): - access = False - for course in courses: - if obj.course == course['course']: - access = True - return access - -access_error = _('Access not allowed.') -contact_message = _('Please login or contact the website administator to get a private access.') - -def get_host(request): - host = request.META['HTTP_HOST'] - if ':' in host: - host = host.split(':')[0] - return host - - -def get_random_hash(): - hash = random.getrandbits(128) - return "%032x" % hash - - -class CourseView(DetailView): - - model = Course - - def get_context_data(self, **kwargs): - context = super(CourseView, self).get_context_data(**kwargs) - course = self.get_object() - all_courses = get_courses(self.request.user, num_order=True) - courses = [] - for c in all_courses: - if c['course'] == course: - courses = format_courses(courses, course=course, types=c['types']) - context['courses'] = courses - context['all_courses'] = all_courses - context['notes'] = course.notes.all().filter(author=self.request.user) - content_type = ContentType.objects.get(app_label="teleforma", model="course") - context['room'] = get_room(name=course.title, content_type=content_type, - id=course.id) - context['doc_types'] = DocumentType.objects.all() - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(CourseView, self).dispatch(*args, **kwargs) - - -class CoursesView(ListView): - - model = Course - template_name='teleforma/courses.html' - - def get_queryset(self): - self.all_courses = get_courses(self.request.user, date_order=True) - return self.all_courses[:10] - - def get_context_data(self, **kwargs): - context = super(CoursesView, self).get_context_data(**kwargs) - context['notes'] = Note.objects.filter(author=self.request.user) - context['room'] = get_room(name='site') - context['doc_types'] = DocumentType.objects.all() - context['all_courses'] = sorted(self.all_courses, key=lambda k: k['number']) - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(CoursesView, self).dispatch(*args, **kwargs) - - -class MediaView(DetailView): - - model = Media - template_name='teleforma/course_media.html' - - def get_context_data(self, **kwargs): - context = super(MediaView, self).get_context_data(**kwargs) - all_courses = get_courses(self.request.user) - context['all_courses'] = all_courses - media = self.get_object() - if not media.mime_type: - media.set_mime_type() - context['mime_type'] = media.mime_type - context['course'] = media.course - context['item'] = media.item - context['type'] = media.course_type - context['notes'] = media.notes.all().filter(author=self.request.user) - content_type = ContentType.objects.get(app_label="teleforma", model="media") - context['room'] = get_room(name=media.item.title, content_type=content_type, - id=media.id) - access = get_access(media, all_courses) - if not access: - context['access_error'] = access_error - context['message'] = contact_message - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(MediaView, self).dispatch(*args, **kwargs) - - def download(self, request, pk): - courses = get_courses(request.user) - media = Media.objects.get(id=pk) - if get_access(media, courses): - path = media.item.file.path - filename, ext = os.path.splitext(path) - filename = filename.split(os.sep)[-1] - fsock = open(media.item.file.path, 'r') - view = ItemView() - mimetype = view.item_analyze(media.item) - extension = mimetypes.guess_extension(mimetype) - if not extension: - extension = ext - response = HttpResponse(fsock, mimetype=mimetype) - - response['Content-Disposition'] = "attachment; filename=%s%s" % \ - (filename.encode('utf8'), extension) - return response - else: - return redirect('teleforma-media-detail', media.id) - - - @jsonrpc_method('teleforma.publish_media') - def publish(request, id): - media = Media.objects.get(id=id) - media.is_published = True - media.save() - - @jsonrpc_method('teleforma.unpublish_media') - def unpublish(request, id): - media = Media.objects.get(id=id) - media.is_published = False - media.save() - - -class DocumentView(DetailView): - - model = Document - template_name='teleforma/course_document.html' - - def get_context_data(self, **kwargs): - context = super(DocumentView, self).get_context_data(**kwargs) - all_courses = get_courses(self.request.user) - context['all_courses'] = all_courses - document = self.get_object() - context['course'] = document.course - context['notes'] = document.notes.all().filter(author=self.request.user) - content_type = ContentType.objects.get(app_label="teleforma", model="document") - context['room'] = get_room(name=document.title, content_type=content_type, - id=document.id) - access = get_access(document, all_courses) - if not access: - context['access_error'] = access_error - context['message'] = contact_message - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(DocumentView, self).dispatch(*args, **kwargs) - - def download(self, request, pk): - courses = get_courses(request.user) - document = Document.objects.get(id=pk) - if get_access(document, courses): - fsock = open(document.file.path, 'r') - mimetype = mimetypes.guess_type(document.file.path)[0] - extension = mimetypes.guess_extension(mimetype) - response = HttpResponse(fsock, mimetype=mimetype) - response['Content-Disposition'] = "attachment; filename=%s%s" % \ - (document.title.encode('utf8'), extension) - return response - else: - return redirect('teleforma-document-detail', document.id) - - def view(self, request, pk): - courses = get_courses(request.user) - document = Document.objects.get(id=pk) - if get_access(document, courses): - fsock = open(document.file.path, 'r') - mimetype = mimetypes.guess_type(document.file.path)[0] - extension = mimetypes.guess_extension(mimetype) - response = HttpResponse(fsock, mimetype=mimetype) - return response - else: - return redirect('teleforma-document-detail', document.id) - - -class ConferenceView(DetailView): - - model = Conference - template_name='teleforma/course_conference.html' - - def get_context_data(self, **kwargs): - context = super(ConferenceView, self).get_context_data(**kwargs) - all_courses = get_courses(self.request.user) - context['all_courses'] = all_courses - conference = self.get_object() - context['course'] = conference.course - context['type'] = conference.course_type - context['notes'] = conference.notes.all().filter(author=self.request.user) - content_type = ContentType.objects.get(app_label="teleforma", model="conference") - context['room'] = get_room(name=conference.course.title, content_type=content_type, - id=conference.id) - context['livestreams'] = conference.livestream.all() - context['host'] = get_host(self.request) - access = get_access(conference, all_courses) - if not access: - context['access_error'] = access_error - context['message'] = contact_message - return context - - @jsonrpc_method('teleforma.stop_conference') - def stop(request, public_id): - conference = Conference.objects.get(public_id=public_id) - conference.date_end = datetime.datetime.now() - conference.save() - for stream in conference.livestream.all(): - stream.delete() - for station in conference.station.all(): - station.started = False - station.save() - station.stop() - if 'telecaster' in settings.INSTALLED_APPS: - try: - url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/' - s = ServiceProxy(url) - s.teleforma.stop_conference(conference.public_id) - except: - pass - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(ConferenceView, self).dispatch(*args, **kwargs) - - -class ConferenceRecordView(FormView): - "Conference record form : TeleCaster module required" - - model = Conference - form_class = ConferenceForm - template_name='teleforma/course_conference_record.html' - hidden_fields = ['started', 'date_begin', 'date_end', 'public_id', 'readers'] - - def get_context_data(self, **kwargs): - context = super(ConferenceRecordView, self).get_context_data(**kwargs) - context['all_courses'] = get_courses(self.request.user) - context['mime_type'] = 'video/webm' - status = Status() - status.update() - context['host'] = status.ip - context['hidden_fields'] = self.hidden_fields - return context - - def get_success_url(self): - return reverse('teleforma-conference-detail', kwargs={'pk':self.conference.id}) - - def form_valid(self, form): - form.save() - uuid = get_random_hash() - self.conference = form.instance - self.conference.date_begin = datetime.datetime.now() - self.conference.public_id = uuid - self.conference.save() - status = Status() - status.get_hosts() - - stations = settings.TELECASTER_CONF - for station in stations: - type = station['type'] - conf = station['conf'] - port = station['port'] - server_type = station['server_type'] - server, c = StreamingServer.objects.get_or_create(host=status.ip, port=port, type=server_type) - station = Station(conference=self.conference, public_id=uuid) - station.setup(conf) - station.start() - station.save() - stream = LiveStream(conference=self.conference, server=server, - stream_type=type, streaming=True) - stream.save() - if server_type == 'stream-m': - #FIXME: -# self.snapshot(stream.snapshot_url, station.output_dir) - self.snapshot('http://localhost:8080/snapshot/safe', station.output_dir) - - try: - self.push(self.conference) - except: - pass - - return super(ConferenceRecordView, self).form_valid(form) - - def snapshot(self, url, dir): - width = 160 - height = 90 - img = urllib.urlopen(url) - path = dir + os.sep + 'preview.webp' - f = open(path, 'w') - f.write(img.read()) - f.close() - command = '/usr/bin/dwebp ' + path + ' -o ' + dir + os.sep + 'preview.png &' - os.system(command) - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(ConferenceRecordView, self).dispatch(*args, **kwargs) - - @jsonrpc_method('teleforma.create_conference') - def create(request, conference): - if isinstance(conference, dict): - course = Course.objects.get(code=conference['course_code']) - course_type = CourseType.objects.get(name=conference['course_type']) - conf, c = Conference.objects.get_or_create(public_id=conference['id'], - course=course, course_type=course_type) - if c: - conf.session = conference['session'] - user = User.objects.get(username=conference['professor_id']) - conf.professor = Professor.objects.get(user=user) - try: - organization = Organization.objects.get_or_create(name=conference['organization']) - conf.room = Room.objects.get_or_create(name=conference['room'], - organization=organization) - except: - pass - - conf.date_begin = datetime.datetime.now() - conf.save() - course.save() - for stream in conference['streams']: - host = stream['host'] - port = stream['port'] - server_type = stream['server_type'] - stream_type = stream['stream_type'] - site = Site.objects.all() - server, c = StreamingServer.objects.get_or_create(host=site[0], - port=port, - type=server_type) - stream = LiveStream(conference=conf, server=server, - stream_type=stream_type, streaming=True) - stream.save() - else: - raise 'Error : Bad Conference dictionnary' - - def push(self, conference): - url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/' - s = ServiceProxy(url) - s.teleforma.create_conference(conference.to_json_dict()) - - -class UsersView(ListView): - - model = User - template_name='telemeta/users.html' - context_object_name = 'users' - #paginate_by = 12 - - def get_queryset(self): - return User.objects.all().select_related(depth=1).order_by('last_name') - - def get_context_data(self, **kwargs): - context = super(UsersView, self).get_context_data(**kwargs) - context['trainings'] = Training.objects.all() - context['iejs'] = IEJ.objects.all() - context['courses'] = Course.objects.all() - paginator = NamePaginator(self.object_list, on="last_name", per_page=12) - try: - page = int(self.request.GET.get('page', '1')) - except ValueError: - page = 1 - - try: - page = paginator.page(page) - except (InvalidPage): - page = paginator.page(paginator.num_pages) - context['page'] = page - return context - - @method_decorator(permission_required('is_staff')) - def dispatch(self, *args, **kwargs): - return super(UsersView, self).dispatch(*args, **kwargs) - - -class UserLoginView(View): - - def get(self, request, id): - user = User.objects.get(id=id) - backend = get_backends()[0] - user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__) - login(self.request, user) - return redirect('teleforma-desk') - - @method_decorator(permission_required('is_staff')) - def dispatch(self, *args, **kwargs): - return super(UserLoginView, self).dispatch(*args, **kwargs) - - -class UsersTrainingView(UsersView): - - def get_queryset(self): - self.training = Training.objects.filter(id=self.args[0]) - return User.objects.filter(student__training__in=self.training).order_by('last_name') - - def get_context_data(self, **kwargs): - context = super(UsersTrainingView, self).get_context_data(**kwargs) - context['training'] = Training.objects.get(id=self.args[0]) - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(UsersTrainingView, self).dispatch(*args, **kwargs) - -class UsersIejView(UsersView): - - def get_queryset(self): - self.iej = IEJ.objects.filter(id=self.args[0]) - return User.objects.filter(student__iej__in=self.iej).order_by('last_name') - - def get_context_data(self, **kwargs): - context = super(UsersIejView, self).get_context_data(**kwargs) - context['iej'] = IEJ.objects.get(id=self.args[0]) - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(UsersIejView, self).dispatch(*args, **kwargs) - -class UsersCourseView(UsersView): - - def get_queryset(self): - self.course = Course.objects.filter(id=self.args[0]) - return User.objects.filter(student__written_speciality__in=self.course) - - def get_context_data(self, **kwargs): - context = super(UsersCourseView, self).get_context_data(**kwargs) - context['course'] = Course.objects.get(id=self.args[0]) - return context - - @method_decorator(login_required) - def dispatch(self, *args, **kwargs): - return super(UsersCourseView, self).dispatch(*args, **kwargs) - -def get_course_code(obj): - if obj: - return unicode(obj.code) - else: - return '' - -class UsersXLSExport(object): - - first_row = 2 - - def export_user(self, counter, user): - student = Student.objects.filter(user=user) - if student: - student = Student.objects.get(user=user) - row = self.sheet.row(counter + self.first_row) - row.write(0, user.last_name) - row.write(1, user.first_name) - row.write(9, user.email) - row.write(2, unicode(student.iej)) - code = student.training.code - if student.platform_only: - code = 'I - ' + code - row.write(3, unicode(code)) - row.write(4, get_course_code(student.procedure)) - row.write(5, get_course_code(student.written_speciality)) - row.write(6, get_course_code(student.oral_speciality)) - row.write(7, get_course_code(student.oral_1)) - row.write(8, get_course_code(student.oral_2)) - - profile = Profile.objects.filter(user=user) - if profile: - profile = Profile.objects.get(user=user) - row.write(10, profile.address) - row.write(11, profile.postal_code) - row.write(12, profile.city) - row.write(13, profile.telephone) - row.write(14, user.date_joined.strftime("%d/%m/%Y")) - return counter + 1 - else: - return counter - - @method_decorator(permission_required('is_staff')) - def export(self, request): - self.users = self.users.order_by('last_name') - self.book = Workbook() - self.sheet = self.book.add_sheet('Etudiants') - - row = self.sheet.row(0) - cols = [{'name':'NOM', 'width':5000}, - {'name':'PRENOM', 'width':5000}, - {'name':'IEJ', 'width':2500}, - {'name':'FORMATION', 'width':6000}, - {'name':'PROC', 'width':2500}, - {'name':'Ecrit Spe', 'width':3000}, - {'name':'Oral Spe', 'width':3000}, - {'name':'ORAL 1', 'width':3000}, - {'name':'ORAL 2', 'width':3000}, - {'name':'MAIL', 'width':7500}, - {'name':'ADRESSE', 'width':7500}, - {'name':'CP', 'width':2500}, - {'name':'VILLE', 'width':5000}, - {'name':'TEL', 'width':5000}, - {'name':"Date d'inscription", 'width':5000} - ] - i = 0 - for col in cols: - row.write(i, col['name']) - self.sheet.col(i).width = col['width'] - i += 1 - - counter = 0 - for user in self.users: - counter = self.export_user(counter, user) - response = HttpResponse(mimetype="application/vnd.ms-excel") - response['Content-Disposition'] = 'attachment; filename=users.xls' - self.book.save(response) - return response - - @method_decorator(permission_required('is_staff')) - def all(self, request): - self.users = User.objects.all() - return self.export(request) - - @method_decorator(permission_required('is_staff')) - def by_training(self, request, id): - training = Training.objects.filter(id=id) - self.users = User.objects.filter(student__training__in=training) - return self.export(request) - - @method_decorator(permission_required('is_staff')) - def by_iej(self, request, id): - iej = IEJ.objects.filter(id=id) - self.users = User.objects.filter(student__iej__in=iej) - return self.export(request) - - @method_decorator(permission_required('is_staff')) - def by_course(self, request, id): - course = Course.objects.filter(id=id) - self.users = User.objects.filter(student__training__courses__in=course) - return self.export(request) - - -class HelpView(TemplateView): - - template_name='teleforma/help.html' - - def get_context_data(self, **kwargs): - context = super(HelpView, self).get_context_data(**kwargs) - context['page_content'] = pages.get_page_content(self.request, 'help', - ignore_slash_issue=True) - return context - - def dispatch(self, *args, **kwargs): - return super(HelpView, self).dispatch(*args, **kwargs) - - diff --git a/teleforma/views/core.py b/teleforma/views/core.py new file mode 100644 index 00000000..46046022 --- /dev/null +++ b/teleforma/views/core.py @@ -0,0 +1,548 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2011-2012 Parisson SARL + +# This software is a computer program whose purpose is to backup, analyse, +# transcode and stream any audio content with its metadata over a web frontend. + +# This software is governed by the CeCILL license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL +# license as circulated by CEA, CNRS and INRIA at the following URL +# "http://www.cecill.info". + +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. + +# In this respect, the user's attention is drawn to the risks associated +# with loading, using, modifying and/or developing or reproducing the +# software by the user in light of its specific status of free software, +# that may mean that it is complicated to manipulate, and that also +# therefore means that it is reserved for developers and experienced +# professionals having in-depth computer knowledge. Users are therefore +# encouraged to load and test the software's suitability as regards their +# requirements in conditions enabling the security of their systems and/or +# data to be ensured and, more generally, to use and operate it in the +# same conditions as regards security. + +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL license and that you accept its terms. +# +# Authors: Guillaume Pellerin + +import mimetypes +import datetime +import random +import urllib +import urllib2 +import json + +from jsonrpc import jsonrpc_method + +from django.utils.decorators import method_decorator +from django.contrib.auth import authenticate, login, get_backends +from django.template import RequestContext, loader +from django import template +from django.http import HttpResponse, HttpResponseRedirect +from django.http import Http404 +from django.shortcuts import render_to_response, redirect, get_object_or_404 +from django.views.generic import * +from django.views.generic.base import * +from django.conf import settings +from django.contrib import auth +from django.contrib import messages +from django.contrib.auth.decorators import login_required, permission_required +from django.core.context_processors import csrf +from django.forms.models import modelformset_factory, inlineformset_factory +from django.contrib.auth.models import User +from django.utils.translation import ugettext +from django.utils.translation import ugettext_lazy as _ +from django.contrib.auth.forms import UserChangeForm +from django.core.exceptions import ObjectDoesNotExist +from django.contrib.syndication.views import Feed +from django.core.paginator import Paginator +from django.contrib.auth.decorators import login_required +from django.contrib.contenttypes.models import ContentType +from django.views.generic.edit import FormView +from django.core.urlresolvers import reverse, reverse_lazy +from jsonrpc.proxy import ServiceProxy + +from teleforma.models import * +from teleforma.forms import * +from telemeta.views import * +import jqchat.models +from xlwt import Workbook + +try: + from telecaster.models import * + from telecaster.tools import * +except: + pass + + +def render(request, template, data = None, mimetype = None): + return render_to_response(template, data, context_instance=RequestContext(request), + mimetype=mimetype) + +def format_courses(courses, course=None, queryset=None, types=None): + if queryset: + for c in queryset: + if c and c.code != 'X': + courses.append({'course': c, 'types': types.all(), + 'date': c.date_modified, 'number': c.number}) + elif course: + if course.code != 'X': + courses.append({'course': course, 'types': types.all(), + 'date': course.date_modified, 'number': course.number}) + return courses + + +def get_courses(user, date_order=False, num_order=False): + courses = [] + + if not user.is_authenticated(): + return courses + + professor = user.professor.all() + student = user.student.all() + + if professor: + professor = user.professor.get() + courses = format_courses(courses, queryset=professor.courses.all(), + types=CourseType.objects.all()) + + elif student: + student = user.student.get() + s_courses = {student.procedure:student.training.procedure, + student.written_speciality:student.training.written_speciality, + student.oral_speciality:student.training.oral_speciality, + student.oral_1:student.training.oral_1, + student.oral_2:student.training.oral_2, + student.options:student.training.options, + } + + for course in s_courses: + courses = format_courses(courses, course=course, + types=s_courses[course]) + + synthesis_note = student.training.synthesis_note + if synthesis_note: + courses = format_courses(courses, + queryset=Course.objects.filter(synthesis_note=True), + types=synthesis_note) + + obligation = student.training.obligation + if obligation: + courses = format_courses(courses, + queryset=Course.objects.filter(obligation=True), + types=obligation) + + magistral = student.training.magistral + if magistral: + courses = format_courses(courses, + queryset=Course.objects.filter(magistral=True), + types=magistral) + + elif user.is_staff or user.is_superuser: + courses = format_courses(courses, queryset=Course.objects.all(), + types=CourseType.objects) + else: + courses = None + + if date_order: + courses = sorted(courses, key=lambda k: k['date'], reverse=True) + if num_order: + courses = sorted(courses, key=lambda k: k['number']) + + return courses + + +def stream_from_file(__file): + chunk_size = 0x10000 + f = open(__file, 'r') + while True: + __chunk = f.read(chunk_size) + if not len(__chunk): + f.close() + break + yield __chunk + + +def get_room(content_type=None, id=None, name=None): + rooms = jqchat.models.Room.objects.filter(content_type=content_type, + object_id=id) + if not rooms: + room = jqchat.models.Room.objects.create(content_type=content_type, + object_id=id, + name=name[:20]) + else: + room = rooms[0] + return room + + +def get_access(obj, courses): + access = False + for course in courses: + if obj.course == course['course']: + access = True + return access + +access_error = _('Access not allowed.') +contact_message = _('Please login or contact the website administator to get a private access.') + +def get_host(request): + host = request.META['HTTP_HOST'] + if ':' in host: + host = host.split(':')[0] + return host + + +def get_random_hash(): + hash = random.getrandbits(128) + return "%032x" % hash + + +class CourseView(DetailView): + + model = Course + + def get_context_data(self, **kwargs): + context = super(CourseView, self).get_context_data(**kwargs) + course = self.get_object() + all_courses = get_courses(self.request.user, num_order=True) + courses = [] + for c in all_courses: + if c['course'] == course: + courses = format_courses(courses, course=course, types=c['types']) + context['courses'] = courses + context['all_courses'] = all_courses + context['notes'] = course.notes.all().filter(author=self.request.user) + content_type = ContentType.objects.get(app_label="teleforma", model="course") + context['room'] = get_room(name=course.title, content_type=content_type, + id=course.id) + context['doc_types'] = DocumentType.objects.all() + return context + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(CourseView, self).dispatch(*args, **kwargs) + + +class CoursesView(ListView): + + model = Course + template_name='teleforma/courses.html' + + def get_queryset(self): + self.all_courses = get_courses(self.request.user, date_order=True) + return self.all_courses[:10] + + def get_context_data(self, **kwargs): + context = super(CoursesView, self).get_context_data(**kwargs) + context['notes'] = Note.objects.filter(author=self.request.user) + context['room'] = get_room(name='site') + context['doc_types'] = DocumentType.objects.all() + context['all_courses'] = sorted(self.all_courses, key=lambda k: k['number']) + return context + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(CoursesView, self).dispatch(*args, **kwargs) + + +class MediaView(DetailView): + + model = Media + template_name='teleforma/course_media.html' + + def get_context_data(self, **kwargs): + context = super(MediaView, self).get_context_data(**kwargs) + all_courses = get_courses(self.request.user) + context['all_courses'] = all_courses + media = self.get_object() + if not media.mime_type: + media.set_mime_type() + context['mime_type'] = media.mime_type + context['course'] = media.course + context['item'] = media.item + context['type'] = media.course_type + context['notes'] = media.notes.all().filter(author=self.request.user) + content_type = ContentType.objects.get(app_label="teleforma", model="media") + context['room'] = get_room(name=media.item.title, content_type=content_type, + id=media.id) + access = get_access(media, all_courses) + if not access: + context['access_error'] = access_error + context['message'] = contact_message + return context + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(MediaView, self).dispatch(*args, **kwargs) + + def download(self, request, pk): + courses = get_courses(request.user) + media = Media.objects.get(id=pk) + if get_access(media, courses): + path = media.item.file.path + filename, ext = os.path.splitext(path) + filename = filename.split(os.sep)[-1] + fsock = open(media.item.file.path, 'r') + view = ItemView() + mimetype = view.item_analyze(media.item) + extension = mimetypes.guess_extension(mimetype) + if not extension: + extension = ext + response = HttpResponse(fsock, mimetype=mimetype) + + response['Content-Disposition'] = "attachment; filename=%s%s" % \ + (filename.encode('utf8'), extension) + return response + else: + return redirect('teleforma-media-detail', media.id) + + + @jsonrpc_method('teleforma.publish_media') + def publish(request, id): + media = Media.objects.get(id=id) + media.is_published = True + media.save() + + @jsonrpc_method('teleforma.unpublish_media') + def unpublish(request, id): + media = Media.objects.get(id=id) + media.is_published = False + media.save() + + +class DocumentView(DetailView): + + model = Document + template_name='teleforma/course_document.html' + + def get_context_data(self, **kwargs): + context = super(DocumentView, self).get_context_data(**kwargs) + all_courses = get_courses(self.request.user) + context['all_courses'] = all_courses + document = self.get_object() + context['course'] = document.course + context['notes'] = document.notes.all().filter(author=self.request.user) + content_type = ContentType.objects.get(app_label="teleforma", model="document") + context['room'] = get_room(name=document.title, content_type=content_type, + id=document.id) + access = get_access(document, all_courses) + if not access: + context['access_error'] = access_error + context['message'] = contact_message + return context + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(DocumentView, self).dispatch(*args, **kwargs) + + def download(self, request, pk): + courses = get_courses(request.user) + document = Document.objects.get(id=pk) + if get_access(document, courses): + fsock = open(document.file.path, 'r') + mimetype = mimetypes.guess_type(document.file.path)[0] + extension = mimetypes.guess_extension(mimetype) + response = HttpResponse(fsock, mimetype=mimetype) + response['Content-Disposition'] = "attachment; filename=%s%s" % \ + (document.title.encode('utf8'), extension) + return response + else: + return redirect('teleforma-document-detail', document.id) + + def view(self, request, pk): + courses = get_courses(request.user) + document = Document.objects.get(id=pk) + if get_access(document, courses): + fsock = open(document.file.path, 'r') + mimetype = mimetypes.guess_type(document.file.path)[0] + extension = mimetypes.guess_extension(mimetype) + response = HttpResponse(fsock, mimetype=mimetype) + return response + else: + return redirect('teleforma-document-detail', document.id) + + +class ConferenceView(DetailView): + + model = Conference + template_name='teleforma/course_conference.html' + + def get_context_data(self, **kwargs): + context = super(ConferenceView, self).get_context_data(**kwargs) + all_courses = get_courses(self.request.user) + context['all_courses'] = all_courses + conference = self.get_object() + context['course'] = conference.course + context['type'] = conference.course_type + context['notes'] = conference.notes.all().filter(author=self.request.user) + content_type = ContentType.objects.get(app_label="teleforma", model="conference") + context['room'] = get_room(name=conference.course.title, content_type=content_type, + id=conference.id) + context['livestreams'] = conference.livestream.all() + context['host'] = get_host(self.request) + access = get_access(conference, all_courses) + if not access: + context['access_error'] = access_error + context['message'] = contact_message + return context + + @jsonrpc_method('teleforma.stop_conference') + def stop(request, public_id): + conference = Conference.objects.get(public_id=public_id) + conference.date_end = datetime.datetime.now() + conference.save() + for stream in conference.livestream.all(): + stream.delete() + for station in conference.station.all(): + station.started = False + station.save() + station.stop() + if 'telecaster' in settings.INSTALLED_APPS: + try: + url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/' + s = ServiceProxy(url) + s.teleforma.stop_conference(conference.public_id) + except: + pass + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(ConferenceView, self).dispatch(*args, **kwargs) + + +class ConferenceRecordView(FormView): + "Conference record form : TeleCaster module required" + + model = Conference + form_class = ConferenceForm + template_name='teleforma/course_conference_record.html' + hidden_fields = ['started', 'date_begin', 'date_end', 'public_id', 'readers'] + + def get_context_data(self, **kwargs): + context = super(ConferenceRecordView, self).get_context_data(**kwargs) + context['all_courses'] = get_courses(self.request.user) + context['mime_type'] = 'video/webm' + status = Status() + status.update() + context['host'] = status.ip + context['hidden_fields'] = self.hidden_fields + return context + + def get_success_url(self): + return reverse('teleforma-conference-detail', kwargs={'pk':self.conference.id}) + + def form_valid(self, form): + form.save() + uuid = get_random_hash() + self.conference = form.instance + self.conference.date_begin = datetime.datetime.now() + self.conference.public_id = uuid + self.conference.save() + status = Status() + status.get_hosts() + + stations = settings.TELECASTER_CONF + for station in stations: + type = station['type'] + conf = station['conf'] + port = station['port'] + server_type = station['server_type'] + server, c = StreamingServer.objects.get_or_create(host=status.ip, port=port, type=server_type) + station = Station(conference=self.conference, public_id=uuid) + station.setup(conf) + station.start() + station.save() + stream = LiveStream(conference=self.conference, server=server, + stream_type=type, streaming=True) + stream.save() + if server_type == 'stream-m': + #FIXME: +# self.snapshot(stream.snapshot_url, station.output_dir) + self.snapshot('http://localhost:8080/snapshot/safe', station.output_dir) + + try: + self.push(self.conference) + except: + pass + + return super(ConferenceRecordView, self).form_valid(form) + + def snapshot(self, url, dir): + width = 160 + height = 90 + img = urllib.urlopen(url) + path = dir + os.sep + 'preview.webp' + f = open(path, 'w') + f.write(img.read()) + f.close() + command = '/usr/bin/dwebp ' + path + ' -o ' + dir + os.sep + 'preview.png &' + os.system(command) + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(ConferenceRecordView, self).dispatch(*args, **kwargs) + + @jsonrpc_method('teleforma.create_conference') + def create(request, conference): + if isinstance(conference, dict): + course = Course.objects.get(code=conference['course_code']) + course_type = CourseType.objects.get(name=conference['course_type']) + conf, c = Conference.objects.get_or_create(public_id=conference['id'], + course=course, course_type=course_type) + if c: + conf.session = conference['session'] + user = User.objects.get(username=conference['professor_id']) + conf.professor = Professor.objects.get(user=user) + try: + organization = Organization.objects.get_or_create(name=conference['organization']) + conf.room = Room.objects.get_or_create(name=conference['room'], + organization=organization) + except: + pass + + conf.date_begin = datetime.datetime.now() + conf.save() + course.save() + for stream in conference['streams']: + host = stream['host'] + port = stream['port'] + server_type = stream['server_type'] + stream_type = stream['stream_type'] + site = Site.objects.all() + server, c = StreamingServer.objects.get_or_create(host=site[0], + port=port, + type=server_type) + stream = LiveStream(conference=conf, server=server, + stream_type=stream_type, streaming=True) + stream.save() + else: + raise 'Error : Bad Conference dictionnary' + + def push(self, conference): + url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/' + s = ServiceProxy(url) + s.teleforma.create_conference(conference.to_json_dict()) + + + +class HelpView(TemplateView): + + template_name='teleforma/help.html' + + def get_context_data(self, **kwargs): + context = super(HelpView, self).get_context_data(**kwargs) + context['page_content'] = pages.get_page_content(self.request, 'help', + ignore_slash_issue=True) + return context + + def dispatch(self, *args, **kwargs): + return super(HelpView, self).dispatch(*args, **kwargs) + +