]> git.parisson.com Git - teleforma.git/commitdiff
student courses as foreign keys, fix course views
authoryomguy <yomguy@parisson.com>
Wed, 6 Jun 2012 09:09:37 +0000 (11:09 +0200)
committeryomguy <yomguy@parisson.com>
Wed, 6 Jun 2012 09:09:37 +0000 (11:09 +0200)
teleforma/admin.py
teleforma/management/commands/teleforma-import-users-pb.py
teleforma/migrations/0030_auto__add_field_student_procedure__add_field_student_oral_speciality__.py [new file with mode: 0644]
teleforma/models.py
teleforma/views.py

index 57cb78dcac86542ee494210433b553f66f2d0ba8..b9197002df90595dd60e733f23c4eb6c089c0584 100644 (file)
@@ -11,14 +11,9 @@ admin.site.unregister(User)
 
 class StudentProfileInline(admin.StackedInline):
     model = Student
-    filter_horizontal = ['procedure', 'oral_speciality',
-                         'written_speciality', 'oral_1', 'oral_2', 'options']
 
 class StudentAdmin(admin.ModelAdmin):
     model = Student
-    filter_horizontal = ['procedure', 'oral_speciality',
-                         'written_speciality', 'oral_1', 'oral_2', 'options']
-
 class ProfessorProfileInline(admin.StackedInline):
     model = Professor
     filter_horizontal = ['courses']
@@ -36,7 +31,7 @@ class UserProfileAdmin(UserAdmin):
 class TrainingAdmin(admin.ModelAdmin):
     model = Training
     filter_horizontal = ['synthesis_note', 'obligation', 'procedure', 'oral_speciality',
-                         'written_speciality', 'oral_1', 'oral_2', 'magistral_courses']
+                         'written_speciality', 'oral_1', 'oral_2', 'options', 'magistral_courses']
 
 class CourseAdmin(admin.ModelAdmin):
     model = Course
index 50e4339df0b5813f93871261111db987c0ef6830..efb8cf6a920acf31fc786099eef59e3a02ca9487 100644 (file)
@@ -17,54 +17,6 @@ class Command(BaseCommand):
     first_row = 2
     admin_email = 'webmaster@parisson.com'
 
-    opts = {'0': '', '1':'Cours', '2':'Correction', '3':'Cours + Correction'}
-
-    trainings = [{'training':'APPROFONDIE 1',
-                    'synthesis_note':2,
-                    'obligation':3,
-                    'procedure':3,
-                    'written_speciality':2,
-                    'oral_speciality':1},
-                {'training':'APPROFONDIE 2',
-                    'synthesis_note':0,
-                    'obligation':3,
-                    'procedure':3,
-                    'written_speciality':2,
-                    'oral_speciality':1},
-                {'training':'OPT. COURS 1',
-                    'synthesis_note':2,
-                    'obligation':1,
-                    'procedure':1,
-                    'written_speciality':1,
-                    'oral_speciality':1,
-                    'oral_1':1,
-                    'oral_2':1},
-                {'training':'OPT. CORRECTION 1',
-                    'synthesis_note':2,
-                    'obligation':2,
-                    'procedure':2,
-                    'written_speciality':2,
-                    'oral_speciality':1,
-                    'oral_1':1,
-                    'oral_2':1},
-                {'training':'OPT. CORRECTION 2',
-                    'synthesis_note':0,
-                    'obligation':2,
-                    'procedure':2,
-                    'written_speciality':2,
-                    'oral_speciality':1,
-                    'oral_1':1,
-                    'oral_2':1},
-                {'training':'OPT. CORRECTION 3',
-                    'synthesis_note':2,
-                    'obligation':0,
-                    'procedure':0,
-                    'written_speciality':0,
-                    'oral_speciality':1,
-                    'oral_1':1,
-                    'oral_2':1},
-                         ]
-
     def get_courses(self, code):
         courses = Course.objects.filter(code=code)
         if courses:
@@ -77,6 +29,7 @@ class Command(BaseCommand):
         if 'I' in code[0:2]:
             platform_only = True
             code = code[3:]
+            print code
             training = Training.objects.get(code=code)
         else:
             training = Training.objects.get(code=code)
@@ -105,17 +58,17 @@ class Command(BaseCommand):
             student = Student.objects.filter(user=user)
             if not student:
                 student = Student(user=user)
-                student.platform_only, student.training = gat_training(code=row[3].value)
+                student.platform_only, student.training = self.get_training(code=row[3].value)
                 student.period = Period.objects.get(name='Estivale')
                 student.iej, c = IEJ.objects.get_or_create(name=row[2].value)
 
                 student.save()
 
             student.procedure = self.get_courses(row[4].value)
