prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  HTML Plugin admin interface does not show relevant information
  Some times we have to copy plugins from previous course instances to the current instance. However, it is difficult to know which plugin belongs to the course we want.
  
  **Current view**
  ![image](https://user-images.githubusercontent.com/10437475/105320693-25795a80-5bcf-11eb-974a-0bc3fa5ae45c.png)
  
  **Proposed view**
  ![image](https://user-images.githubusercontent.com/10437475/105320818-5194db80-5bcf-11eb-81b9-73d869a12e26.png)
  
  HTML Plugin admin interface does not show relevant information
  Some times we have to copy plugins from previous course instances to the current instance. However, it is difficult to know which plugin belongs to the course we want.
  
  **Current view**
  ![image](https://user-images.githubusercontent.com/10437475/105320693-25795a80-5bcf-11eb-974a-0bc3fa5ae45c.png)
  
  **Proposed view**
  ![image](https://user-images.githubusercontent.com/10437475/105320818-5194db80-5bcf-11eb-81b9-73d869a12e26.png)
  
  
  </issue>
  <code>
  [start of apps/admin.py]
  1 from django.contrib import admin
  2 
  3 from .models import (
  4     BaseTab,
  5     HTMLTab,
  6     ExternalEmbeddedTab,
  7     ExternalIFrameTab,
  8     BasePlugin,
  9     RSSPlugin,
  10     HTMLPlugin,
  11     ExternalIFramePlugin,
  12 )
  13 
  14 
  15 admin.site.register(BaseTab)
  16 admin.site.register(HTMLTab)
  17 admin.site.register(ExternalEmbeddedTab)
  18 admin.site.register(ExternalIFrameTab)
  19 admin.site.register(BasePlugin)
  20 admin.site.register(RSSPlugin)
  21 admin.site.register(HTMLPlugin)
  22 admin.site.register(ExternalIFramePlugin)
  23
  [end of apps/admin.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/apps/admin.py b/apps/admin.py
  --- a/apps/admin.py
  +++ b/apps/admin.py
  @@ -11,6 +11,12 @@
       ExternalIFramePlugin,
   )
   
  +class HTMLPluginAdmin(admin.ModelAdmin):
  +    list_display_links = ["title"]
  +    list_display = ["title", "course_instance_id", "container_type", "views"]
  +
  +    def course_instance_id(self, obj):
  +        return obj.container_pk
   
   admin.site.register(BaseTab)
   admin.site.register(HTMLTab)
  @@ -18,5 +24,5 @@
   admin.site.register(ExternalIFrameTab)
   admin.site.register(BasePlugin)
   admin.site.register(RSSPlugin)
  -admin.site.register(HTMLPlugin)
  +admin.site.register(HTMLPlugin, HTMLPluginAdmin)
   admin.site.register(ExternalIFramePlugin)
  
verification_info: {"golden_diff": "diff --git a/apps/admin.py b/apps/admin.py\n--- a/apps/admin.py\n+++ b/apps/admin.py\n@@ -11,6 +11,12 @@\n     ExternalIFramePlugin,\n )\n \n+class HTMLPluginAdmin(admin.ModelAdmin):\n+    list_display_links = [\"title\"]\n+    list_display = [\"title\", \"course_instance_id\", \"container_type\", \"views\"]\n+\n+    def course_instance_id(self, obj):\n+        return obj.container_pk\n \n admin.site.register(BaseTab)\n admin.site.register(HTMLTab)\n@@ -18,5 +24,5 @@\n admin.site.register(ExternalIFrameTab)\n admin.site.register(BasePlugin)\n admin.site.register(RSSPlugin)\n-admin.site.register(HTMLPlugin)\n+admin.site.register(HTMLPlugin, HTMLPluginAdmin)\n admin.site.register(ExternalIFramePlugin)\n", "issue": "HTML Plugin admin interface does not show relevant information\nSome times we have to copy plugins from previous course instances to the current instance. However, it is difficult to know which plugin belongs to the course we want.\r\n\r\n**Current view**\r\n![image](https://user-images.githubusercontent.com/10437475/105320693-25795a80-5bcf-11eb-974a-0bc3fa5ae45c.png)\r\n\r\n**Proposed view**\r\n![image](https://user-images.githubusercontent.com/10437475/105320818-5194db80-5bcf-11eb-81b9-73d869a12e26.png)\r\n\nHTML Plugin admin interface does not show relevant information\nSome times we have to copy plugins from previous course instances to the current instance. However, it is difficult to know which plugin belongs to the course we want.\r\n\r\n**Current view**\r\n![image](https://user-images.githubusercontent.com/10437475/105320693-25795a80-5bcf-11eb-974a-0bc3fa5ae45c.png)\r\n\r\n**Proposed view**\r\n![image](https://user-images.githubusercontent.com/10437475/105320818-5194db80-5bcf-11eb-81b9-73d869a12e26.png)\r\n\n", "before_files": [{"content": "from django.contrib import admin\n\nfrom .models import (\n    BaseTab,\n    HTMLTab,\n    ExternalEmbeddedTab,\n    ExternalIFrameTab,\n    BasePlugin,\n    RSSPlugin,\n    HTMLPlugin,\n    ExternalIFramePlugin,\n)\n\n\nadmin.site.register(BaseTab)\nadmin.site.register(HTMLTab)\nadmin.site.register(ExternalEmbeddedTab)\nadmin.site.register(ExternalIFrameTab)\nadmin.site.register(BasePlugin)\nadmin.site.register(RSSPlugin)\nadmin.site.register(HTMLPlugin)\nadmin.site.register(ExternalIFramePlugin)\n", "path": "apps/admin.py"}]}