diff --git a/apps/jars/forms.py b/apps/jars/forms.py
index 31d9944..4085f01 100644
--- a/apps/jars/forms.py
+++ b/apps/jars/forms.py
@@ -1,6 +1,7 @@
from django import forms
from apps.main.models import Device, Experiment
from .models import JARSConfiguration
+from .widgets import SpectralWidget
class JARSConfigurationForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
@@ -15,6 +16,7 @@ class JARSConfigurationForm(forms.ModelForm):
self.fields['experiment'].widget.choices = [(experiment.id, experiment) for experiment in experiments]
self.fields['device'].widget.choices = [(device.id, device) for device in devices]
+ self.fields['spectral'].widget = SpectralWidget()
#-------------JARS Configuration needs an Experiment-----------------
def clean(self):
diff --git a/apps/jars/models.py b/apps/jars/models.py
index 26669b2..8cd7f69 100644
--- a/apps/jars/models.py
+++ b/apps/jars/models.py
@@ -49,7 +49,7 @@ class JARSConfiguration(Configuration):
incohe_integr = models.PositiveIntegerField(verbose_name='Incoherent Integrations',validators=[MinValueValidator(1)], default = 30)
filter = models.ForeignKey(JARSfilter, on_delete=models.CASCADE, null=True, blank=True)
spectral_number = models.PositiveIntegerField(verbose_name='# Spectral Combinations',validators=[MinValueValidator(1)], null=True, blank=True)
- spectral = models.CharField(verbose_name='Combinations', max_length=15, default = '0,0|')
+ spectral = models.CharField(verbose_name='Combinations', max_length=5000, default = '[0,0]')
create_directory = models.BooleanField(verbose_name='Create Directory Per Day', default=True)
include_expname = models.BooleanField(verbose_name='Experiment Name in Directory', default=True)
acq_link = models.BooleanField(verbose_name='Acquisition Link', default=True)
diff --git a/apps/jars/widgets.py b/apps/jars/widgets.py
new file mode 100644
index 0000000..f6695fb
--- /dev/null
+++ b/apps/jars/widgets.py
@@ -0,0 +1,96 @@
+
+import ast
+import json
+from itertools import chain
+
+from django import forms
+from django.utils.safestring import mark_safe
+from django.utils.encoding import force_unicode
+from django.utils.html import conditional_escape
+
+
+class SpectralWidget(forms.widgets.TextInput):
+
+ def render(self, label, value, attrs=None):
+
+ disabled = 'disabled' if attrs.get('disabled', False) else ''
+ name = attrs.get('name', label)
+ if '[' in value:
+ value = ast.literal_eval(value)
+
+ codes = value
+ if not isinstance(value, list):
+ if len(value) > 1:
+ text=''
+ for val in value:
+ text = text+str(val)+','
+ codes=text
+ else:
+ codes=value+","
+
+ html = '''
+
+
+
+
+
+
+
+ '''.format(disabled, label, name, codes)
+
+ script = '''
+
+ '''
+
+ return mark_safe(html+script)
\ No newline at end of file