diff --git a/apps/jars/admin.py b/apps/jars/admin.py index 66198f7..4e93887 100644 --- a/apps/jars/admin.py +++ b/apps/jars/admin.py @@ -1,6 +1,7 @@ from django.contrib import admin -from .models import JARSConfiguration +from .models import JARSConfiguration, JARSfilter # Register your models here. admin.site.register(JARSConfiguration) +admin.site.register(JARSfilter) diff --git a/apps/jars/forms.py b/apps/jars/forms.py index 2e643d1..3034c89 100644 --- a/apps/jars/forms.py +++ b/apps/jars/forms.py @@ -28,7 +28,7 @@ class JARSConfigurationForm(forms.ModelForm): class Meta: model = JARSConfiguration - exclude = ('type', 'parameters', 'status') + exclude = ('type', 'parameters', 'status', 'filter_parms') class JARSfilterForm(forms.ModelForm): diff --git a/apps/jars/models.py b/apps/jars/models.py index 6a6bfea..7382a75 100644 --- a/apps/jars/models.py +++ b/apps/jars/models.py @@ -28,7 +28,35 @@ class JARSfilter(models.Model): class Meta: db_table = 'jars_filters' - #ordering = ['channel'] + + def __unicode__(self): + return u'%s' % (self.name) + + def parms_to_dict(self): + + parameters = {} + + parameters['name'] = self.name + parameters['clock'] = float(self.clock) + parameters['mult'] = int(self.mult) + parameters['fch'] = float(self.fch) + parameters['filter_fir'] = int(self.filter_fir) + parameters['filter_2'] = int(self.filter_2) + parameters['filter_5'] = int(self.filter_5) + parameters['speed'] = int(self.speed) + + return parameters + + def dict_to_parms(self, parameters): + + self.name = parameters['name'] + self.clock = parameters['clock'] + self.mult = parameters['mult'] + self.fch = parameters['fch'] + self.filter_fir = parameters['filter_fir'] + self.filter_2 = parameters['filter_2'] + self.filter_5 = parameters['filter_5'] + self.speed = parameters['speed'] class JARSConfiguration(Configuration): @@ -59,6 +87,7 @@ class JARSConfiguration(Configuration): acq_link = models.BooleanField(verbose_name='Acquisition Link', default=True) view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True) save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True) + filter_parms = models.CharField(max_length=10000, default='{}') class Meta: db_table = 'jars_configurations' @@ -86,6 +115,10 @@ class JARSConfiguration(Configuration): return parameters + def add_parms_to_filter(self): + self.filter_parms = self.filter.parms_to_dict() + self.save() + def dict_to_parms(self, parameters): return diff --git a/apps/jars/views.py b/apps/jars/views.py index 9c94c5a..cb41027 100644 --- a/apps/jars/views.py +++ b/apps/jars/views.py @@ -23,10 +23,12 @@ def jars_conf(request, id_conf): kwargs['dev_conf'] = conf kwargs['dev_conf_keys'] = ['experiment', 'device', - 'cards_number', 'channels_number', - 'rd_directory', 'create_directory', - 'include_expname', 'raw_data_blocks', - 'acq_profiles', 'profiles_block', 'filter'] + 'cards_number', 'channels_number', 'channels', + 'rd_directory', 'raw_data_blocks', 'data_type', + 'acq_profiles', 'profiles_block', 'fftpoints', + 'incohe_integr', 'filter', 'spectral_number', + 'spectral', 'create_directory', 'include_expname', + 'acq_link', 'view_raw_data', 'save_ch_dc'] kwargs['title'] = 'JARS Configuration' kwargs['suptitle'] = 'Details' @@ -73,6 +75,16 @@ def view_filter(request, conf_id, filter_id): conf = get_object_or_404(JARSConfiguration, pk=conf_id) filter = get_object_or_404(JARSfilter, pk=filter_id) + filter_parms = eval(conf.filter_parms) + filter.name = filter_parms['name'] + filter.clock = filter_parms['clock'] + filter.mult = filter_parms['mult'] + filter.fch = filter_parms['fch'] + filter.filter_fir = filter_parms['filter_fir'] + filter.filter_2 = filter_parms['filter_2'] + filter.filter_5 = filter_parms['filter_5'] + filter.speed = filter_parms['speed'] + kwargs = {} kwargs['conf'] = conf kwargs['filter'] = filter @@ -93,20 +105,35 @@ def view_filter(request, conf_id, filter_id): def edit_filter(request, conf_id, filter_id): conf = get_object_or_404(JARSConfiguration, pk=conf_id) + filter_parms = eval(conf.filter_parms) if filter_id: filter = get_object_or_404(JARSfilter, pk=filter_id) if request.method=='GET': - form = JARSfilterForm(instance=filter) + form = JARSfilterForm(initial=filter_parms) if request.method=='POST': + parms = {} + parms['name'] = request.POST['name'] + parms['clock'] = request.POST['clock'] + parms['mult'] = request.POST['mult'] + parms['fch'] = request.POST['fch'] + parms['filter_fir'] = request.POST['filter_fir'] + parms['filter_2'] = request.POST['filter_2'] + parms['filter_5'] = request.POST['filter_5'] + parms['speed'] = request.POST['speed'] + + conf.filter_parms = parms + conf.save() + #form = JARSfilterForm(request.POST) - form = JARSfilterForm(request.POST, instance=filter) - if form.is_valid(): - form.save() - messages.success(request, 'JARS Filter successfully updated') - return redirect('url_jars_filter', conf.id, filter.id) + #form = JARSfilterForm(request.POST, instance=filter) + #if form.is_valid(): + #form.save() + # messages.success(request, 'JARS Filter successfully updated') + # return redirect('url_jars_filter', conf.id, filter.id) + return redirect('url_jars_filter', conf.id, filter.id) kwargs = {} kwargs['form'] = form