From ef43f98120329d9c167c2d004ba1100a9067d146 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 8 Sep 2025 09:49:10 +0200 Subject: [PATCH] add host field --- .../0003_auto__add_field_source_host.py | 55 +++++++++++++++++++ teleforma/sources/models.py | 3 +- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 teleforma/sources/migrations/0003_auto__add_field_source_host.py diff --git a/teleforma/sources/migrations/0003_auto__add_field_source_host.py b/teleforma/sources/migrations/0003_auto__add_field_source_host.py new file mode 100644 index 00000000..9c7f1762 --- /dev/null +++ b/teleforma/sources/migrations/0003_auto__add_field_source_host.py @@ -0,0 +1,55 @@ +# -*- 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): + # Adding field 'Source.host' + db.add_column('teleforma_source', 'host', + self.gf('telemeta.models.core.CharField')(default='', max_length=255, blank=True), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Source.host' + db.delete_column('teleforma_source', 'host') + + + models = { + 'sources.monitor': { + 'Meta': {'object_name': 'Monitor', 'db_table': "'teleforma_monitor'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'mount_point': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'port': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'record_path': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'sources.source': { + 'Meta': {'ordering': "['public_id']", 'object_name': 'Source', 'db_table': "'teleforma_source'"}, + 'host': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}), + 'monitors': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'source'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['sources.Monitor']"}), + 'public_id': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'room': ('telemeta.models.core.ForeignKey', [], {'related_name': "'source'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Room']", 'blank': 'True', 'null': 'True'}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + } + } + + complete_apps = ['sources'] \ No newline at end of file diff --git a/teleforma/sources/models.py b/teleforma/sources/models.py index 82fc4a41..c91aeb4b 100644 --- a/teleforma/sources/models.py +++ b/teleforma/sources/models.py @@ -30,6 +30,7 @@ class Source(Model): public_id = CharField(_('public_id'), max_length=255) ip = GenericIPAddressField(_('IP')) + host = CharField(_('host'), max_length=255) room = ForeignKey(Room, related_name='source', verbose_name=_('room'), blank=True, null=True, on_delete=models.SET_NULL) monitors = ManyToManyField(Monitor, related_name="source", @@ -53,4 +54,4 @@ class Source(Model): @property def default_record_url(self): - return 'http://' + str(self.ip) + '/' + self.monitors.all()[0].record_path + return 'https://' + str(self.host) + '/' + self.monitors.all()[0].record_path -- 2.39.5