-            student.written_speciality = self.get_course(row[5].value)
-            student.oral_speciality = self.get_course(row[6].value)
-            student.oral_1 = self.get_course(row[7].value)
-            student.oral_2 = self.get_course(row[8].value)
+            student.written_speciality = self.get_courses(row[5].value)
+            student.oral_speciality = self.get_courses(row[6].value)
+            student.oral_1 = self.get_courses(row[7].value)
+            student.oral_2 = self.get_courses(row[8].value)
 
             profile, created = Profile.objects.get_or_create(user=user)
             profile.address = row[10].value
diff --git a/teleforma/migrations/0030_auto__add_field_student_procedure__add_field_student_oral_speciality__.py b/teleforma/migrations/0030_auto__add_field_student_procedure__add_field_student_oral_speciality__.py
new file mode 100644 (file)
index 0000000..d4d893f
--- /dev/null
@@ -0,0 +1,568 @@
+# -*- 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 'Student.procedure'
+        db.add_column('teleforma_student', 'procedure',
+                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='procedure', null=True, to=orm['teleforma.Course']),
+                      keep_default=False)
+
+        # Adding field 'Student.oral_speciality'
+        db.add_column('teleforma_student', 'oral_speciality',
+                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='oral_speciality', null=True, to=orm['teleforma.Course']),
+                      keep_default=False)
+
+        # Adding field 'Student.written_speciality'
+        db.add_column('teleforma_student', 'written_speciality',
+                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='written_speciality', null=True, to=orm['teleforma.Course']),
+                      keep_default=False)
+
+        # Adding field 'Student.oral_1'
+        db.add_column('teleforma_student', 'oral_1',
+                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='oral_1', null=True, to=orm['teleforma.Course']),
+                      keep_default=False)
+
+        # Adding field 'Student.oral_2'
+        db.add_column('teleforma_student', 'oral_2',
+                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='oral_2', null=True, to=orm['teleforma.Course']),
+                      keep_default=False)
+
+        # Adding field 'Student.options'
+        db.add_column('teleforma_student', 'options',
+                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='options', null=True, to=orm['teleforma.Course']),
+                      keep_default=False)
+
+        # Removing M2M table for field oral_2 on 'Student'
+        db.delete_table('teleforma_student_oral_2')
+
+        # Removing M2M table for field oral_1 on 'Student'
+        db.delete_table('teleforma_student_oral_1')
+
+        # Removing M2M table for field oral_speciality on 'Student'
+        db.delete_table('teleforma_student_oral_speciality')
+
+        # Removing M2M table for field written_speciality on 'Student'
+        db.delete_table('teleforma_student_written_speciality')
+
+        # Removing M2M table for field options on 'Student'
+        db.delete_table('teleforma_student_options')
+
+        # Removing M2M table for field procedure on 'Student'
+        db.delete_table('teleforma_student_procedure')
+
+    def backwards(self, orm):
+        # Deleting field 'Student.procedure'
+        db.delete_column('teleforma_student', 'procedure_id')
+
+        # Deleting field 'Student.oral_speciality'
+        db.delete_column('teleforma_student', 'oral_speciality_id')
+
+        # Deleting field 'Student.written_speciality'
+        db.delete_column('teleforma_student', 'written_speciality_id')
+
+        # Deleting field 'Student.oral_1'
+        db.delete_column('teleforma_student', 'oral_1_id')
+
+        # Deleting field 'Student.oral_2'
+        db.delete_column('teleforma_student', 'oral_2_id')
+
+        # Deleting field 'Student.options'
+        db.delete_column('teleforma_student', 'options_id')
+
+        # Adding M2M table for field oral_2 on 'Student'
+        db.create_table('teleforma_student_oral_2', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('student', models.ForeignKey(orm['teleforma.student'], null=False)),
+            ('course', models.ForeignKey(orm['teleforma.course'], null=False))
+        ))
+        db.create_unique('teleforma_student_oral_2', ['student_id', 'course_id'])
+
+        # Adding M2M table for field oral_1 on 'Student'
+        db.create_table('teleforma_student_oral_1', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('student', models.ForeignKey(orm['teleforma.student'], null=False)),
+            ('course', models.ForeignKey(orm['teleforma.course'], null=False))
+        ))
+        db.create_unique('teleforma_student_oral_1', ['student_id', 'course_id'])
+
+        # Adding M2M table for field oral_speciality on 'Student'
+        db.create_table('teleforma_student_oral_speciality', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('student', models.ForeignKey(orm['teleforma.student'], null=False)),
+            ('course', models.ForeignKey(orm['teleforma.course'], null=False))
+        ))
+        db.create_unique('teleforma_student_oral_speciality', ['student_id', 'course_id'])
+
+        # Adding M2M table for field written_speciality on 'Student'
+        db.create_table('teleforma_student_written_speciality', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('student', models.ForeignKey(orm['teleforma.student'], null=False)),
+            ('course', models.ForeignKey(orm['teleforma.course'], null=False))
+        ))
+        db.create_unique('teleforma_student_written_speciality', ['student_id', 'course_id'])
+
+        # Adding M2M table for field options on 'Student'
+        db.create_table('teleforma_student_options', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('student', models.ForeignKey(orm['teleforma.student'], null=False)),
+            ('course', models.ForeignKey(orm['teleforma.course'], null=False))
+        ))
+        db.create_unique('teleforma_student_options', ['student_id', 'course_id'])
+
+        # Adding M2M table for field procedure on 'Student'
+        db.create_table('teleforma_student_procedure', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('student', models.ForeignKey(orm['teleforma.student'], null=False)),
+            ('course', models.ForeignKey(orm['teleforma.course'], null=False))
+        ))
+        db.create_unique('teleforma_student_procedure', ['student_id', 'course_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, 6, 6, 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.conference': {
+            'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'},
+            'comment': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}),
+            'course_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}),
+            'date_begin': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'professor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Professor']"}),
+            'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}),
+            'room': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'to': "orm['teleforma.Room']"}),
+            'session': ('django.db.models.fields.CharField', [], {'default': "'1'", 'max_length': '16'}),
+            'streaming': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'teleforma.course': {
+            'Meta': {'ordering': "['number']", 'object_name': 'Course'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'department': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'obligation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'synthesis_note': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'teleforma.coursetype': {
+            'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'teleforma.department': {
+            'Meta': {'object_name': 'Department'},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"})
+        },
+        'teleforma.document': {
+            'Meta': {'ordering': "['-date_modified']", 'object_name': 'Document'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'conference': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'to': "orm['teleforma.Conference']"}),
+            'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.Course']"}),
+            'course_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.CourseType']"}),
+            'credits': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            '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'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'db_column': "'filename'", 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_annal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'to': "orm['teleforma.DocumentType']"})
+        },
+        'teleforma.documenttype': {
+            'Meta': {'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'teleforma.iej': {
+            'Meta': {'ordering': "['name']", 'object_name': 'IEJ'},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'teleforma.livestream': {
+            'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"},
+            'conference': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'livestream'", 'null': 'True', 'to': "orm['teleforma.Conference']"}),
+            'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.Course']"}),
+            'course_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.CourseType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'server': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}),
+            'stream_type': ('django.db.models.fields.CharField', [], {'max_length': '32'})
+        },
+        'teleforma.media': {
+            'Meta': {'ordering': "['-date_modified']", 'object_name': 'Media'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'conference': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'to': "orm['teleforma.Conference']"}),
+            'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'media'", 'to': "orm['teleforma.Course']"}),
+            'course_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'media'", 'to': "orm['teleforma.CourseType']"}),
+            'credits': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            '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'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_live': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'to': "orm['telemeta.MediaItem']"}),
+            'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'teleforma.organization': {
+            'Meta': {'object_name': 'Organization'},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'teleforma.payment': {
+            'Meta': {'ordering': "['-date_added']", 'object_name': 'Payment'},
+            'amount': ('django.db.models.fields.FloatField', [], {}),
+            'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payment'", 'to': "orm['teleforma.Student']"})
+        },
+        'teleforma.period': {
+            'Meta': {'object_name': 'Period'},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        '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'}),
+            'training': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'to': "orm['teleforma.Training']"}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"})
+        },
+        'teleforma.profile': {
+            'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"},
+            'address': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'expiration_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'init_password': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'language': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"})
+        },
+        'teleforma.room': {
+            'Meta': {'object_name': 'Room'},
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"})
+        },
+        'teleforma.streamingserver': {
+            'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"},
+            'admin_password': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'host': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'port': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
+            'source_password': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '32'})
+        },
+        'teleforma.student': {
+            'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'iej': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.IEJ']"}),
+            'options': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'options'", 'null': 'True', 'to': "orm['teleforma.Course']"}),
+            'oral_1': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'oral_1'", 'null': 'True', 'to': "orm['teleforma.Course']"}),
+            'oral_2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'oral_2'", 'null': 'True', 'to': "orm['teleforma.Course']"}),
+            'oral_speciality': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'oral_speciality'", 'null': 'True', 'to': "orm['teleforma.Course']"}),
+            'period': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Period']"}),
+            'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'procedure': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'procedure'", 'null': 'True', 'to': "orm['teleforma.Course']"}),
+            'training': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Training']"}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}),
+            'written_speciality': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'written_speciality'", 'null': 'True', 'to': "orm['teleforma.Course']"})
+        },
+        'teleforma.training': {
+            'Meta': {'object_name': 'Training'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'magistral_courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_magistral_courses'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}),
+            'name': ('django.db.models.fields.CharField', [], {'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': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'training'", 'null': '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': '100', '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'}),
+            'subject': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Subject']", 'null': 'True', 'blank': 'True'}),
+            'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}),
+            'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', '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.subject': {
+            'Meta': {'ordering': "['value']", 'object_name': 'Subject', 'db_table': "'subject'"},
+            '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
index 9ddfed3c38d0377d7637fc86c81fc38baae613ed..0779f807b1dca8c4fc0226324ce47c4ec89c09da 100755 (executable)
@@ -446,20 +446,20 @@ class Student(Model):
     iej             = ForeignKey('IEJ', related_name='student', verbose_name=_('iej'))
     training        = ForeignKey('Training', related_name='student', verbose_name=_('training'))
     platform_only   = BooleanField(_('platform only'))
-    procedure       = ManyToManyField('Course', related_name="student_procedure",
-                                        verbose_name=_('procedures'),
+    procedure       = ForeignKey('Course', related_name="procedure",
+                                        verbose_name=_('procedure'),
                                         blank=True, null=True)
-    oral_speciality = ManyToManyField('Course', related_name="student_oral_speciality",
-                                        verbose_name=_('oral specialities'),
+    oral_speciality = ForeignKey('Course', related_name="oral_speciality",
+                                        verbose_name=_('oral speciality'),
                                         blank=True, null=True)
-    written_speciality = ManyToManyField('Course', related_name="student_written_speciality",
-                                        verbose_name=_('written specialities'),
+    written_speciality = ForeignKey('Course', related_name="written_speciality",
+                                        verbose_name=_('written speciality'),
                                         blank=True, null=True)
-    oral_1          = ManyToManyField('Course', related_name="student_oral_1", verbose_name=_('oral 1'),
+    oral_1          = ForeignKey('Course', related_name="oral_1", verbose_name=_('oral 1'),
                                         blank=True, null=True)
-    oral_2          = ManyToManyField('Course', related_name="student_oral_2", verbose_name=_('oral 2'),
+    oral_2          = ForeignKey('Course', related_name="oral_2", verbose_name=_('oral 2'),
                                         blank=True, null=True)
-    options         = ManyToManyField('Course', related_name="student_options", verbose_name=_('options'),
+    options          = ForeignKey('Course', related_name="options", verbose_name=_('options'),
                                         blank=True, null=True)
 
     def __unicode__(self):
index f4be28b5aa6fcba6aa3b8d9bef933f3f5e647fa2..4b9192a7cd1c3c7fbd377f6653fab3a67504823c 100755 (executable)
@@ -39,6 +39,12 @@ def render(request, template, data = None, mimetype = None):
     return render_to_response(template, data, context_instance=RequestContext(request),
                               mimetype=mimetype)
 
+def get_course(obj):
+    course = []
+    if obj:
+        course = Course.objects.filter(id=obj.id)
+    return course
+
 def get_courses(user):
     professor = user.professor.all()
     student = user.student.all()
@@ -51,17 +57,17 @@ def get_courses(user):
     elif student:
         student = user.student.get()
 
-        courses =      [{'courses': student.procedure.all(),
+        courses =      [{'courses': get_course(student.procedure),
                         'types':student.training.procedure.all()},
-                        {'courses': student.written_speciality.all(),
+                        {'courses': get_course(student.written_speciality),
                         'types':student.training.written_speciality.all()},
-                        {'courses': student.oral_speciality.all(),
+                        {'courses': get_course(student.oral_speciality),
                         'types':student.training.oral_speciality.all()},
-                        {'courses': student.oral_1.all(),
+                        {'courses': get_course(student.oral_1),
                         'types':student.training.oral_1.all()},
-                        {'courses': student.oral_2.all(),
+                        {'courses': get_course(student.oral_2),
                         'types':student.training.oral_2.all()},
-                        {'courses': student.options.all(),
+                        {'courses': get_course(student.options),
                         'types':student.training.options.all()},
                         ]