app_label = 'teleforma'
+n_sessions = 21
+session_choices = [(str(x), str(y)) for x in range(1, n_sessions) for y in range(1, n_sessions) if x == y]
+
class Organization(Model):
db_table = app_label + '_' + 'department'
-class Conference(Model):
- title = CharField(_('title'), max_length=255)
+class Category(Model):
+
+ name = CharField(_('name'), max_length=255)
description = CharField(_('description'), max_length=255, blank=True)
def __str__(self):
- return self.title
+ return self.name
class Meta:
- db_table = app_label + '_' + 'conference'
+ db_table = app_label + '_' + 'category'
+
+
+
+class Course(Model):
+
+ public_id = CharField(_('public_id'), max_length=255)
+ department = ForeignKey('Department', related_name='course', verbose_name='department')
+ title = CharField(_('title'), max_length=255)
+ description = CharField(_('description'), max_length=255, blank=True)
+ category = ForeignKey('Category', related_name='student', verbose_name='category')
+
+ class Meta:
+ db_table = app_label + '_' + 'course'
class Professor(Model):
user = ForeignKey('User', related_name='professor', verbose_name='user')
+ courses = ManyToManyField('Course', related_name="student", verbose_name=_('course'),
+ blank=True, null=True)
def __str__(self):
return self.user.username
db_table = app_label + '_' + 'professor'
+class Conference(Model):
-class IEJ(Model):
-
- name = CharField(_('name'), max_length=255)
+ title = CharField(_('title'), max_length=255)
description = CharField(_('description'), max_length=255, blank=True)
+ professor = ForeignKey('Professor', related_name='course', verbose_name='professor')
+ course = ForeignKey('Course', related_name='document', verbose_name='course')
+ session = CharField(_('session'), choices=session_choices,
+ max_length=16, default="1")
def __str__(self):
- return self.name
+ return self.title
class Meta:
- db_table = app_label + '_' + 'iej'
+ db_table = app_label + '_' + 'conference'
-class Category(Model):
+class IEJ(Model):
name = CharField(_('name'), max_length=255)
description = CharField(_('description'), max_length=255, blank=True)
return self.name
class Meta:
- db_table = app_label + '_' + 'category'
-
-
-
-class Course(Model):
-
- public_id = CharField(_('public_id'), max_length=255)
- department = ForeignKey('Department', related_name='course', verbose_name='department')
- title = CharField(_('title'), max_length=255)
- description = CharField(_('description'), max_length=255, blank=True)
- session = CharField(_('session'), max_length=255, blank=True)
- professor = ForeignKey('Professor', related_name='course', verbose_name='professor')
-
- class Meta:
- db_table = app_label + '_' + 'course'
+ db_table = app_label + '_' + 'iej'
class Student(Model):
db_table = app_label + '_' + 'student'
+class MediaBaseResource(Model):
+ "Describe a media base resource"
+
+ title = CharField(_('title'), required=True)
+ description = CharField(_('description'))
+ mime_type = CharField(_('mime_type'), null=True)
+ credits = CharField(_('credits'))
+ is_published = BooleanField(_('published'))
+ date_added = DateTimeField(_('date added'), auto_now_add=True)
+ date_modified = DateTimeField(_('date modified'), auto_now=True)
+
+ def __unicode__(self):
+ return self.code
+
+ @property
+ def public_id(self):
+ return self.code
-class Document(Model):
+ def get_fields(self):
+ return self._meta.fields
+
+ class Meta(MetaCore):
+ abstract = True
+ ordering = ['code']
+
+
+class Document(MediaBaseResource):
element_type = 'document'
+ code = CharField(_('code'))
course = ForeignKey('Course', related_name='document', verbose_name='course')
- title = CharField(_('title'))
- date = DateTimeField(_('date'), auto_now=True)
- description = TextField(_('description'))
- mime_type = CharField(_('mime_type'), null=True)
- url = CharField(_('url'), max_length=500)
- credits = CharField(_('credits'))
file = FileField(_('file'), upload_to='items/%Y/%m/%d', db_column="filename")
- is_published = BooleanField(_('published'))
def is_image(self):
is_url_image = False
db_table = app_label + '_' + 'document'
-
-class Media(Model):
+class Media(MediaBaseResource):
element_type = 'media'
course = ForeignKey('Course', related_name='media', verbose_name='course')
- date = DateTimeField(_('date'), auto_now=True)
- url = CharField(_('url'), max_length=500)
item = ForeignKey('MediaItem', related_name='media', verbose_name='item')
- is_published = BooleanField(_('published'))
class Meta:
db_table = app_label + '_' + 'media'
)
return super(ShortTextField, self).formfield(**kwargs)
-add_introspection_rules([], ["^telecaster\.models\.ShortTextField"])
+add_introspection_rules([], ["^teleforma\.models\.ShortTextField"])