Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/933971/?format=api
{ "id": 933971, "url": "http://patchwork.ozlabs.org/api/patches/933971/?format=api", "web_url": "http://patchwork.ozlabs.org/project/patchwork/patch/20180624195557.19909-1-stephen@that.guru/", "project": { "id": 16, "url": "http://patchwork.ozlabs.org/api/projects/16/?format=api", "name": "Patchwork", "link_name": "patchwork", "list_id": "patchwork.lists.ozlabs.org", "list_email": "patchwork@lists.ozlabs.org", "web_url": "http://jk.ozlabs.org/projects/patchwork/", "scm_url": "git://github.com/getpatchwork/patchwork", "webscm_url": "https://github.com/getpatchwork/patchwork", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20180624195557.19909-1-stephen@that.guru>", "list_archive_url": null, "date": "2018-06-24T19:55:47", "name": "[01/11] REST: Check.user is not read-only", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "6ea5fe662904b87acf35ae9dc3f741bb67478a07", "submitter": { "id": 69991, "url": "http://patchwork.ozlabs.org/api/people/69991/?format=api", "name": "Stephen Finucane", "email": "stephen@that.guru" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/patchwork/patch/20180624195557.19909-1-stephen@that.guru/mbox/", "series": [ { "id": 51752, "url": "http://patchwork.ozlabs.org/api/series/51752/?format=api", "web_url": "http://patchwork.ozlabs.org/project/patchwork/list/?series=51752", "date": "2018-06-24T19:55:49", "name": "[01/11] REST: Check.user is not read-only", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/51752/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/933971/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/933971/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "patchwork@lists.ozlabs.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "patchwork@lists.ozlabs.org" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 41DNP46RCjz9ry1\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Jun 2018 05:56:56 +1000 (AEST)", "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 41DNP44tnbzF18l\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Jun 2018 05:56:56 +1000 (AEST)", "from caracal.maple.relay.mailchannels.net\n\t(caracal.maple.relay.mailchannels.net [23.83.214.30])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 41DNNG3839zF14h\n\tfor <patchwork@lists.ozlabs.org>;\n\tMon, 25 Jun 2018 05:56:14 +1000 (AEST)", "from relay.mailchannels.net (localhost [127.0.0.1])\n\tby relay.mailchannels.net (Postfix) with ESMTP id D5FC83E2128\n\tfor <patchwork@lists.ozlabs.org>;\n\tSun, 24 Jun 2018 19:56:10 +0000 (UTC)", "from one.mxroute.com (unknown [100.96.33.46])\n\t(Authenticated sender: 5xi41l16bi)\n\tby relay.mailchannels.net (Postfix) with ESMTPA id 2AA623E24AE\n\tfor <patchwork@lists.ozlabs.org>;\n\tSun, 24 Jun 2018 19:56:04 +0000 (UTC)", "from one.mxroute.com (one-outgoing.mxroute.com [172.18.49.137])\n\t(using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)\n\tby 0.0.0.0:2500 (trex/5.15.2); Sun, 24 Jun 2018 19:56:10 +0000" ], "Authentication-Results": [ "ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=that.guru", "ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" (0-bit key;\n\tunprotected) header.d=that.guru header.i=@that.guru\n\theader.b=\"FLOSoiw7\"; dkim-atps=neutral", "lists.ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=that.guru", "lists.ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" (0-bit key;\n\tunprotected) header.d=that.guru header.i=@that.guru\n\theader.b=\"FLOSoiw7\"; dkim-atps=neutral", "lists.ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=that.guru\n\t(client-ip=23.83.214.30; helo=caracal.maple.relay.mailchannels.net;\n\tenvelope-from=stephen@that.guru; receiver=<UNKNOWN>)", "lists.ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=that.guru", "lists.ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" (0-bit key;\n\tunprotected) header.d=that.guru header.i=@that.guru\n\theader.b=\"FLOSoiw7\"; dkim-atps=neutral" ], "X-Sender-Id": [ "5xi41l16bi|x-authuser|stephen@that.guru", "5xi41l16bi|x-authuser|stephen@that.guru" ], "X-MC-Relay": "Neutral", "X-MailChannels-SenderId": "5xi41l16bi|x-authuser|stephen@that.guru", "X-MailChannels-Auth-Id": "5xi41l16bi", "X-Rock-Dime": "670138295e5f3dc1_1529870164426_608539419", "X-MC-Loop-Signature": "1529870164425:442397348", "X-MC-Ingress-Time": "1529870164425", "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=that.guru;\n\ts=default;\n\th=Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version\n\t:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tIn-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=hgIY+3Q4Vrd3WxZ/ajMebWPHp0v5yvWBZvVt1xeSpn8=;\n\tb=FLOSoiw7evkakFHMQ3BTEpohIx\n\tUicti8tinHQ6pD00+SV5+JNbvVG2ylkjSEfAlYZaRlxjZkWgwZdzdKbK1G9O9hFYPjTsRGV7eqT2q\n\tSv7VhSo3uwRtfcmOu7tBydF7FySbSVLq8cBBLSKNY7lZIFnST3ANl5mk3pv5wwcPLFrNpi3bqSrOo\n\tXWhyFSs72e0CZusICBtABufa4vg/MxIk3b6XEVj2X3QP9W2Pgulcs77Yv6+0H/8RkHwznbzGJ1yBs\n\tLL28zizCtIqJvTLRK4DU+xKqzhbCFJmdBUQIe8LZHkIToaDClaHmvaWUP4L+QyF/980GOIKkLAtRZ\n\tBptj97uA==;", "From": "Stephen Finucane <stephen@that.guru>", "To": "patchwork@lists.ozlabs.org", "Subject": "[PATCH 01/11] REST: Check.user is not read-only", "Date": "Sun, 24 Jun 2018 20:55:47 +0100", "Message-Id": "<20180624195557.19909-1-stephen@that.guru>", "X-Mailer": "git-send-email 2.17.1", "X-AuthUser": "stephen@that.guru", "X-BeenThere": "patchwork@lists.ozlabs.org", "X-Mailman-Version": "2.1.26", "Precedence": "list", "List-Id": "Patchwork development <patchwork.lists.ozlabs.org>", "List-Unsubscribe": "<https://lists.ozlabs.org/options/patchwork>,\n\t<mailto:patchwork-request@lists.ozlabs.org?subject=unsubscribe>", "List-Archive": "<http://lists.ozlabs.org/pipermail/patchwork/>", "List-Post": "<mailto:patchwork@lists.ozlabs.org>", "List-Help": "<mailto:patchwork-request@lists.ozlabs.org?subject=help>", "List-Subscribe": "<https://lists.ozlabs.org/listinfo/patchwork>,\n\t<mailto:patchwork-request@lists.ozlabs.org?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org", "Sender": "\"Patchwork\"\n\t<patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>" }, "content": "We only support 'Check' creation - not check updating. As a result,\nthere's no real reason that the 'Check.user' field should be read-only\nand this is causing an issue with Django REST Framework 3.7. Simply\nremove the attribute and extend the tests to validate things are working\nas expected.\n\nSigned-off-by: Stephen Finucane <stephen@that.guru>\n---\n patchwork/api/check.py | 2 +-\n patchwork/tests/api/test_check.py | 1 +\n 2 files changed, 2 insertions(+), 1 deletion(-)", "diff": "diff --git a/patchwork/api/check.py b/patchwork/api/check.py\nindex 8753c7de..5e461de6 100644\n--- a/patchwork/api/check.py\n+++ b/patchwork/api/check.py\n@@ -44,7 +44,7 @@ class CheckSerializer(HyperlinkedModelSerializer):\n \n url = CheckHyperlinkedIdentityField('api-check-detail')\n patch = HiddenField(default=CurrentPatchDefault())\n- user = UserSerializer(read_only=True, default=CurrentUserDefault())\n+ user = UserSerializer(default=CurrentUserDefault())\n \n def run_validation(self, data):\n for val, label in Check.STATE_CHOICES:\ndiff --git a/patchwork/tests/api/test_check.py b/patchwork/tests/api/test_check.py\nindex 43181af3..0e7e0cfc 100644\n--- a/patchwork/tests/api/test_check.py\n+++ b/patchwork/tests/api/test_check.py\n@@ -67,6 +67,7 @@ class TestCheckAPI(APITestCase):\n self.assertEqual(check_obj.target_url, check_json['target_url'])\n self.assertEqual(check_obj.context, check_json['context'])\n self.assertEqual(check_obj.description, check_json['description'])\n+ self.assertEqual(check_obj.user.id, check_json['user']['id'])\n \n def test_list(self):\n \"\"\"Validate we can list checks on a patch.\"\"\"\n", "prefixes": [ "01/11" ] }