From patchwork Mon Apr 9 21:02:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Finucane X-Patchwork-Id: 896415 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40KjTl59qcz9s0W for ; Tue, 10 Apr 2018 07:04:11 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=that.guru Authentication-Results: ozlabs.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=that.guru header.i=@that.guru header.b="lQ9Nqa6m"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 40KjTl3SDzzF0BV for ; Tue, 10 Apr 2018 07:04:11 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=that.guru Authentication-Results: lists.ozlabs.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=that.guru header.i=@that.guru header.b="lQ9Nqa6m"; dkim-atps=neutral X-Original-To: patchwork@lists.ozlabs.org Delivered-To: patchwork@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=none (mailfrom) smtp.mailfrom=that.guru (client-ip=23.83.222.4; helo=antelope.ash.relay.mailchannels.net; envelope-from=stephen@that.guru; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=that.guru Authentication-Results: lists.ozlabs.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=that.guru header.i=@that.guru header.b="lQ9Nqa6m"; dkim-atps=neutral Received: from antelope.ash.relay.mailchannels.net (antelope.ash.relay.mailchannels.net [23.83.222.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 40KjSw12BkzF2B7 for ; Tue, 10 Apr 2018 07:03:26 +1000 (AEST) X-Sender-Id: 5xi41l16bi|x-authuser|stephen@that.guru Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id CE80568238C for ; Mon, 9 Apr 2018 21:03:20 +0000 (UTC) Received: from one.mxroute.com (unknown [100.96.13.10]) (Authenticated sender: 5xi41l16bi) by relay.mailchannels.net (Postfix) with ESMTPA id 84ED5682242 for ; Mon, 9 Apr 2018 21:03:12 +0000 (UTC) X-Sender-Id: 5xi41l16bi|x-authuser|stephen@that.guru Received: from one.mxroute.com (one-outgoing.mxroute.com [172.19.42.253]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.14.1); Mon, 09 Apr 2018 21:03:20 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: 5xi41l16bi|x-authuser|stephen@that.guru X-MailChannels-Auth-Id: 5xi41l16bi X-Tangy-Thread: 401423d8455ea9ff_1523307792754_3334695075 X-MC-Loop-Signature: 1523307792753:144716287 X-MC-Ingress-Time: 1523307792753 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=that.guru; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=1WXvHtmNsL9//G+cNx5/0QlPM+q0hXSVJab0J3sow8w=; b=lQ9Nqa6mbvG1fRJzqJ0aZk5mLx JFvbIF8vVdKmQPzXnlwbwasid/Zk90uyciUyUrXAuyKaUJXHEx9RcrlCVE5djQYSRRvjDawq5001J 1spQjBBfnuZeV6oWBVlQ8xPnVSqEpogLjS/ZRwYG5xmwzE9aLTSjlA2mH+vT1HLtJ5k2KnW4CVehf GPplx8edOLjUKVkgyxgDOWrEoz82lZYQuFJiJ7GarTGSgN44xx63TeoVc49lMQsmoaNksBc5Ga4X5 3Oa9AWs7yZ3c5tYgyc5A8/rNM5DdmUaj2lCY7O5+FDW7DzNjnhcW0X5j+TJBbs09g+lKKJdNCrjLM zkehpGng==; From: Stephen Finucane To: patchwork@lists.ozlabs.org Subject: [PATCH v2 2/6] signals: Only enable events when REST API enabled Date: Mon, 9 Apr 2018 22:02:52 +0100 Message-Id: <20180409210256.19649-3-stephen@that.guru> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180409210256.19649-1-stephen@that.guru> References: <20180409210256.19649-1-stephen@that.guru> X-AuthUser: stephen@that.guru X-BeenThere: patchwork@lists.ozlabs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Patchwork development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Patchwork" Signed-off-by: Stephen Finucane --- patchwork/signals.py | 22 ++++++++++++++-------- .../events-require-rest-api-47eab4a3be745f75.yaml | 5 +++++ 2 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 releasenotes/notes/events-require-rest-api-47eab4a3be745f75.yaml diff --git a/patchwork/signals.py b/patchwork/signals.py index f7b4f547..b083b51a 100644 --- a/patchwork/signals.py +++ b/patchwork/signals.py @@ -19,6 +19,7 @@ from datetime import datetime as dt +from django.conf import settings from django.db.models.signals import post_save from django.db.models.signals import pre_save from django.dispatch import receiver @@ -69,7 +70,6 @@ def patch_change_callback(sender, instance, raw, **kwargs): notification.save() -@receiver(post_save, sender=CoverLetter) def create_cover_created_event(sender, instance, created, raw, **kwargs): def create_event(cover): @@ -85,7 +85,6 @@ def create_cover_created_event(sender, instance, created, raw, **kwargs): create_event(instance) -@receiver(post_save, sender=Patch) def create_patch_created_event(sender, instance, created, raw, **kwargs): def create_event(patch): @@ -101,7 +100,6 @@ def create_patch_created_event(sender, instance, created, raw, **kwargs): create_event(instance) -@receiver(pre_save, sender=Patch) def create_patch_state_changed_event(sender, instance, raw, **kwargs): def create_event(patch, before, after): @@ -124,7 +122,6 @@ def create_patch_state_changed_event(sender, instance, raw, **kwargs): create_event(instance, orig_patch.state, instance.state) -@receiver(pre_save, sender=Patch) def create_patch_delegated_event(sender, instance, raw, **kwargs): def create_event(patch, before, after): @@ -147,7 +144,6 @@ def create_patch_delegated_event(sender, instance, raw, **kwargs): create_event(instance, orig_patch.delegate, instance.delegate) -@receiver(post_save, sender=SeriesPatch) def create_patch_completed_event(sender, instance, created, raw, **kwargs): """Create patch completed event for patches with series.""" @@ -183,7 +179,6 @@ def create_patch_completed_event(sender, instance, created, raw, **kwargs): count += 1 -@receiver(post_save, sender=Check) def create_check_created_event(sender, instance, created, raw, **kwargs): def create_event(check): @@ -202,7 +197,6 @@ def create_check_created_event(sender, instance, created, raw, **kwargs): create_event(instance) -@receiver(post_save, sender=Series) def create_series_created_event(sender, instance, created, raw, **kwargs): def create_event(series): @@ -218,7 +212,6 @@ def create_series_created_event(sender, instance, created, raw, **kwargs): create_event(instance) -@receiver(post_save, sender=SeriesPatch) def create_series_completed_event(sender, instance, created, raw, **kwargs): # NOTE(stephenfin): We subscribe to the SeriesPatch.post_save signal @@ -245,3 +238,16 @@ def create_series_completed_event(sender, instance, created, raw, **kwargs): if instance.series.received_all: create_event(instance.series) + + +if settings.ENABLE_REST_API: + post_save.connect(create_cover_created_event, sender=CoverLetter) + post_save.connect(create_patch_created_event, sender=Patch) + + pre_save.connect(create_patch_state_changed_event, sender=Patch) + pre_save.connect(create_patch_delegated_event, sender=Patch) + + post_save.connect(create_patch_completed_event, sender=SeriesPatch) + post_save.connect(create_check_created_event, sender=Check) + post_save.connect(create_series_created_event, sender=Series) + post_save.connect(create_series_completed_event, sender=SeriesPatch) diff --git a/releasenotes/notes/events-require-rest-api-47eab4a3be745f75.yaml b/releasenotes/notes/events-require-rest-api-47eab4a3be745f75.yaml new file mode 100644 index 00000000..8a4a4474 --- /dev/null +++ b/releasenotes/notes/events-require-rest-api-47eab4a3be745f75.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + The events API now requires the REST API. Events are only exposed over the + REST API so this should have no impact for most users.