prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Email draw/custom email/motions page formatting error
  Running the latest develop branch v2.3.0A.
  
  The message box on the email draw/custom email motions page is obscured/broken as per the picture running Windows 10/Google Chrome. 
  
  Error reproduced on a Mac/Google Chrome. 
  
  ![image](https://user-images.githubusercontent.com/3196468/62782659-cfb20f00-bb0e-11e9-92a2-915ee0cb558d.png)
  
  
  </issue>
  <code>
  [start of tabbycat/notifications/forms.py]
  1 from django import forms
  2 from django.conf import settings
  3 from django.core.mail import send_mail
  4 from django.utils.translation import gettext as _, gettext_lazy
  5 from django_summernote.widgets import SummernoteWidget
  6 
  7 
  8 class TestEmailForm(forms.Form):
  9     """Simple form that just sends a test email."""
  10 
  11     recipient = forms.EmailField(label=gettext_lazy("Recipient email address"), required=True)
  12 
  13     def send_email(self, host):
  14         send_mail(
  15             _("Test email from %(host)s") % {'host': host},
  16             _("Congratulations! If you're reading this message, your email "
  17               "backend on %(host)s looks all good to go!") % {'host': host},
  18             settings.DEFAULT_FROM_EMAIL,
  19             [self.cleaned_data['recipient']],
  20         )
  21         return self.cleaned_data['recipient']
  22 
  23 
  24 class BasicEmailForm(forms.Form):
  25     """A base class for an email form with fields for subject/message
  26 
  27     Note that the list of recipients is handled by Vue, bypassing this Form."""
  28 
  29     subject_line = forms.CharField(label=_("Subject"), required=True, max_length=78)
  30     message_body = forms.CharField(label=_("Message"), required=True, widget=SummernoteWidget(attrs={'height': 150}))
  31
  [end of tabbycat/notifications/forms.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/tabbycat/notifications/forms.py b/tabbycat/notifications/forms.py
  --- a/tabbycat/notifications/forms.py
  +++ b/tabbycat/notifications/forms.py
  @@ -27,4 +27,5 @@
       Note that the list of recipients is handled by Vue, bypassing this Form."""
   
       subject_line = forms.CharField(label=_("Subject"), required=True, max_length=78)
  -    message_body = forms.CharField(label=_("Message"), required=True, widget=SummernoteWidget(attrs={'height': 150}))
  +    message_body = forms.CharField(label=_("Message"), required=True, widget=SummernoteWidget(
  +        attrs={'height': 150, 'class': 'form-summernote'}))
  
verification_info: {"golden_diff": "diff --git a/tabbycat/notifications/forms.py b/tabbycat/notifications/forms.py\n--- a/tabbycat/notifications/forms.py\n+++ b/tabbycat/notifications/forms.py\n@@ -27,4 +27,5 @@\n     Note that the list of recipients is handled by Vue, bypassing this Form.\"\"\"\n \n     subject_line = forms.CharField(label=_(\"Subject\"), required=True, max_length=78)\n-    message_body = forms.CharField(label=_(\"Message\"), required=True, widget=SummernoteWidget(attrs={'height': 150}))\n+    message_body = forms.CharField(label=_(\"Message\"), required=True, widget=SummernoteWidget(\n+        attrs={'height': 150, 'class': 'form-summernote'}))\n", "issue": "Email draw/custom email/motions page formatting error\nRunning the latest develop branch v2.3.0A.\r\n\r\nThe message box on the email draw/custom email motions page is obscured/broken as per the picture running Windows 10/Google Chrome. \r\n\r\nError reproduced on a Mac/Google Chrome. \r\n\r\n![image](https://user-images.githubusercontent.com/3196468/62782659-cfb20f00-bb0e-11e9-92a2-915ee0cb558d.png)\r\n\n", "before_files": [{"content": "from django import forms\nfrom django.conf import settings\nfrom django.core.mail import send_mail\nfrom django.utils.translation import gettext as _, gettext_lazy\nfrom django_summernote.widgets import SummernoteWidget\n\n\nclass TestEmailForm(forms.Form):\n    \"\"\"Simple form that just sends a test email.\"\"\"\n\n    recipient = forms.EmailField(label=gettext_lazy(\"Recipient email address\"), required=True)\n\n    def send_email(self, host):\n        send_mail(\n            _(\"Test email from %(host)s\") % {'host': host},\n            _(\"Congratulations! If you're reading this message, your email \"\n              \"backend on %(host)s looks all good to go!\") % {'host': host},\n            settings.DEFAULT_FROM_EMAIL,\n            [self.cleaned_data['recipient']],\n        )\n        return self.cleaned_data['recipient']\n\n\nclass BasicEmailForm(forms.Form):\n    \"\"\"A base class for an email form with fields for subject/message\n\n    Note that the list of recipients is handled by Vue, bypassing this Form.\"\"\"\n\n    subject_line = forms.CharField(label=_(\"Subject\"), required=True, max_length=78)\n    message_body = forms.CharField(label=_(\"Message\"), required=True, widget=SummernoteWidget(attrs={'height': 150}))\n", "path": "tabbycat/notifications/forms.py"}]}