From 09ac1fdf755ea8e44efd33be4c7cca09fbd3040d Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Wed, 17 Nov 2021 16:03:45 +0100 Subject: [PATCH] WIP notelemeta --- teleforma/admin.py | 5 +- .../teleforma-cleanup-testimonials.py | 2 - .../commands/teleforma-copy-seminars.py | 2 - .../commands/teleforma-import-conferences.py | 2 - .../teleforma-import-seminar-media-update.py | 2 - .../teleforma-import-seminar-media.py | 2 - .../teleforma-import-seminars-preview.py | 2 - .../teleforma-increase-revision-time.py | 2 - .../teleforma-message-all-seminar-users.py | 2 - .../teleforma-remove-seminars-from-csv.py | 1 - teleforma/middleware.py | 42 -- .../0126_auto__del_field_media_item.py | 496 ++++++++++++++++++ teleforma/static/teleforma/css/teleforma.css | 4 +- teleforma/static/teleforma/js/application.js | 2 +- teleforma/static/teleforma/js/locale.js | 2 +- teleforma/templates/teleforma/answers.html | 5 +- .../templates/teleforma/course_webclass.html | 3 +- .../teleforma/course_webclass_record.html | 1 - teleforma/templates/teleforma/courses.html | 13 - teleforma/urls.py | 4 +- teleforma/utils/unicode.py | 65 +++ teleforma/views/core.py | 1 - teleforma/views/pages.py | 2 +- teleforma/views/pro.py | 2 +- 24 files changed, 573 insertions(+), 91 deletions(-) create mode 100644 teleforma/migrations/0126_auto__del_field_media_item.py create mode 100644 teleforma/utils/unicode.py diff --git a/teleforma/admin.py b/teleforma/admin.py index f230f483..d369db3a 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from telemeta.util.unicode import UnicodeWriter +from teleforma.utils.unicode import UnicodeWriter from teleforma.models import * from teleforma.templatetags.teleforma_tags import fancy_duration_shop_like, fancy_seconds from django.contrib import admin @@ -408,6 +408,3 @@ admin.site.register(Room) admin.site.register(StreamingServer) admin.site.register(LiveStream) - -# TELEMETA -admin.site.register(MediaItemMarker, MediaItemMarkerAdmin) diff --git a/teleforma/management/commands/teleforma-cleanup-testimonials.py b/teleforma/management/commands/teleforma-cleanup-testimonials.py index a288ee8c..af0323cf 100644 --- a/teleforma/management/commands/teleforma-cleanup-testimonials.py +++ b/teleforma/management/commands/teleforma-cleanup-testimonials.py @@ -8,8 +8,6 @@ from django.template.defaultfilters import slugify from django.template.loader import render_to_string from django.core.mail import send_mail, mail_admins from django.utils import translation -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * import logging import datetime diff --git a/teleforma/management/commands/teleforma-copy-seminars.py b/teleforma/management/commands/teleforma-copy-seminars.py index 4d50fdc8..e4af466b 100644 --- a/teleforma/management/commands/teleforma-copy-seminars.py +++ b/teleforma/management/commands/teleforma-copy-seminars.py @@ -9,8 +9,6 @@ from django.template.loader import render_to_string from django.core.mail import send_mail, mail_admins from django.utils import translation from django.core.urlresolvers import reverse -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * import logging import datetime diff --git a/teleforma/management/commands/teleforma-import-conferences.py b/teleforma/management/commands/teleforma-import-conferences.py index 437ba865..f68ed5cb 100644 --- a/teleforma/management/commands/teleforma-import-conferences.py +++ b/teleforma/management/commands/teleforma-import-conferences.py @@ -3,8 +3,6 @@ from django.conf import settings from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import User from django.template.defaultfilters import slugify -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * import logging import os diff --git a/teleforma/management/commands/teleforma-import-seminar-media-update.py b/teleforma/management/commands/teleforma-import-seminar-media-update.py index ddb0dd18..62087e6d 100644 --- a/teleforma/management/commands/teleforma-import-seminar-media-update.py +++ b/teleforma/management/commands/teleforma-import-seminar-media-update.py @@ -3,8 +3,6 @@ from django.conf import settings from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import User from django.template.defaultfilters import slugify -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * from django.core.urlresolvers import reverse diff --git a/teleforma/management/commands/teleforma-import-seminar-media.py b/teleforma/management/commands/teleforma-import-seminar-media.py index de5c31e0..a6d75cab 100644 --- a/teleforma/management/commands/teleforma-import-seminar-media.py +++ b/teleforma/management/commands/teleforma-import-seminar-media.py @@ -3,8 +3,6 @@ from django.conf import settings from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import User from django.template.defaultfilters import slugify -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * from django.core.urlresolvers import reverse diff --git a/teleforma/management/commands/teleforma-import-seminars-preview.py b/teleforma/management/commands/teleforma-import-seminars-preview.py index 58790c6a..9781d311 100644 --- a/teleforma/management/commands/teleforma-import-seminars-preview.py +++ b/teleforma/management/commands/teleforma-import-seminars-preview.py @@ -3,8 +3,6 @@ from django.conf import settings from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import User from django.template.defaultfilters import slugify -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * from django.core.urlresolvers import reverse diff --git a/teleforma/management/commands/teleforma-increase-revision-time.py b/teleforma/management/commands/teleforma-increase-revision-time.py index b313bd59..28ee6d21 100644 --- a/teleforma/management/commands/teleforma-increase-revision-time.py +++ b/teleforma/management/commands/teleforma-increase-revision-time.py @@ -8,8 +8,6 @@ from django.template.defaultfilters import slugify from django.template.loader import render_to_string from django.core.mail import send_mail, mail_admins from django.utils import translation -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * from teleforma.views import * import logging diff --git a/teleforma/management/commands/teleforma-message-all-seminar-users.py b/teleforma/management/commands/teleforma-message-all-seminar-users.py index c33a1fb8..c299d881 100644 --- a/teleforma/management/commands/teleforma-message-all-seminar-users.py +++ b/teleforma/management/commands/teleforma-message-all-seminar-users.py @@ -10,8 +10,6 @@ from django.core.mail import send_mail, mail_admins from django.utils import translation from teleforma.views.pro import get_seminar_delta -from telemeta.models import * -from telemeta.util.unaccent import unaccent from teleforma.models import * import logging import datetime diff --git a/teleforma/management/commands/teleforma-remove-seminars-from-csv.py b/teleforma/management/commands/teleforma-remove-seminars-from-csv.py index ab072c3a..4f4454a1 100644 --- a/teleforma/management/commands/teleforma-remove-seminars-from-csv.py +++ b/teleforma/management/commands/teleforma-remove-seminars-from-csv.py @@ -3,7 +3,6 @@ from optparse import make_option from django.conf import settings from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import User -from telemeta.models import * from teleforma.models import * import datetime import csv diff --git a/teleforma/middleware.py b/teleforma/middleware.py index 628eff30..e69de29b 100644 --- a/teleforma/middleware.py +++ b/teleforma/middleware.py @@ -1,42 +0,0 @@ -from telemeta.models.system import * -from teleforma.models import * - - -class OnlyOneUser(object): - - def process_request(self, request): - if not request.user.is_anonymous(): - profile = UserProfile.objects.get(user=request.user) - cur_session_key = profile.last_session_key - if cur_session_key and cur_session_key != request.session.session_key: - sessions = Session.objects.filter(session_key=cur_session_key) - if sessions: - for session in sessions: - Session.objects.get(session_key=cur_session_key).delete() - #the following can be optimized(do not save each time if value not changed) - profile.session_key = request.session.session_key - profile.save() - - -class ItemExportSecurity(object): - - def process_view(self, request, ItemView.item_export, *args, **kwargs): - id = args[0] - ext = args[1] - item = MediaItem.objects.get(public_id=id) - student = request.user.student.all() - if student: - courses = request.user.student.get().training.courses.all() - media = item.media.all() - if media: - media_courses = media.course.all() - for course in media_courses: - if not course in courses: - return 404 - else: - return None - else: - return None - else: - return None - diff --git a/teleforma/migrations/0126_auto__del_field_media_item.py b/teleforma/migrations/0126_auto__del_field_media_item.py new file mode 100644 index 00000000..16b2f44e --- /dev/null +++ b/teleforma/migrations/0126_auto__del_field_media_item.py @@ -0,0 +1,496 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as 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 'Media.item' + db.delete_column('teleforma_media', 'item_id') + + + def backwards(self, orm): + # Adding field 'Media.item' + db.add_column('teleforma_media', 'item', + self.gf('django.db.models.fields.related.ForeignKey')(related_name='media', null=True, to=orm['telemeta.MediaItem'], blank=True), + keep_default=False) + + + 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'}) + }, + 'quiz.category': { + 'Meta': {'object_name': 'Category'}, + 'category': ('django.db.models.fields.CharField', [], {'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'quiz.quiz': { + 'Meta': {'object_name': 'Quiz'}, + 'answers_at_end': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['quiz.Category']", 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'draft': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'exam_paper': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'fail_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'max_questions': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'pass_mark': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'blank': 'True'}), + 'random_order': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'single_attempt': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'success_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '60'}), + 'url': ('django.db.models.fields.SlugField', [], {'max_length': '60'}) + }, + 'teleforma.aestudent': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'AEStudent', 'db_table': "'teleforma_ae_student'"}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'ae_student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'ae_student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ae_student'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.appointment': { + 'Meta': {'unique_together': "(('slot', 'jury', 'slot_nb'),)", 'object_name': 'Appointment'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'jury': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'appointments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.AppointmentJury']"}), + 'slot': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'appointments'", 'to': "orm['teleforma.AppointmentSlot']"}), + 'slot_nb': ('django.db.models.fields.IntegerField', [], {}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'appointments'", 'to': "orm['auth.User']"}) + }, + 'teleforma.appointmentjury': { + 'Meta': {'ordering': "('id',)", 'object_name': 'AppointmentJury', 'db_table': "'teleforma_appointment_jury'"}, + 'address': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'slot': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jurys'", 'null': 'True', 'to': "orm['teleforma.AppointmentSlot']"}) + }, + 'teleforma.appointmentperiod': { + 'Meta': {'ordering': "('id',)", 'object_name': 'AppointmentPeriod', 'db_table': "'teleforma_appointment_period'"}, + 'appointment_mail_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'appointment_slot_size': ('django.db.models.fields.IntegerField', [], {'default': '40'}), + 'book_delay': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'cancel_delay': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'enable_appointment': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'end': ('django.db.models.fields.DateField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'appointment_periods'", 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'start': ('django.db.models.fields.DateField', [], {}) + }, + 'teleforma.appointmentslot': { + 'Meta': {'ordering': "('id',)", 'object_name': 'AppointmentSlot', 'db_table': "'teleforma_appointment_slot'"}, + 'appointment_period': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'slots'", 'null': 'True', 'to': "orm['teleforma.AppointmentPeriod']"}), + 'date': ('django.db.models.fields.DateField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nb': ('django.db.models.fields.IntegerField', [], {}), + 'start': ('django.db.models.fields.TimeField', [], {}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + 'comment': ('teleforma.fields.ShortTextField', [], {'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'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Department']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'professor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Professor']"}), + 'public_id': ('django.db.models.fields.CharField', [], {'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': ('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'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'streaming': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'web_class_group': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conferences'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.WebClassGroup']"}) + }, + 'teleforma.corrector': { + 'Meta': {'ordering': "['user__last_name', '-date_registered']", 'object_name': 'Corrector'}, + 'date_registered': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'pay_status': ('django.db.models.fields.CharField', [], {'default': "'honoraire'", 'max_length': '64', 'null': 'True', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'corrector'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'corrector'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + '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', 'null': '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'}), + 'has_exam_scripts': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_professor_sent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Professor']", 'null': 'True', 'blank': 'True'}), + 'magistral': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'obligation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'oral_1': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'oral_2': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'oral_speciality': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'courses'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'procedure': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'quiz': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['quiz.Quiz']", 'null': 'True', 'blank': 'True'}), + 'synthesis_note': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title_tweeter': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'written_speciality': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.coursegroup': { + 'Meta': {'object_name': 'CourseGroup', 'db_table': "'teleforma_course_group'"}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'course_groups'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('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'}, + 'default_period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'departments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'domain': ('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.discount': { + 'Meta': {'object_name': 'Discount', 'db_table': "'teleforma_discounts'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'discounts'", 'to': "orm['teleforma.Student']"}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, + 'annal_year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + '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', 'on_delete': 'models.SET_NULL', '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.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'document'", 'blank': 'True', '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', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.IEJ']"}), + 'is_annal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'documents'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'session': ('django.db.models.fields.CharField', [], {'default': "'1'", 'max_length': '16'}), + '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']"}), + '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': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'credits': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document_simple'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document_simple'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'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': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'for_corrector': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'teleforma.groupedmessage': { + 'Meta': {'object_name': 'GroupedMessage', 'db_table': "'teleforma_grouped_messages'"}, + 'date_sent': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'group': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'grouped_messages'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.StudentGroup']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'message': ('django.db.models.fields.TextField', [], {}), + 'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'grouped_messages'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'sent': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'subject': ('django.db.models.fields.CharField', [], {'max_length': '119'}), + 'to_send': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.home': { + 'Meta': {'object_name': 'Home'}, + 'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'auto_now': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'home_texts'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'text': ('tinymce.models.HTMLField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'default': '"Page d\'accueil"', 'max_length': '255'}), + 'video': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Media']", 'null': 'True', 'blank': 'True'}) + }, + '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', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Conference']"}), + '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'}), + 'streaming': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified', '-conference__session']", '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', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Conference']"}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', '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', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'poster_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255', 'null': 'True'}), + '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'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.mediatranscoded': { + 'Meta': {'object_name': 'MediaTranscoded', 'db_table': "'teleforma_media_transcoded'"}, + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'transcoded'", 'to': "orm['teleforma.Media']"}), + 'mimetype': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'teleforma.newsitem': { + 'Meta': {'object_name': 'NewsItem'}, + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'newsitems'", 'to': "orm['teleforma.Course']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'creator': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'newsitems'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'newsitems'", 'null': 'True', 'to': "orm['teleforma.Period']"}), + 'text': ('tinymce.models.HTMLField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.optionalfee': { + 'Meta': {'object_name': 'OptionalFee', 'db_table': "'teleforma_optional_fees'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'optional_fees'", 'to': "orm['teleforma.Student']"}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + '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.parameters': { + 'Meta': {'object_name': 'Parameters'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'inscription_text': ('tinymce.models.HTMLField', [], {'blank': 'True'}) + }, + 'teleforma.payback': { + 'Meta': {'object_name': 'Payback', 'db_table': "'teleforma_paybacks'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'paybacks'", 'to': "orm['teleforma.Student']"}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.payment': { + 'Meta': {'ordering': "['scheduled', 'month']", 'object_name': 'Payment', 'db_table': "'teleforma_payments'"}, + 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'month': ('django.db.models.fields.IntegerField', [], {'default': '1', 'null': 'True', 'blank': 'True'}), + 'online_paid': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'scheduled': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payments'", 'to': "orm['teleforma.Student']"}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'online'", 'max_length': '64'}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.period': { + 'Meta': {'ordering': "['name']", 'object_name': 'Period'}, + 'date_begin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_close_accounts': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_exam_end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_inscription_end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_inscription_start': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_password_init': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'period'", 'null': 'True', 'to': "orm['teleforma.Department']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_open': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'message_local': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'message_platform': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nb_script': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['teleforma.Period']"}) + }, + 'teleforma.professor': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Department']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + '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.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'address_detail': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'birthday': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'birthday_place': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', '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'}), + 'ss_number': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', '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']"}), + 'wifi_login': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'wifi_pass': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + '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', '-date_subscribed']", 'object_name': 'Student'}, + 'application_fees': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'balance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'balance_intermediary': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'confirmation_sent': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'date_registered': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_subscribed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'fascicule': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.IEJ']"}), + 'is_subscribed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'level': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'options': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'options_students'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_1': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'oral_1_students'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'oral_2_students'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_speciality': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'oral_speciality_students'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'payment_schedule': ('django.db.models.fields.CharField', [], {'default': "'split'", 'max_length': '64', 'null': 'True', 'blank': 'True'}), + 'payment_type': ('django.db.models.fields.CharField', [], {'default': "'online'", 'max_length': '64', 'null': 'True', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'portrait': ('django.db.models.fields.files.ImageField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'procedure': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'procedure_students'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'promo_code': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'receipt_id': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'subscription_fees': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'training': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'student_training'", 'null': 'True', 'to': "orm['teleforma.Training']"}), + 'trainings': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student_trainings'", 'null': 'True', 'symmetrical': 'False', '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_2students'", 'null': 'True', 'to': "orm['teleforma.Course']"}) + }, + 'teleforma.studentgroup': { + 'Meta': {'object_name': 'StudentGroup', 'db_table': "'teleforma_student_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'students': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'groups'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Student']"}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'cost_elearning_fascicle': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'cost_elearning_nofascicle': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}), + 'duration': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + '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': ('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']"}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['teleforma.Training']"}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'training'", 'null': 'True', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + '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']"}) + }, + 'teleforma.webclassgroup': { + 'Meta': {'ordering': "['name']", 'object_name': 'WebClassGroup'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iejs': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'web_class_group'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.IEJ']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/static/teleforma/css/teleforma.css b/teleforma/static/teleforma/css/teleforma.css index 7b4d6eb5..2d3520f0 100644 --- a/teleforma/static/teleforma/css/teleforma.css +++ b/teleforma/static/teleforma/css/teleforma.css @@ -519,7 +519,7 @@ form.login .submit { /* Main navigation bar (borrowed from Trac) */ #menu { background-color: #000000 ; - background:no-repeat url(/static/telemeta/images/tw_hd.png) 0 0; + background:no-repeat url(/static/teleforma/images/tw_hd.png) 0 0; background-color:#ebebeb; background-repeat:repeat; font: normal verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif; @@ -615,7 +615,7 @@ color:#FFF; width: 100%; float:left; border-bottom:0px solid #fff; - background: repeat-x url(/static/telemeta/images/tw_hd.png) 0 0; + background: repeat-x url(/static/teleforma/images/tw_hd.png) 0 0; background-color:#ebebeb; background-repeat:repeat; } diff --git a/teleforma/static/teleforma/js/application.js b/teleforma/static/teleforma/js/application.js index 4287d43d..c48b729f 100644 --- a/teleforma/static/teleforma/js/application.js +++ b/teleforma/static/teleforma/js/application.js @@ -227,7 +227,7 @@ function setSelectedMenu(){ * If dictionary or array, it must contain only the above mentioned recognized types. * So, eg, {[" a string"]} is fine, {[/asd/]} not * - * method: the json method, eg "telemeta.update_marker". See base.py + * method: the json method, eg "teleforma.update_marker". See base.py * * onSuccesFcn(data, textStatus, jqXHR) OPTIONAL --IF MISSING, NOTHING HAPPENS -- * A function to be called if the request succeeds with the same syntax of jQuery's ajax onSuccess function. diff --git a/teleforma/static/teleforma/js/locale.js b/teleforma/static/teleforma/js/locale.js index 3f737535..75557d21 100644 --- a/teleforma/static/teleforma/js/locale.js +++ b/teleforma/static/teleforma/js/locale.js @@ -44,7 +44,7 @@ function gettrans(str){ */ /** - * Class for managing translations in telemeta. + * Class for managing translations in teleforma. */ diff --git a/teleforma/templates/teleforma/answers.html b/teleforma/templates/teleforma/answers.html index 7a96c652..a07a3047 100644 --- a/teleforma/templates/teleforma/answers.html +++ b/teleforma/templates/teleforma/answers.html @@ -1,6 +1,5 @@ -{% extends "telemeta/base.html" %} +{% extends "teleforma/base.html" %} {% load i18n %} -{% load telemeta_utils %} {% load teleforma_tags %} {% block head_title %}{% trans "Answers" %} - {{ block.super }}{% endblock %} @@ -36,7 +35,7 @@ var answerUtils = { {% block modules %}
-

