Browse Source

#1033: Update ArrayFieldSelectMultiple for Django 1.11

Jeremy Stretch 8 years ago
parent
commit
1ae0820ecc
1 changed files with 4 additions and 9 deletions
  1. 4 9
      netbox/utilities/forms.py

+ 4 - 9
netbox/utilities/forms.py

@@ -8,9 +8,6 @@ from django import forms
 from django.conf import settings
 from django.core.urlresolvers import reverse_lazy
 from django.core.validators import URLValidator
-from django.utils.encoding import force_text
-from django.utils.html import format_html
-from django.utils.safestring import mark_safe
 
 
 COLOR_CHOICES = (
@@ -138,18 +135,16 @@ class SelectWithDisabled(forms.Select):
 
 class ArrayFieldSelectMultiple(SelectWithDisabled, forms.SelectMultiple):
     """
-    MultiSelect widgets for a SimpleArrayField. Choices must be populated on the widget.
+    MultiSelect widget for a SimpleArrayField. Choices must be populated on the widget.
     """
-
     def __init__(self, *args, **kwargs):
         self.delimiter = kwargs.pop('delimiter', ',')
         super(ArrayFieldSelectMultiple, self).__init__(*args, **kwargs)
 
-    def render_options(self, selected_choices):
+    def optgroups(self, name, value, attrs=None):
         # Split the delimited string of values into a list
-        if selected_choices:
-            selected_choices = selected_choices.split(self.delimiter)
-        return super(ArrayFieldSelectMultiple, self).render_options(selected_choices)
+        value = value[0].split(self.delimiter)
+        return super(ArrayFieldSelectMultiple, self).optgroups(name, value, attrs)
 
     def value_from_datadict(self, data, files, name):
         # Condense the list of selected choices into a delimited string