From c6cfe43571f75ca13aaa81af28ae59a409affb5b Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 19 Dec 2013 13:45:21 +0100 Subject: [PATCH] add jqchat as notes on enumerations and instruments --- setup.py | 4 +- ...period_access__add_field_mediacollectio.py | 546 ++++++++++++++++++ telemeta/models/enum.py | 2 +- telemeta/static/telemeta/css/telemeta.css | 29 + telemeta/templates/telemeta/admin.html | 4 +- .../templates/telemeta/enumeration_edit.html | 2 +- .../telemeta/enumeration_edit_value.html | 20 + .../templates/telemeta/inc/chat_room.html | 19 + .../telemeta/instrument_edit_value.html | 19 + telemeta/urls.py | 2 + telemeta/views/admin.py | 7 +- telemeta/views/core.py | 14 + telemeta/views/instrument.py | 12 +- 13 files changed, 670 insertions(+), 10 deletions(-) create mode 100644 telemeta/migrations/0027_auto__add_field_mediaitem_auto_period_access__add_field_mediacollectio.py create mode 100644 telemeta/templates/telemeta/inc/chat_room.html diff --git a/setup.py b/setup.py index ca155e6f..0ad7ad4a 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,9 @@ setup( 'sorl-thumbnail', 'django-extensions', 'docutils', - 'django-notes', + 'django-timezones', + 'django-jqchat', + 'timeside', ], platforms=['OS Independent'], license='CeCILL v2', diff --git a/telemeta/migrations/0027_auto__add_field_mediaitem_auto_period_access__add_field_mediacollectio.py b/telemeta/migrations/0027_auto__add_field_mediaitem_auto_period_access__add_field_mediacollectio.py new file mode 100644 index 00000000..6b2b15ea --- /dev/null +++ b/telemeta/migrations/0027_auto__add_field_mediaitem_auto_period_access__add_field_mediacollectio.py @@ -0,0 +1,546 @@ +# -*- 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 'MediaItem.auto_period_access' + db.add_column('media_items', 'auto_period_access', + self.gf('telemeta.models.core.BooleanField')(default=True), + keep_default=False) + + # Adding field 'MediaCollection.auto_period_access' + db.add_column('media_collections', 'auto_period_access', + self.gf('telemeta.models.core.BooleanField')(default=True), + keep_default=False) + + def backwards(self, orm): + # Deleting field 'MediaItem.auto_period_access' + db.delete_column('media_items', 'auto_period_access') + + # Deleting field 'MediaCollection.auto_period_access' + db.delete_column('media_collections', 'auto_period_access') + + 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'}) + }, + '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.contextkeyword': { + 'Meta': {'ordering': "['value']", 'object_name': 'ContextKeyword', 'db_table': "'context_keywords'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.criteria': { + 'Meta': {'object_name': 'Criteria', 'db_table': "'search_criteria'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'value': ('telemeta.models.core.CharField', [], {'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.ethnicgroupalias': { + 'Meta': {'ordering': "['ethnic_group__value']", 'unique_together': "(('ethnic_group', 'value'),)", 'object_name': 'EthnicGroupAlias', 'db_table': "'ethnic_group_aliases'"}, + 'ethnic_group': ('telemeta.models.core.ForeignKey', [], {'related_name': "'aliases'", 'to': "orm['telemeta.EthnicGroup']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.format': { + 'Meta': {'object_name': 'Format', 'db_table': "'media_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'format'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.MediaItem']", 'blank': 'True', 'null': 'True'}), + 'original_audio_quality': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'original_channels': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'format'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.NumberOfChannels']"}), + 'original_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'original_comments': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'original_location': ('telemeta.models.core.ForeignKey', [], {'related_name': "'format'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Location']", 'blank': 'True', 'null': 'True'}), + 'original_number': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'original_state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'original_status': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'format'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'recording_system': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'sticker_presence': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'tape_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'tape_speed': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'format'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.TapeSpeed']"}), + 'tape_thickness': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'tape_vendor': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'format'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.TapeVendor']"}), + 'tape_wheel_diameter': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'format'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.TapeWheelDiameter']"}) + }, + '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.instrument': { + 'Meta': {'object_name': 'Instrument', 'db_table': "'instruments'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.instrumentalias': { + 'Meta': {'object_name': 'InstrumentAlias', 'db_table': "'instrument_aliases'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.instrumentaliasrelation': { + 'Meta': {'unique_together': "(('alias', 'instrument'),)", 'object_name': 'InstrumentAliasRelation', 'db_table': "'instrument_alias_relations'"}, + 'alias': ('telemeta.models.core.ForeignKey', [], {'related_name': "'other_name'", 'to': "orm['telemeta.InstrumentAlias']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'instrument': ('telemeta.models.core.ForeignKey', [], {'related_name': "'relation'", 'to': "orm['telemeta.InstrumentAlias']"}) + }, + 'telemeta.instrumentrelation': { + 'Meta': {'unique_together': "(('instrument', 'parent_instrument'),)", 'object_name': 'InstrumentRelation', 'db_table': "'instrument_relations'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'instrument': ('telemeta.models.core.ForeignKey', [], {'related_name': "'parent_relation'", 'to': "orm['telemeta.Instrument']"}), + 'parent_instrument': ('telemeta.models.core.ForeignKey', [], {'related_name': "'child_relation'", 'to': "orm['telemeta.Instrument']"}) + }, + '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.locationalias': { + 'Meta': {'ordering': "['alias']", 'unique_together': "(('location', 'alias'),)", 'object_name': 'LocationAlias', 'db_table': "'location_aliases'"}, + 'alias': ('telemeta.models.core.CharField', [], {'max_length': '150'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'location': ('telemeta.models.core.ForeignKey', [], {'related_name': "'aliases'", 'to': "orm['telemeta.Location']"}) + }, + 'telemeta.locationrelation': { + 'Meta': {'ordering': "['ancestor_location__name']", 'unique_together': "(('location', 'ancestor_location'),)", 'object_name': 'LocationRelation', 'db_table': "'location_relations'"}, + 'ancestor_location': ('telemeta.models.core.ForeignKey', [], {'related_name': "'descendant_relations'", 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'is_direct': ('telemeta.models.core.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'location': ('telemeta.models.core.ForeignKey', [], {'related_name': "'ancestor_relations'", 'to': "orm['telemeta.Location']"}) + }, + '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'}), + 'auto_period_access': ('telemeta.models.core.BooleanField', [], {'default': '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.mediacollectionrelated': { + 'Meta': {'object_name': 'MediaCollectionRelated', 'db_table': "'media_collection_related'"}, + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'related'", 'to': "orm['telemeta.MediaCollection']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '255', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'url': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '500', 'blank': 'True'}) + }, + 'telemeta.mediacorpus': { + 'Meta': {'object_name': 'MediaCorpus', 'db_table': "'media_corpus'"}, + 'children': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'corpus'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['telemeta.MediaCollection']"}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.mediacorpusrelated': { + 'Meta': {'object_name': 'MediaCorpusRelated', 'db_table': "'media_corpus_related'"}, + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '255', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'resource': ('telemeta.models.core.ForeignKey', [], {'related_name': "'related'", 'to': "orm['telemeta.MediaCorpus']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'url': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '500', 'blank': 'True'}) + }, + 'telemeta.mediafonds': { + 'Meta': {'object_name': 'MediaFonds', 'db_table': "'media_fonds'"}, + 'children': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'fonds'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['telemeta.MediaCorpus']"}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.mediafondsrelated': { + 'Meta': {'object_name': 'MediaFondsRelated', 'db_table': "'media_fonds_related'"}, + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '255', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'resource': ('telemeta.models.core.ForeignKey', [], {'related_name': "'related'", 'to': "orm['telemeta.MediaFonds']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'url': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '500', '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'}), + 'auto_period_access': ('telemeta.models.core.BooleanField', [], {'default': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'mimetype': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.mediaitemanalysis': { + 'Meta': {'ordering': "['name']", 'object_name': 'MediaItemAnalysis', 'db_table': "'media_analysis'"}, + 'analyzer_id': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'analysis'", 'to': "orm['telemeta.MediaItem']"}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'unit': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) + }, + 'telemeta.mediaitemkeyword': { + 'Meta': {'unique_together': "(('item', 'keyword'),)", 'object_name': 'MediaItemKeyword', 'db_table': "'media_item_keywords'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'keyword_relations'", 'to': "orm['telemeta.MediaItem']"}), + 'keyword': ('telemeta.models.core.ForeignKey', [], {'related_name': "'item_relations'", 'to': "orm['telemeta.ContextKeyword']"}) + }, + 'telemeta.mediaitemmarker': { + 'Meta': {'ordering': "['time']", 'object_name': 'MediaItemMarker', 'db_table': "'media_markers'"}, + 'author': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'markers'", 'null': 'True', 'blank': 'True', 'to': "orm['auth.User']"}), + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'markers'", 'to': "orm['telemeta.MediaItem']"}), + 'public_id': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'time': ('telemeta.models.core.FloatField', [], {'default': '0', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) + }, + 'telemeta.mediaitemperformance': { + 'Meta': {'object_name': 'MediaItemPerformance', 'db_table': "'media_item_performances'"}, + 'alias': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'performances'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.InstrumentAlias']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'instrument': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'performances'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Instrument']"}), + 'instruments_num': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'media_item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'performances'", 'to': "orm['telemeta.MediaItem']"}), + 'musicians': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}) + }, + 'telemeta.mediaitemrelated': { + 'Meta': {'object_name': 'MediaItemRelated', 'db_table': "'media_item_related'"}, + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '255', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'related'", 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'url': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '500', 'blank': 'True'}) + }, + 'telemeta.mediaitemtranscoded': { + 'Meta': {'object_name': 'MediaItemTranscoded', 'db_table': "'telemeta_media_transcoded'"}, + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': '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['telemeta.MediaItem']"}), + 'mimetype': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'telemeta.mediaitemtranscodingflag': { + 'Meta': {'object_name': 'MediaItemTranscodingFlag', 'db_table': "'media_transcoding'"}, + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'transcoding'", 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'value': ('telemeta.models.core.BooleanField', [], {'default': 'False'}) + }, + 'telemeta.mediapart': { + 'Meta': {'object_name': 'MediaPart', 'db_table': "'media_parts'"}, + 'end': ('telemeta.models.core.FloatField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'related_name': "'parts'", 'to': "orm['telemeta.MediaItem']"}), + 'start': ('telemeta.models.core.FloatField', [], {}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + '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.numberofchannels': { + 'Meta': {'ordering': "['value']", 'object_name': 'NumberOfChannels', 'db_table': "'original_channel_number'"}, + '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.playlist': { + 'Meta': {'object_name': 'Playlist', 'db_table': "'playlists'"}, + 'author': ('telemeta.models.core.ForeignKey', [], {'related_name': "'playlists'", 'db_column': "'author'", 'to': "orm['auth.User']"}), + 'description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'public_id': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.playlistresource': { + 'Meta': {'object_name': 'PlaylistResource', 'db_table': "'playlist_resources'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'playlist': ('telemeta.models.core.ForeignKey', [], {'related_name': "'resources'", 'to': "orm['telemeta.Playlist']"}), + 'public_id': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'resource_id': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'resource_type': ('telemeta.models.core.CharField', [], {'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.revision': { + 'Meta': {'object_name': 'Revision', 'db_table': "'revisions'"}, + 'change_type': ('telemeta.models.core.CharField', [], {'max_length': '16'}), + 'element_id': ('telemeta.models.core.IntegerField', [], {}), + 'element_type': ('telemeta.models.core.CharField', [], {'max_length': '16'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'time': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'revisions'", 'db_column': "'username'", 'to': "orm['auth.User']"}) + }, + '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.search': { + 'Meta': {'ordering': "['-date']", 'object_name': 'Search', 'db_table': "'searches'"}, + 'criteria': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'search'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['telemeta.Criteria']"}), + 'date': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'username': ('telemeta.models.core.ForeignKey', [], {'related_name': "'searches'", 'db_column': "'username'", 'to': "orm['auth.User']"}) + }, + 'telemeta.tapelength': { + 'Meta': {'ordering': "['value']", 'object_name': 'TapeLength', 'db_table': "'tape_length'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.tapespeed': { + 'Meta': {'ordering': "['value']", 'object_name': 'TapeSpeed', 'db_table': "'tape_speed'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.tapevendor': { + 'Meta': {'ordering': "['value']", 'object_name': 'TapeVendor', 'db_table': "'tape_vendor'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.tapewheeldiameter': { + 'Meta': {'ordering': "['value']", 'object_name': 'TapeWheelDiameter', 'db_table': "'tape_wheel_diameter'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.tapewidth': { + 'Meta': {'ordering': "['value']", 'object_name': 'TapeWidth', 'db_table': "'tape_width'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.userprofile': { + 'Meta': {'object_name': 'UserProfile', 'db_table': "'profiles'"}, + 'address': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'attachment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'department': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'expiration_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'function': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'institution': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'telephone': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'}) + }, + '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 = ['telemeta'] \ No newline at end of file diff --git a/telemeta/models/enum.py b/telemeta/models/enum.py index fcc65180..338aca9d 100644 --- a/telemeta/models/enum.py +++ b/telemeta/models/enum.py @@ -35,10 +35,10 @@ from telemeta.models.core import * from django.utils.translation import ugettext_lazy as _ -from django.contrib.contenttypes import generic class Enumeration(ModelCore): + "Abstract enumerations base class" value = CharField(_('value'), required=True, unique=True) diff --git a/telemeta/static/telemeta/css/telemeta.css b/telemeta/static/telemeta/css/telemeta.css index 05e88d9d..bc51cea6 100644 --- a/telemeta/static/telemeta/css/telemeta.css +++ b/telemeta/static/telemeta/css/telemeta.css @@ -1282,3 +1282,32 @@ input,textarea{ .related_media { border-top: 1px dotted #6a0307; } + + +#chatwindow { + min-height: 10em; + max-height: 42em; + border-bottom: 1px solid; + padding: 0.8em; + overflow: auto; + background-color: white; + font-size: 0.8125em; + -moz-border-radius: 8px 0px 8px 8px; + -webkit-border-radius: 8px 0px 8px 8px; + border-radius: 8px 0px 8px 8px; +} + +.msg { + font-size: 0.9em; + } + +.msg input { + -moz-border-radius: 8px 8px 8px 8px; + -webkit-border-radius: 8px 8px 8px 8px; + border-radius: 8px 8px 8px 8px; + } + +.mod { + width: 66%; + float: left; +} \ No newline at end of file diff --git a/telemeta/templates/telemeta/admin.html b/telemeta/templates/telemeta/admin.html index 7d193dd5..95facdc7 100644 --- a/telemeta/templates/telemeta/admin.html +++ b/telemeta/templates/telemeta/admin.html @@ -8,9 +8,11 @@ {% endblock %} {% block title %} -

