prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Remove the "Users Online" section in footer.
  
  
  </issue>
  <code>
  [start of django/cantusdb_project/main_app/templatetags/helper_tags.py]
  1 import calendar
  2 from typing import Union, Optional
  3 from django.utils.http import urlencode
  4 from django import template
  5 from main_app.models import Source
  6 from django.utils.safestring import mark_safe
  7 
  8 register = template.Library()
  9 
  10 
  11 @register.filter(name="month_to_string")
  12 def month_to_string(value: Optional[Union[str, int]]) -> Optional[Union[str, int]]:
  13     """Converts month number to textual representation, 3 letters (Jan, Mar, etc)"""
  14     if type(value) == int and value in range(1, 13):
  15         return calendar.month_abbr[value]
  16     else:
  17         return value
  18 
  19 
  20 @register.simple_tag(takes_context=True)
  21 def url_add_get_params(context, **kwargs):
  22     query = context["request"].GET.copy()
  23     query.pop("page", None)
  24     query.update(kwargs)
  25     return query.urlencode()
  26 
  27 
  28 @register.simple_tag(takes_context=False)
  29 def source_links():
  30     sources = (
  31         Source.objects.filter(public=True, visible=True, segment__id=4063)
  32         .exclude(siglum=None)
  33         .values("siglum", "id")
  34         .order_by("siglum")
  35     )
  36     options = ""
  37     # <option value="source1">Source 1</option>
  38     # <option value="source2">Source 2</option>
  39     # <option value="source3">Source 3</option>
  40     for source in sources:
  41         option_str = (
  42             f"<option value=source/{source['id']}>{source['siglum']}</option>\n"
  43         )
  44         options += option_str
  45 
  46     return mark_safe(options)
  47
  [end of django/cantusdb_project/main_app/templatetags/helper_tags.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/django/cantusdb_project/main_app/templatetags/helper_tags.py b/django/cantusdb_project/main_app/templatetags/helper_tags.py
  --- a/django/cantusdb_project/main_app/templatetags/helper_tags.py
  +++ b/django/cantusdb_project/main_app/templatetags/helper_tags.py
  @@ -44,3 +44,7 @@
           options += option_str
   
       return mark_safe(options)
  +
  +@register.filter(name='has_group') 
  +def has_group(user, group_name):
  +    return user.groups.filter(name=group_name).exists()
  
verification_info: {"golden_diff": "diff --git a/django/cantusdb_project/main_app/templatetags/helper_tags.py b/django/cantusdb_project/main_app/templatetags/helper_tags.py\n--- a/django/cantusdb_project/main_app/templatetags/helper_tags.py\n+++ b/django/cantusdb_project/main_app/templatetags/helper_tags.py\n@@ -44,3 +44,7 @@\n         options += option_str\n \n     return mark_safe(options)\n+\n+@register.filter(name='has_group') \n+def has_group(user, group_name):\n+    return user.groups.filter(name=group_name).exists()\n", "issue": "Remove the \"Users Online\" section in footer.\n\n", "before_files": [{"content": "import calendar\nfrom typing import Union, Optional\nfrom django.utils.http import urlencode\nfrom django import template\nfrom main_app.models import Source\nfrom django.utils.safestring import mark_safe\n\nregister = template.Library()\n\n\n@register.filter(name=\"month_to_string\")\ndef month_to_string(value: Optional[Union[str, int]]) -> Optional[Union[str, int]]:\n    \"\"\"Converts month number to textual representation, 3 letters (Jan, Mar, etc)\"\"\"\n    if type(value) == int and value in range(1, 13):\n        return calendar.month_abbr[value]\n    else:\n        return value\n\n\n@register.simple_tag(takes_context=True)\ndef url_add_get_params(context, **kwargs):\n    query = context[\"request\"].GET.copy()\n    query.pop(\"page\", None)\n    query.update(kwargs)\n    return query.urlencode()\n\n\n@register.simple_tag(takes_context=False)\ndef source_links():\n    sources = (\n        Source.objects.filter(public=True, visible=True, segment__id=4063)\n        .exclude(siglum=None)\n        .values(\"siglum\", \"id\")\n        .order_by(\"siglum\")\n    )\n    options = \"\"\n    # <option value=\"source1\">Source 1</option>\n    # <option value=\"source2\">Source 2</option>\n    # <option value=\"source3\">Source 3</option>\n    for source in sources:\n        option_str = (\n            f\"<option value=source/{source['id']}>{source['siglum']}</option>\\n\"\n        )\n        options += option_str\n\n    return mark_safe(options)\n", "path": "django/cantusdb_project/main_app/templatetags/helper_tags.py"}]}