prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  [Documentation] Docs link is Absolute, not Relative
  The documentation link always goes to `https://uclapi.com/docs`, even if running in, for example, staging. Just linking to `/docs` would be adequate to fix this.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `backend/uclapi/resources/views.py`
  Content:
  ```
  1 import os
  2 import requests
  3 
  4 from lxml import etree
  5 
  6 from common.decorators import uclapi_protected_endpoint
  7 from common.helpers import PrettyJsonResponse as JsonResponse
  8 
  9 from rest_framework.decorators import api_view
  10 
  11 
  12 @api_view(['GET'])
  13 @uclapi_protected_endpoint()
  14 def get_pc_availability(request, *args, **kwargs):
  15     try:
  16         r = requests.get(os.environ["PCA_LINK"])
  17     except requests.exceptions.MissingSchema:
  18         resp = JsonResponse({
  19             "ok": False,
  20             "error": ("Could not retrieve availability data."
  21                       " Please try again later or contact us for support.")
  22         }, rate_limiting_data=kwargs)
  23         resp.status_code = 400
  24         return resp
  25 
  26     try:
  27         e = etree.fromstring(r.content)
  28     except (ValueError, etree.XMLSyntaxError):
  29         resp = JsonResponse({
  30             "ok": False,
  31             "error": ("Could not parse the desktop availability data."
  32                       " Please try again later or contact us for support.")
  33         }, rate_limiting_data=kwargs)
  34         resp.status_code = 400
  35         return resp
  36 
  37     data = []
  38     for pc in e.findall("room"):
  39         _ = pc.get
  40         data.append({
  41             "location": {
  42                 "room_name": _("location"),
  43                 "room_id": _("rid"),
  44                 "latitude": _("latitude"),
  45                 "longitude": _("longitude"),
  46                 "building_name": _("buildingName"),
  47                 "address": _("buildingAddress"),
  48                 "postcode": _("buildingPostCode")
  49             },
  50             "free_seats": _("free"),
  51             "total_seats": _("seats"),
  52             "room_status": _("info")
  53         })
  54 
  55     return JsonResponse({
  56         "ok": True,
  57         "data": data
  58     }, rate_limiting_data=kwargs)
  59
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/backend/uclapi/resources/views.py b/backend/uclapi/resources/views.py
  --- a/backend/uclapi/resources/views.py
  +++ b/backend/uclapi/resources/views.py
  @@ -45,7 +45,7 @@
                   "longitude": _("longitude"),
                   "building_name": _("buildingName"),
                   "address": _("buildingAddress"),
  -                "postcode": _("buildingPostCode")
  +                "postcode": _("buildingPostcode")
               },
               "free_seats": _("free"),
               "total_seats": _("seats"),
  
verification_info: {"golden_diff": "diff --git a/backend/uclapi/resources/views.py b/backend/uclapi/resources/views.py\n--- a/backend/uclapi/resources/views.py\n+++ b/backend/uclapi/resources/views.py\n@@ -45,7 +45,7 @@\n                 \"longitude\": _(\"longitude\"),\n                 \"building_name\": _(\"buildingName\"),\n                 \"address\": _(\"buildingAddress\"),\n-                \"postcode\": _(\"buildingPostCode\")\n+                \"postcode\": _(\"buildingPostcode\")\n             },\n             \"free_seats\": _(\"free\"),\n             \"total_seats\": _(\"seats\"),\n", "issue": "[Documentation] Docs link is Absolute, not Relative\nThe documentation link always goes to `https://uclapi.com/docs`, even if running in, for example, staging. Just linking to `/docs` would be adequate to fix this.\n", "before_files": [{"content": "import os\nimport requests\n\nfrom lxml import etree\n\nfrom common.decorators import uclapi_protected_endpoint\nfrom common.helpers import PrettyJsonResponse as JsonResponse\n\nfrom rest_framework.decorators import api_view\n\n\n@api_view(['GET'])\n@uclapi_protected_endpoint()\ndef get_pc_availability(request, *args, **kwargs):\n    try:\n        r = requests.get(os.environ[\"PCA_LINK\"])\n    except requests.exceptions.MissingSchema:\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not retrieve availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    try:\n        e = etree.fromstring(r.content)\n    except (ValueError, etree.XMLSyntaxError):\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not parse the desktop availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    data = []\n    for pc in e.findall(\"room\"):\n        _ = pc.get\n        data.append({\n            \"location\": {\n                \"room_name\": _(\"location\"),\n                \"room_id\": _(\"rid\"),\n                \"latitude\": _(\"latitude\"),\n                \"longitude\": _(\"longitude\"),\n                \"building_name\": _(\"buildingName\"),\n                \"address\": _(\"buildingAddress\"),\n                \"postcode\": _(\"buildingPostCode\")\n            },\n            \"free_seats\": _(\"free\"),\n            \"total_seats\": _(\"seats\"),\n            \"room_status\": _(\"info\")\n        })\n\n    return JsonResponse({\n        \"ok\": True,\n        \"data\": data\n    }, rate_limiting_data=kwargs)\n", "path": "backend/uclapi/resources/views.py"}], "after_files": [{"content": "import os\nimport requests\n\nfrom lxml import etree\n\nfrom common.decorators import uclapi_protected_endpoint\nfrom common.helpers import PrettyJsonResponse as JsonResponse\n\nfrom rest_framework.decorators import api_view\n\n\n@api_view(['GET'])\n@uclapi_protected_endpoint()\ndef get_pc_availability(request, *args, **kwargs):\n    try:\n        r = requests.get(os.environ[\"PCA_LINK\"])\n    except requests.exceptions.MissingSchema:\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not retrieve availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    try:\n        e = etree.fromstring(r.content)\n    except (ValueError, etree.XMLSyntaxError):\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not parse the desktop availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    data = []\n    for pc in e.findall(\"room\"):\n        _ = pc.get\n        data.append({\n            \"location\": {\n                \"room_name\": _(\"location\"),\n                \"room_id\": _(\"rid\"),\n                \"latitude\": _(\"latitude\"),\n                \"longitude\": _(\"longitude\"),\n                \"building_name\": _(\"buildingName\"),\n                \"address\": _(\"buildingAddress\"),\n                \"postcode\": _(\"buildingPostcode\")\n            },\n            \"free_seats\": _(\"free\"),\n            \"total_seats\": _(\"seats\"),\n            \"room_status\": _(\"info\")\n        })\n\n    return JsonResponse({\n        \"ok\": True,\n        \"data\": data\n    }, rate_limiting_data=kwargs)\n", "path": "backend/uclapi/resources/views.py"}]}