From 71ff8c370e96c0099eaef477080433a522c9638c Mon Sep 17 00:00:00 2001 From: rht Date: Wed, 31 Jan 2018 12:22:07 +0500 Subject: [PATCH] django-2.0: Don't assign directly to Many-to-Many field. The old pattern of setting the value and then using .save() here has been deprecated. set() also saves the record. --- zerver/lib/actions.py | 6 ++---- zerver/management/commands/create_default_stream_groups.py | 3 +-- zerver/tests/test_auth_backends.py | 3 +-- zerver/tests/test_signup.py | 3 +-- zerver/views/auth.py | 3 +-- zerver/views/registration.py | 3 +-- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/zerver/lib/actions.py b/zerver/lib/actions.py index 1d53275c13..b6e8c69d7a 100644 --- a/zerver/lib/actions.py +++ b/zerver/lib/actions.py @@ -3053,8 +3053,7 @@ def do_create_default_stream_group(realm: Realm, group_name: Text, raise JsonableError(_("Default stream group '%(group_name)s' already exists") % {'group_name': group_name}) - group.streams = streams - group.save() + group.streams.set(streams) notify_default_stream_groups(realm) def do_add_streams_to_default_stream_group(realm: Realm, group: DefaultStreamGroup, @@ -4092,8 +4091,7 @@ def do_create_multiuse_invite_link(referred_by: UserProfile, streams: Optional[L realm = referred_by.realm invite = MultiuseInvite.objects.create(realm=realm, referred_by=referred_by) if streams: - invite.streams = streams - invite.save() + invite.streams.set(streams) return create_confirmation_link(invite, realm.host, Confirmation.MULTIUSE_INVITE) diff --git a/zerver/management/commands/create_default_stream_groups.py b/zerver/management/commands/create_default_stream_groups.py index 7cc7784757..1b950b6fc0 100644 --- a/zerver/management/commands/create_default_stream_groups.py +++ b/zerver/management/commands/create_default_stream_groups.py @@ -57,8 +57,7 @@ Create default stream groups which the users can choose during sign up. except DefaultStreamGroup.DoesNotExist: default_stream_group = DefaultStreamGroup.objects.create( name=options["name"], realm=realm, description=options["description"]) - default_stream_group.streams = streams - default_stream_group.save() + default_stream_group.streams.set(streams) default_stream_groups = DefaultStreamGroup.objects.all() for default_stream_group in default_stream_groups: diff --git a/zerver/tests/test_auth_backends.py b/zerver/tests/test_auth_backends.py index c427045235..60135c0f64 100644 --- a/zerver/tests/test_auth_backends.py +++ b/zerver/tests/test_auth_backends.py @@ -892,8 +892,7 @@ class GoogleSubdomainLoginTest(GoogleOAuthTest): # Now confirm an invitation link works referrer = self.example_user("hamlet") multiuse_obj = MultiuseInvite.objects.create(realm=realm, referred_by=referrer) - multiuse_obj.streams = streams - multiuse_obj.save() + multiuse_obj.streams.set(streams) invite_link = create_confirmation_link(multiuse_obj, realm.host, Confirmation.MULTIUSE_INVITE) diff --git a/zerver/tests/test_signup.py b/zerver/tests/test_signup.py index e64617b6e2..1c15042675 100644 --- a/zerver/tests/test_signup.py +++ b/zerver/tests/test_signup.py @@ -1024,8 +1024,7 @@ class MultiuseInviteTest(ZulipTestCase): invite.save() if streams is not None: - invite.streams = streams - invite.save() + invite.streams.set(streams) if date_sent is None: date_sent = timezone_now() diff --git a/zerver/views/auth.py b/zerver/views/auth.py index 8d98dffd6d..781f4009ef 100644 --- a/zerver/views/auth.py +++ b/zerver/views/auth.py @@ -92,8 +92,7 @@ def maybe_send_to_registration(request: HttpRequest, email: Text, full_name: Tex del request.session["multiuse_object_key"] request.session.modified = True if streams_to_subscribe is not None: - prereg_user.streams = streams_to_subscribe - prereg_user.save() + prereg_user.streams.set(streams_to_subscribe) return redirect("".join(( create_confirmation_link(prereg_user, request.get_host(), Confirmation.USER_REGISTRATION), diff --git a/zerver/views/registration.py b/zerver/views/registration.py index 616afbf22d..7dbcaa6530 100644 --- a/zerver/views/registration.py +++ b/zerver/views/registration.py @@ -304,8 +304,7 @@ def prepare_activation_url(email: str, request: HttpRequest, prereg_user = create_preregistration_user(email, request, realm_creation) if streams is not None: - prereg_user.streams = streams - prereg_user.save() + prereg_user.streams.set(streams) confirmation_type = Confirmation.USER_REGISTRATION if realm_creation: