prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  No "moderation tasks" filter in participatory budget (one phase)
  **URL:** https://meinberlin-dev.liqd.net/projekte/module/burgerhaushalt/?mode=list (list view)
  or https://meinberlin-dev.liqd.net/dashboard/projects/burgerhaushalt-spandau/basic/ (dashboard)
  **user:** Moderator, Admin
  **expected behaviour:** When using participatory budget with one phase i want to be able to set up moderation tasks for the discussion of ideas and want to filter ideas with an filter "open moderationtasks"
  **behaviour:** There is no filter "moderation tasks" in the list view of ideas in participatory budget (one phase) nor is there the possibility to create moderation tasks in the dashboard of the project
  **important screensize:** no
  **device & browser:** Mac/Windows Chrome, Edge Firefox, Iphone, Samsung Galaxy 20
  
  
  
  
  
  </issue>
  <code>
  [start of meinberlin/apps/moderationtasks/dashboard.py]
  1 from django.utils.translation import gettext_lazy as _
  2 
  3 from adhocracy4.dashboard import ModuleFormSetComponent
  4 from adhocracy4.dashboard import components
  5 
  6 from . import forms
  7 
  8 
  9 class ModerationTasksComponent(ModuleFormSetComponent):
  10     identifier = 'moderation_tasks'
  11     weight = 15
  12     label = _('Moderation Tasks')
  13 
  14     form_title = _('Edit moderation tasks')
  15     form_class = forms.ModerationTasksFormSet
  16     form_template_name = \
  17         'meinberlin_moderationtasks/moderation_tasks_form.html'
  18 
  19     def is_effective(self, module):
  20         return module.blueprint_type in ['PB1', 'PB2', 'PB3']
  21 
  22 
  23 components.register_module(ModerationTasksComponent())
  24
  [end of meinberlin/apps/moderationtasks/dashboard.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/meinberlin/apps/moderationtasks/dashboard.py b/meinberlin/apps/moderationtasks/dashboard.py
  --- a/meinberlin/apps/moderationtasks/dashboard.py
  +++ b/meinberlin/apps/moderationtasks/dashboard.py
  @@ -17,7 +17,7 @@
           'meinberlin_moderationtasks/moderation_tasks_form.html'
   
       def is_effective(self, module):
  -        return module.blueprint_type in ['PB1', 'PB2', 'PB3']
  +        return module.blueprint_type in ['PB', 'PB2', 'PB3']
   
   
   components.register_module(ModerationTasksComponent())
  
verification_info: {"golden_diff": "diff --git a/meinberlin/apps/moderationtasks/dashboard.py b/meinberlin/apps/moderationtasks/dashboard.py\n--- a/meinberlin/apps/moderationtasks/dashboard.py\n+++ b/meinberlin/apps/moderationtasks/dashboard.py\n@@ -17,7 +17,7 @@\n         'meinberlin_moderationtasks/moderation_tasks_form.html'\n \n     def is_effective(self, module):\n-        return module.blueprint_type in ['PB1', 'PB2', 'PB3']\n+        return module.blueprint_type in ['PB', 'PB2', 'PB3']\n \n \n components.register_module(ModerationTasksComponent())\n", "issue": "No \"moderation tasks\" filter in participatory budget (one phase)\n**URL:** https://meinberlin-dev.liqd.net/projekte/module/burgerhaushalt/?mode=list (list view)\r\nor https://meinberlin-dev.liqd.net/dashboard/projects/burgerhaushalt-spandau/basic/ (dashboard)\r\n**user:** Moderator, Admin\r\n**expected behaviour:** When using participatory budget with one phase i want to be able to set up moderation tasks for the discussion of ideas and want to filter ideas with an filter \"open moderationtasks\"\r\n**behaviour:** There is no filter \"moderation tasks\" in the list view of ideas in participatory budget (one phase) nor is there the possibility to create moderation tasks in the dashboard of the project\r\n**important screensize:** no\r\n**device & browser:** Mac/Windows Chrome, Edge Firefox, Iphone, Samsung Galaxy 20\r\n\r\n\r\n\r\n\n", "before_files": [{"content": "from django.utils.translation import gettext_lazy as _\n\nfrom adhocracy4.dashboard import ModuleFormSetComponent\nfrom adhocracy4.dashboard import components\n\nfrom . import forms\n\n\nclass ModerationTasksComponent(ModuleFormSetComponent):\n    identifier = 'moderation_tasks'\n    weight = 15\n    label = _('Moderation Tasks')\n\n    form_title = _('Edit moderation tasks')\n    form_class = forms.ModerationTasksFormSet\n    form_template_name = \\\n        'meinberlin_moderationtasks/moderation_tasks_form.html'\n\n    def is_effective(self, module):\n        return module.blueprint_type in ['PB1', 'PB2', 'PB3']\n\n\ncomponents.register_module(ModerationTasksComponent())\n", "path": "meinberlin/apps/moderationtasks/dashboard.py"}]}