)]}'
{"id":"openstack%2Fhorizon~716539","triplet_id":"openstack%2Fhorizon~stable%2Ftrain~I94d3fa5c1472bb72c9111cab14c6e05180f88589","project":"openstack/horizon","branch":"stable/train","topic":"authenticate-before-authorize-stable/train","hashtags":[],"change_id":"I94d3fa5c1472bb72c9111cab14c6e05180f88589","subject":"Authenticate before Authorization","status":"MERGED","created":"2020-04-01 10:14:37.000000000","updated":"2020-04-09 07:34:43.000000000","submitted":"2020-04-09 07:30:55.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"716539-1586417456029-a17bf472","meta_rev_id":"fe8b527fd87185c2cf5657e85a1aac20ceb2b859","_number":716539,"virtual_id_number":716539,"owner":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"date":"2020-04-09 05:03:45.000000000","_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},{"value":0,"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":0,"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-04-09 07:30:55.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"all":[{"value":0,"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},{"value":2,"date":"2020-04-07 10:01:32.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":2,"date":"2020-04-01 12:02:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"all":[{"value":0,"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},{"value":1,"date":"2020-04-07 10:01:32.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":0,"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},{"value":0,"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"value":0,"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Release Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-04-01 12:02:57.000000000","updated_by":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"reviewer":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"state":"REVIEWER"},{"updated":"2020-04-07 10:01:32.000000000","updated_by":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"reviewer":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"state":"REVIEWER"},{"updated":"2020-04-09 05:03:45.000000000","updated_by":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"reviewer":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"state":"REVIEWER"},{"updated":"2020-04-09 07:30:55.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"f64c4cd6b47e8d65122821cf7342fccdf83ef262","author":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"date":"2020-04-01 10:14:37.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"ddb48850241881259795ee84a6ee3e08b73cf130","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-01 11:25:44.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- nodejs10-npm-run-lint https://zuul.opendev.org/t/openstack/build/3ea102879160487fae0c7e70d76be133 : SUCCESS in 7m 13s\n- nodejs10-npm-run-test https://zuul.opendev.org/t/openstack/build/aa7c27b67948427fbf036c8894934e04 : SUCCESS in 9m 50s\n- horizon-openstack-tox-python3-django111 https://zuul.opendev.org/t/openstack/build/803e519162cf4995b8cff2a6cf84ce13 : SUCCESS in 10m 36s\n- horizon-openstack-tox-python3-django22 https://zuul.opendev.org/t/openstack/build/e1b3f44c0a954dd0afa50a7038386fe7 : SUCCESS in 11m 45s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ba0f115251294e349d1b38c8835fd886 : SUCCESS in 13m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e4a679b96c8d42faa0a0a0b39e3048ea : SUCCESS in 8m 35s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/497688cc37a24e91830356822638a16a : SUCCESS in 12m 53s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e83bd537c9e541fabfe29f54229ff928 : SUCCESS in 11m 24s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/9981696d8ade4b21b5a5d51777415ff0 : SUCCESS in 10m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ad7d8e289d074608a4947eb9febedc33 : SUCCESS in 11m 33s\n- horizon-selenium-headless https://zuul.opendev.org/t/openstack/build/688e7e3ba876411b945261480cc6621a : SUCCESS in 7m 31s\n- horizon-integration-tests https://zuul.opendev.org/t/openstack/build/837ca551573b49e3a59b7a754126215c : SUCCESS in 1h 04m 38s\n- horizon-dsvm-tempest-plugin https://zuul.opendev.org/t/openstack/build/6d19c4b17c6f4c28963aaab9d37eae18 : SUCCESS in 52m 47s\n- horizon-dsvm-tempest-plugin-py27 https://zuul.opendev.org/t/openstack/build/96dd04c7b11c470db6c6dfd276ec88c6 : SUCCESS in 47m 47s\n- horizon-tox-bandit-baseline https://zuul.opendev.org/t/openstack/build/fd783a2678764cf79be5b10604f88039 : SUCCESS in 7m 04s\n- horizon-tempest-plugin-ipv6 https://zuul.opendev.org/t/openstack/build/d260a93538ce4783aea5d73afd9a7948 : SUCCESS in 37m 46s","accounts_in_message":[],"_revision_number":1},{"id":"d2fc85f40df4a2f35559f2b7a3c62447e1e54a25","author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"date":"2020-04-01 12:02:57.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"d759cb0122f596e3e4efc05fd96efc80478f3546","author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"date":"2020-04-07 10:01:32.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"90f0fec522be1fd82b3ebd1db8ffa6e9565953c8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-07 10:01:46.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"1f38b9fc5153f40b27d38daf7b80214fd83fd3b0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-07 11:12:45.000000000","message":"Patch Set 1: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- nodejs10-npm-run-lint https://zuul.opendev.org/t/openstack/build/acf27de5abcd4cab8fc1ade70c1d8020 : SUCCESS in 7m 39s\n- nodejs10-npm-run-test https://zuul.opendev.org/t/openstack/build/791df24c94d1408d89820ea3c467316b : SUCCESS in 10m 21s\n- horizon-openstack-tox-python3-django111 https://zuul.opendev.org/t/openstack/build/06c75af7526b40c58b8dfe5b63ffa689 : SUCCESS in 11m 20s\n- horizon-openstack-tox-python3-django22 https://zuul.opendev.org/t/openstack/build/16fc7c4e4d8946a7b7a0eac68fc8cb40 : SUCCESS in 11m 46s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/762abc52bb024ae2bca8132844873ab7 : SUCCESS in 14m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bc6ab8a988b44be1a652f044217fb304 : SUCCESS in 8m 28s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/56a226975d9b4ed7bd7ede13b0879889 : SUCCESS in 11m 10s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/58e590deeb44402fa66404f5465d46c3 : SUCCESS in 11m 39s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/babf7c3c91f04789879923a0b3ec2ef3 : SUCCESS in 11m 04s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/56e0d444a215404a98dbd0da0df2eb51 : SUCCESS in 9m 33s\n- horizon-dsvm-tempest-plugin https://zuul.opendev.org/t/openstack/build/70c81ded4d5043f38c48def1690c1b72 : SUCCESS in 37m 42s\n- horizon-dsvm-tempest-plugin-py27 https://zuul.opendev.org/t/openstack/build/d6b9b35596f64230afce6a2899d5cf08 : FAILURE in 35m 41s\n- horizon-selenium-headless https://zuul.opendev.org/t/openstack/build/024c22765cce494980c987ef0f68284b : SUCCESS in 8m 10s\n- horizon-integration-tests https://zuul.opendev.org/t/openstack/build/93d1a5986cbb45e08964b0ef530b750a : SUCCESS in 1h 07m 24s\n- horizon-tempest-plugin-ipv6 https://zuul.opendev.org/t/openstack/build/e0a40d865f8440398ef7d68e124b431a : SUCCESS in 40m 23s\n\nWarning:\n  Comments left for invalid file horizon/test/helpers.py","accounts_in_message":[],"_revision_number":1},{"id":"ea97e1f43e68853d498e3e8438128e27412238d3","author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"date":"2020-04-09 05:03:45.000000000","message":"Patch Set 1:\n\nrecheck.","accounts_in_message":[],"_revision_number":1},{"id":"4256a60d540818b81a1e8b2bd7e53ecd96758f2a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-09 06:14:02.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- nodejs10-npm-run-lint https://zuul.opendev.org/t/openstack/build/88be85c68d57498cb3badbb94fe47c3c : SUCCESS in 4m 58s\n- nodejs10-npm-run-test https://zuul.opendev.org/t/openstack/build/fd8137c07f7a4fb9b6f57ffc784a7008 : SUCCESS in 6m 58s\n- horizon-openstack-tox-python3-django111 https://zuul.opendev.org/t/openstack/build/6fe96741a86a4d5eaa15a489fd999660 : SUCCESS in 8m 45s\n- horizon-openstack-tox-python3-django22 https://zuul.opendev.org/t/openstack/build/dcc9d280709e4ad89b784e8b04e16503 : SUCCESS in 10m 22s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9c2b3575480047fd852aabf4edd15620 : SUCCESS in 11m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d0c6eb5df931425db797b866b89fc042 : SUCCESS in 6m 54s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/8d8ff7b742fe4b5e9ed8eea8f6346632 : SUCCESS in 10m 29s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/96653163875743f6b120142cc11c6ef0 : SUCCESS in 8m 25s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/536e1d850bd740d4a7aeded944d47980 : SUCCESS in 9m 20s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/10d6a073ffa540789c9137753d8bae39 : SUCCESS in 6m 37s\n- horizon-selenium-headless https://zuul.opendev.org/t/openstack/build/7351377ca35e4a508711b06641679a37 : SUCCESS in 6m 21s\n- horizon-integration-tests https://zuul.opendev.org/t/openstack/build/7716d58d38b64aeb833894b7ffda5b11 : SUCCESS in 1h 05m 05s\n- horizon-dsvm-tempest-plugin https://zuul.opendev.org/t/openstack/build/a78a158b74df4166b2e027e35af64582 : SUCCESS in 32m 19s\n- horizon-dsvm-tempest-plugin-py27 https://zuul.opendev.org/t/openstack/build/19f6228e44f741528a0d9a7745735d2c : SUCCESS in 34m 30s\n- horizon-tox-bandit-baseline https://zuul.opendev.org/t/openstack/build/cb46300e0da64b52930ea67b4b9acf44 : SUCCESS in 5m 15s\n- horizon-tempest-plugin-ipv6 https://zuul.opendev.org/t/openstack/build/103f4ccf8d5f4580b436c905b41ef97e : SUCCESS in 33m 58s\n\nWarning:\n  Comments left for invalid file horizon/test/helpers.py","accounts_in_message":[],"_revision_number":1},{"id":"75cfad3a2ec0e0643109b230e43945f95a78be97","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-09 06:14:18.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"b1226d5e0467fe4b9d0f7f47f4487430d6f2ac92","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-09 07:30:55.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- nodejs10-npm-run-lint https://zuul.opendev.org/t/openstack/build/648a54898ff54e7388134d7e9d6ad8a6 : SUCCESS in 6m 39s\n- nodejs10-npm-run-test https://zuul.opendev.org/t/openstack/build/5b335a813a5841e9b3ad41a46d23f607 : SUCCESS in 8m 27s\n- horizon-openstack-tox-python3-django111 https://zuul.opendev.org/t/openstack/build/c2d6870b9b144073bdf4364bfe1c8e33 : SUCCESS in 11m 15s\n- horizon-openstack-tox-python3-django22 https://zuul.opendev.org/t/openstack/build/d54428ad6121490e89ee0a55e1983f78 : SUCCESS in 11m 50s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/53fce08a923f49d4836f518bc85a1be6 : SUCCESS in 11m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/930f4545c3d743f8a55baeed23d4c11e : SUCCESS in 7m 29s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/ed55c7df93174c3483d90aec8fe4ff75 : SUCCESS in 11m 44s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/6f1d6ad32e8e457a98462855e6901c41 : SUCCESS in 10m 36s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/6c0137c279e84a8ca6584d4adc408fe9 : SUCCESS in 9m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5701e4047c3d4b7e8a3365727256f5e0 : SUCCESS in 6m 50s\n- horizon-dsvm-tempest-plugin https://zuul.opendev.org/t/openstack/build/e01ee8c34b90462abd4c88f67cd7c980 : SUCCESS in 47m 07s\n- horizon-dsvm-tempest-plugin-py27 https://zuul.opendev.org/t/openstack/build/ccc95777b1574dce89adb2f6521f3f9a : SUCCESS in 42m 47s\n- horizon-selenium-headless https://zuul.opendev.org/t/openstack/build/ec4916d4b0c8442eb08339dee3670af0 : SUCCESS in 8m 11s\n- horizon-integration-tests https://zuul.opendev.org/t/openstack/build/a8c081a25d0e42fe8cabd3ddcb88788f : SUCCESS in 1h 09m 25s\n- horizon-tempest-plugin-ipv6 https://zuul.opendev.org/t/openstack/build/fa1968c1ab47436296067ee218f79f32 : SUCCESS in 38m 37s","accounts_in_message":[],"_revision_number":1},{"id":"2ce5720c4005d367ae0901610ac7dd2e766858fe","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-09 07:30:56.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"674e65170c61787308dac21f19997927ee12382e","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-09 07:34:43.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3179bb8d01ee45468de92ee2227c6e04 : SUCCESS in 2m 53s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"cf6bc991e5133abdece81a57712b3037822eea3e","revisions":{"cf6bc991e5133abdece81a57712b3037822eea3e":{"kind":"REWORK","_number":1,"created":"2020-04-01 10:14:37.000000000","uploader":{"_account_id":20312,"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","username":"skazi"},"ref":"refs/changes/39/716539/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/horizon","ref":"refs/changes/39/716539/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/horizon refs/changes/39/716539/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/horizon refs/changes/39/716539/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/horizon refs/changes/39/716539/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/horizon refs/changes/39/716539/1"}}},"commit":{"parents":[{"commit":"e058e381607e93439a59f47c36e6a9b7cf61cc71","subject":"Allow to evacuate without specifying a target host","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/horizon/commit/e058e381607e93439a59f47c36e6a9b7cf61cc71"}]}],"author":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2020-03-12 20:50:49.000000000","tz":60},"committer":{"name":"Jacek Tomasiak","email":"jacek.tomasiak@gmail.com","date":"2020-04-01 10:14:37.000000000","tz":0},"subject":"Authenticate before Authorization","message":"Authenticate before Authorization\n\nWhen user is not logged in and given Dashboard has some `permissions`\ndefined, `require_perms` decorator was raising `NotAuthorized(\u0027You are\nnot authorized to access %s\u0027)` instead of `NotAuthenticated(\u0027Please log\nin to continue.\u0027)`.\nThis was caused by the order of decorating the views. The decorator\nwhich is applied last is called first in the chain as it wraps the\ndecorators which were applied before.\nThis means that to check for authentication before checking permissions\nwe need to apply the `require_auth` decorator after `require_perms`.\n\nCloses-Bug: 1869708\nChange-Id: I94d3fa5c1472bb72c9111cab14c6e05180f88589\n(cherry picked from commit e4fd69292c4a8340eba33f5c9d516796472e9269)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/horizon/commit/cf6bc991e5133abdece81a57712b3037822eea3e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/horizon/commit/cf6bc991e5133abdece81a57712b3037822eea3e"}]},"branch":"refs/heads/stable/train"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
