From d1c2c0f8d396cb0019c7f1a9a3834999da271580 Mon Sep 17 00:00:00 2001 From: Tehom Date: Wed, 21 Sep 2016 17:33:19 -0400 Subject: [PATCH] Added 'blank=True' to all the null fields in Msg. 'blank' is not redundant with 'null' - it's a constraint for django admin's validation. Without blank=True, a field cannot be left empty. --- .../migrations/0009_auto_20160921_1731.py | 66 +++++++++++++++++++ evennia/comms/models.py | 20 +++--- 2 files changed, 76 insertions(+), 10 deletions(-) create mode 100644 evennia/comms/migrations/0009_auto_20160921_1731.py diff --git a/evennia/comms/migrations/0009_auto_20160921_1731.py b/evennia/comms/migrations/0009_auto_20160921_1731.py new file mode 100644 index 000000000..9415e233c --- /dev/null +++ b/evennia/comms/migrations/0009_auto_20160921_1731.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.9 on 2016-09-21 17:31 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('comms', '0008_auto_20160905_0902'), + ] + + operations = [ + migrations.AlterField( + model_name='msg', + name='db_hide_from_channels', + field=models.ManyToManyField(blank=True, null=True, related_name='hide_from_channels_set', to='comms.ChannelDB'), + ), + migrations.AlterField( + model_name='msg', + name='db_hide_from_objects', + field=models.ManyToManyField(blank=True, null=True, related_name='hide_from_objects_set', to='objects.ObjectDB'), + ), + migrations.AlterField( + model_name='msg', + name='db_hide_from_players', + field=models.ManyToManyField(blank=True, null=True, related_name='hide_from_players_set', to=settings.AUTH_USER_MODEL), + ), + migrations.AlterField( + model_name='msg', + name='db_receivers_channels', + field=models.ManyToManyField(blank=True, help_text=b'channel recievers', null=True, related_name='channel_set', to='comms.ChannelDB'), + ), + migrations.AlterField( + model_name='msg', + name='db_receivers_objects', + field=models.ManyToManyField(blank=True, help_text=b'object receivers', null=True, related_name='receiver_object_set', to='objects.ObjectDB'), + ), + migrations.AlterField( + model_name='msg', + name='db_receivers_players', + field=models.ManyToManyField(blank=True, help_text=b'player receivers', null=True, related_name='receiver_player_set', to=settings.AUTH_USER_MODEL), + ), + migrations.AlterField( + model_name='msg', + name='db_sender_external', + field=models.CharField(blank=True, db_index=True, help_text=b"identifier for external sender, for example a sender over an IRC connection (i.e. someone who doesn't have an exixtence in-game).", max_length=255, null=True, verbose_name=b'external sender'), + ), + migrations.AlterField( + model_name='msg', + name='db_sender_objects', + field=models.ManyToManyField(blank=True, db_index=True, null=True, related_name='sender_object_set', to='objects.ObjectDB', verbose_name=b'sender(object)'), + ), + migrations.AlterField( + model_name='msg', + name='db_sender_players', + field=models.ManyToManyField(blank=True, db_index=True, null=True, related_name='sender_player_set', to=settings.AUTH_USER_MODEL, verbose_name=b'sender(player)'), + ), + migrations.AlterField( + model_name='msg', + name='db_tags', + field=models.ManyToManyField(blank=True, help_text=b'tags on this message. Tags are simple string markers to identify, group and alias messages.', null=True, to='typeclasses.Tag'), + ), + ] diff --git a/evennia/comms/models.py b/evennia/comms/models.py index e3d4970df..3e56f8e1f 100644 --- a/evennia/comms/models.py +++ b/evennia/comms/models.py @@ -77,21 +77,21 @@ class Msg(SharedMemoryModel): # an IRC channel; normally there is only one, but if co-modification of # a message is allowed, there may be more than one "author" db_sender_players = models.ManyToManyField("players.PlayerDB", related_name='sender_player_set', - null=True, verbose_name='sender(player)', db_index=True) + null=True, blank=True, verbose_name='sender(player)', db_index=True) db_sender_objects = models.ManyToManyField("objects.ObjectDB", related_name='sender_object_set', - null=True, verbose_name='sender(object)', db_index=True) - db_sender_external = models.CharField('external sender', max_length=255, null=True, db_index=True, + null=True, blank=True, verbose_name='sender(object)', db_index=True) + db_sender_external = models.CharField('external sender', max_length=255, null=True, blank=True, db_index=True, help_text="identifier for external sender, for example a sender over an " "IRC connection (i.e. someone who doesn't have an exixtence in-game).") # The destination objects of this message. Stored as a # comma-separated string of object dbrefs. Can be defined along # with channels below. db_receivers_players = models.ManyToManyField('players.PlayerDB', related_name='receiver_player_set', - null=True, help_text="player receivers") + null=True, blank=True, help_text="player receivers") db_receivers_objects = models.ManyToManyField('objects.ObjectDB', related_name='receiver_object_set', - null=True, help_text="object receivers") + null=True, blank=True, help_text="object receivers") db_receivers_channels = models.ManyToManyField("ChannelDB", related_name='channel_set', - null=True, help_text="channel recievers") + null=True, blank=True, help_text="channel recievers") # header could be used for meta-info about the message if your system needs # it, or as a separate store for the mail subject line maybe. @@ -105,11 +105,11 @@ class Msg(SharedMemoryModel): help_text='access locks on this message.') # these can be used to filter/hide a given message from supplied objects/players/channels - db_hide_from_players = models.ManyToManyField("players.PlayerDB", related_name='hide_from_players_set', null=True) - db_hide_from_objects = models.ManyToManyField("objects.ObjectDB", related_name='hide_from_objects_set', null=True) - db_hide_from_channels = models.ManyToManyField("ChannelDB", related_name='hide_from_channels_set', null=True) + db_hide_from_players = models.ManyToManyField("players.PlayerDB", related_name='hide_from_players_set', null=True, blank=True) + db_hide_from_objects = models.ManyToManyField("objects.ObjectDB", related_name='hide_from_objects_set', null=True, blank=True) + db_hide_from_channels = models.ManyToManyField("ChannelDB", related_name='hide_from_channels_set', null=True, blank=True) - db_tags = models.ManyToManyField(Tag, null=True, + db_tags = models.ManyToManyField(Tag, null=True, blank=True, help_text='tags on this message. Tags are simple string markers to identify, group and alias messages.') # Database manager