playlists{% trans "Answers" %}

+

playlists{% trans "Answers" %}

    {% block courses %} diff --git a/teleforma/templates/teleforma/course_webclass.html b/teleforma/templates/teleforma/course_webclass.html index a7c352a4..9aa46d33 100644 --- a/teleforma/templates/teleforma/course_webclass.html +++ b/teleforma/templates/teleforma/course_webclass.html @@ -1,5 +1,4 @@ {% extends "teleforma/course_media.html" %} -{% load telemeta_utils %} {% load teleforma_tags %} {% load i18n %} @@ -79,7 +78,7 @@
    Niveau
    {{ conference.level }}
    {% trans "Professor" %}
    -
    {{ conference.professor }}
    {% endif %} {% if conference.comment %}
    {% trans "Comment" %}
    diff --git a/teleforma/templates/teleforma/course_webclass_record.html b/teleforma/templates/teleforma/course_webclass_record.html index e9960a3f..20b6399a 100644 --- a/teleforma/templates/teleforma/course_webclass_record.html +++ b/teleforma/templates/teleforma/course_webclass_record.html @@ -1,5 +1,4 @@ {% extends "teleforma/base.html" %} -{% load telemeta_utils %} {% load teleforma_tags %} {% load i18n %} diff --git a/teleforma/templates/teleforma/courses.html b/teleforma/templates/teleforma/courses.html index dfe40c6c..baca5419 100644 --- a/teleforma/templates/teleforma/courses.html +++ b/teleforma/templates/teleforma/courses.html @@ -43,19 +43,6 @@ $(document).ready(function(){ {% endblock module-action %} {% block notes %} - {% endblock notes %}
diff --git a/teleforma/urls.py b/teleforma/urls.py index 82b9bd0e..6054af01 100644 --- a/teleforma/urls.py +++ b/teleforma/urls.py @@ -55,8 +55,8 @@ media_transcoded = MediaTranscodedView urlpatterns = patterns('', # login / logout - url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'teleforma/login.html'}, - name="telemeta-login"), + url(r'^loginteleforma 'django.contrib.auth.views.login', {'template_name': 'teleforma/login.html'}, + name="teleforma-login"), url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'registration/login.html'}, name="teleforma-login"), url(r'^logout/$', 'django.contrib.auth.views.logout', name="teleforma-logout"), diff --git a/teleforma/utils/unicode.py b/teleforma/utils/unicode.py new file mode 100644 index 00000000..f935f740 --- /dev/null +++ b/teleforma/utils/unicode.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 jdunck +# Copyright (C) 2011 Parisson + +# 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. +# +# Author: jdunck +# taken from https://github.com/jdunck/python-unicodecsv.git + +import csv, codecs, cStringIO + +def _stringify(s, encoding): + if type(s)==unicode: + return s.encode(encoding) + elif isinstance(s, (int , float)): + pass #let csv.QUOTE_NONNUMERIC do its thing. + elif type(s) != str: + s=str(s) + return s + +def _stringify_list(l, encoding): + return [_stringify(s, encoding) for s in l] + + +class UnicodeWriter(object): + def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): + self.writer = csv.writer(f) + self.dialect = dialect + self.encoding = encoding + self.writer = csv.writer(f, dialect=dialect, **kwds) + + def writerow(self, row): + self.writer.writerow(_stringify_list(row, self.encoding)) + + def writerows(self, rows): + for row in rows: + self.writerow(row) diff --git a/teleforma/views/core.py b/teleforma/views/core.py index de57004c..48b93d56 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -80,7 +80,6 @@ from jsonrpc.proxy import ServiceProxy from teleforma.models import * from teleforma.forms import * -from telemeta.views import * from teleforma.context_processors import * import pages import jqchat.models diff --git a/teleforma/views/pages.py b/teleforma/views/pages.py index f805f5bd..a3609a99 100644 --- a/teleforma/views/pages.py +++ b/teleforma/views/pages.py @@ -103,7 +103,7 @@ def resolve_page_file(root, relative_path, ignore_slash_issue=False): def get_page_content(request, relative_path, ignore_slash_issue=False): lang = language_code(request) - userroot = os.path.join(project_dir(), 'telemeta-pages') + userroot = os.path.join(project_dir(), 'teleforma-pages') rootlist = [os.path.join(userroot, lang), os.path.join(userroot, 'default'), os.path.join(PAGES_ROOT, lang), os.path.join(PAGES_ROOT, 'default')] for root in rootlist: diff --git a/teleforma/views/pro.py b/teleforma/views/pro.py index a283dcbf..93b170cd 100644 --- a/teleforma/views/pro.py +++ b/teleforma/views/pro.py @@ -37,7 +37,7 @@ from teleforma.views.core import * from teleforma.context_processors import * from django.core.exceptions import PermissionDenied -from telemeta.util.unicode import UnicodeWriter +from teleforma.utils.unicode import UnicodeWriter from django.utils.translation import ugettext_lazy as _ from django.template import loader, Context, RequestContext -- 2.39.5