{% trans "Administration" %}

+

{% trans "Administration" %}

{% endblock %} +
  • {% trans "General" %}
  • + {% block content %}
    diff --git a/telemeta/templates/telemeta/enumeration_edit.html b/telemeta/templates/telemeta/enumeration_edit.html index 042637a5..04d58c30 100644 --- a/telemeta/templates/telemeta/enumeration_edit.html +++ b/telemeta/templates/telemeta/enumeration_edit.html @@ -4,7 +4,7 @@ {% block head_title %}{% trans "Enumeration" %} : {{ enumeration_name|capfirst }} - {{ block.super }}{% endblock %} {% block title %} -

    {% trans "Administration" %} > {% trans "Enumerations" %}

    +

    {% trans "Administration" %} > {% trans "Enumerations" %}

    {% endblock %} {% block tabcontents %} diff --git a/telemeta/templates/telemeta/enumeration_edit_value.html b/telemeta/templates/telemeta/enumeration_edit_value.html index fa45276d..643abae4 100644 --- a/telemeta/templates/telemeta/enumeration_edit_value.html +++ b/telemeta/templates/telemeta/enumeration_edit_value.html @@ -1,7 +1,26 @@ {% extends "telemeta/enumeration_edit.html" %} {% load i18n %} +{% block extra_javascript %} + +{% endblock extra_javascript %} + {% block tabcontents %} + +{% block chat %} +
    + {% if room %} + {% with "Notes" as title %} + {% include "telemeta/inc/chat_room.html" %} + {% endwith %} + {% endif %} +
    +{% endblock chat %} +

    {{ enumeration_name|capfirst }}

    {% csrf_token %} @@ -45,3 +64,4 @@
    {% endblock %} + diff --git a/telemeta/templates/telemeta/inc/chat_room.html b/telemeta/templates/telemeta/inc/chat_room.html new file mode 100644 index 00000000..07432961 --- /dev/null +++ b/telemeta/templates/telemeta/inc/chat_room.html @@ -0,0 +1,19 @@ +{% load i18n %} +{% load telemeta_utils %} + + + +
    +

    rss{% trans title %}

    +
    +
    Loading...
    + {% csrf_token %} + +
    + + +
    + + +
    +
    diff --git a/telemeta/templates/telemeta/instrument_edit_value.html b/telemeta/templates/telemeta/instrument_edit_value.html index 9ca87255..8c2de01b 100644 --- a/telemeta/templates/telemeta/instrument_edit_value.html +++ b/telemeta/templates/telemeta/instrument_edit_value.html @@ -1,7 +1,26 @@ {% extends "telemeta/instrument_edit.html" %} {% load i18n %} +{% block extra_javascript %} + +{% endblock extra_javascript %} + {% block tabcontents %} + +{% block chat %} +
    + {% if room %} + {% with "Notes" as title %} + {% include "telemeta/inc/chat_room.html" %} + {% endwith %} + {% endif %} +
    +{% endblock chat %} +

    {% trans "Instruments" %}

    {% csrf_token %} diff --git a/telemeta/urls.py b/telemeta/urls.py index ab0af215..48fe8715 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -333,6 +333,8 @@ urlpatterns = patterns('', # FIXME:need to move export dir from the cache url(r'^media/cache/(?P.*)$', 'django.views.static.serve', { 'document_root': settings.TELEMETA_CACHE_DIR,}), + + url(r'^', include('jqchat.urls')), ) diff --git a/telemeta/views/admin.py b/telemeta/views/admin.py index 585fbccf..c665a9e8 100644 --- a/telemeta/views/admin.py +++ b/telemeta/views/admin.py @@ -131,14 +131,15 @@ class AdminView(object): raise Http404 record = enumeration.objects.get(id__exact=value_id) - + content_type = ContentType.objects.get(app_label="telemeta", model=enumeration_id) + vars = self.__get_admin_context_vars() vars["enumeration_id"] = enumeration._meta.module_name vars["enumeration_name"] = enumeration._meta.verbose_name vars["enumeration_record"] = record vars["enumeration_records"] = enumeration.objects.all() - vars["enumeration_notes"] = record.notes.all() - + vars['room'] = get_room(name=record._meta.verbose_name, content_type=content_type, + id=record.id) return render(request, 'telemeta/enumeration_edit_value.html', vars) @method_decorator(permission_required('telemeta.change_keyword')) diff --git a/telemeta/views/core.py b/telemeta/views/core.py index 9edf6d33..2db1b785 100644 --- a/telemeta/views/core.py +++ b/telemeta/views/core.py @@ -69,6 +69,7 @@ from django.core.exceptions import ObjectDoesNotExist from django.contrib.syndication.views import Feed from django.core.servers.basehttp import FileWrapper from django.core.urlresolvers import reverse, reverse_lazy +from django.contrib.contenttypes.models import ContentType from telemeta.models import * import telemeta.models @@ -81,6 +82,7 @@ from telemeta.util.unicode import UnicodeWriter from telemeta.cache import TelemetaCache import pages from telemeta.forms import * +import jqchat.models # Model type definition mods = {'item': MediaItem, 'collection': MediaCollection, @@ -225,3 +227,15 @@ def auto_code(resources, base_code): index += 1 return code + +def get_room(content_type=None, id=None, name=None): + rooms = jqchat.models.Room.objects.filter(content_type=content_type, + object_id=id) + if not rooms: + room = jqchat.models.Room.objects.create(content_type=content_type, + object_id=id, + name=name[:20]) + else: + room = rooms[0] + return room + \ No newline at end of file diff --git a/telemeta/views/instrument.py b/telemeta/views/instrument.py index 61ffced4..752050f6 100644 --- a/telemeta/views/instrument.py +++ b/telemeta/views/instrument.py @@ -70,9 +70,15 @@ class InstrumentView(object): def edit_instrument_value(self, request, value_id): instrument = Instrument.objects.get(id__exact=value_id) instruments = Instrument.objects.all().order_by('name') - - return render(request, 'telemeta/instrument_edit_value.html', - {'instrument': instrument, 'instruments': instruments}) + + content_type = ContentType.objects.get(app_label="telemeta", model='instrument') + context = {} + context['instrument'] = instrument + context['instruments'] = instruments + context['room'] = get_room(name=instrument._meta.verbose_name, content_type=content_type, + id=instrument.id) + + return render(request, 'telemeta/instrument_edit_value.html', context) @method_decorator(permission_required('telemeta.change_instrument')) def update_instrument_value(self, request, value_id): -- 2.39.5