##// END OF EJS Templates
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@157 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
Fiorella Quino -
r136:82a57ea8b8e3
parent child
Show More
@@ -1,6 +1,7
1 from django.contrib import admin
1 from django.contrib import admin
2 from .models import JARSConfiguration
2 from .models import JARSConfiguration, JARSfilter
3
3
4 # Register your models here.
4 # Register your models here.
5
5
6 admin.site.register(JARSConfiguration)
6 admin.site.register(JARSConfiguration)
7 admin.site.register(JARSfilter)
@@ -1,41 +1,41
1 from django import forms
1 from django import forms
2 from apps.main.models import Device, Experiment
2 from apps.main.models import Device, Experiment
3 from .models import JARSConfiguration, JARSfilter
3 from .models import JARSConfiguration, JARSfilter
4 from .widgets import SpectralWidget
4 from .widgets import SpectralWidget
5
5
6 class JARSConfigurationForm(forms.ModelForm):
6 class JARSConfigurationForm(forms.ModelForm):
7 def __init__(self, *args, **kwargs):
7 def __init__(self, *args, **kwargs):
8 super(JARSConfigurationForm, self).__init__(*args, **kwargs)
8 super(JARSConfigurationForm, self).__init__(*args, **kwargs)
9 instance = getattr(self, 'instance', None)
9 instance = getattr(self, 'instance', None)
10
10
11 if instance and instance.pk:
11 if instance and instance.pk:
12 devices = Device.objects.filter(device_type__name='jars')
12 devices = Device.objects.filter(device_type__name='jars')
13
13
14 if instance.experiment:
14 if instance.experiment:
15 experiments = Experiment.objects.filter(pk=instance.experiment.id)
15 experiments = Experiment.objects.filter(pk=instance.experiment.id)
16 self.fields['experiment'].widget.choices = [(experiment.id, experiment) for experiment in experiments]
16 self.fields['experiment'].widget.choices = [(experiment.id, experiment) for experiment in experiments]
17
17
18 self.fields['device'].widget.choices = [(device.id, device) for device in devices]
18 self.fields['device'].widget.choices = [(device.id, device) for device in devices]
19 #self.fields['spectral'].widget = SpectralWidget()
19 #self.fields['spectral'].widget = SpectralWidget()
20 self.fields['spectral'].widget = SpectralWidget()
20 self.fields['spectral'].widget = SpectralWidget()
21 #-------------JARS Configuration needs an Experiment-----------------
21 #-------------JARS Configuration needs an Experiment-----------------
22 def clean(self):
22 def clean(self):
23 cleaned_data = super(JARSConfigurationForm, self).clean()
23 cleaned_data = super(JARSConfigurationForm, self).clean()
24 experiment = cleaned_data.get('experiment')
24 experiment = cleaned_data.get('experiment')
25 if experiment == None:
25 if experiment == None:
26 msg = "Error: Jars Configuration needs an Experiment"
26 msg = "Error: Jars Configuration needs an Experiment"
27 self.add_error('experiment', msg)
27 self.add_error('experiment', msg)
28
28
29 class Meta:
29 class Meta:
30 model = JARSConfiguration
30 model = JARSConfiguration
31 exclude = ('type', 'parameters', 'status')
31 exclude = ('type', 'parameters', 'status', 'filter_parms')
32
32
33
33
34 class JARSfilterForm(forms.ModelForm):
34 class JARSfilterForm(forms.ModelForm):
35 def __init__(self, *args, **kwargs):
35 def __init__(self, *args, **kwargs):
36 super(JARSfilterForm, self).__init__(*args, **kwargs)
36 super(JARSfilterForm, self).__init__(*args, **kwargs)
37 instance = getattr(self, 'instance', None)
37 instance = getattr(self, 'instance', None)
38
38
39 class Meta:
39 class Meta:
40 model = JARSfilter
40 model = JARSfilter
41 exclude = ('type', 'parameters', 'status') No newline at end of file
41 exclude = ('type', 'parameters', 'status')
@@ -1,99 +1,132
1 from django.db import models
1 from django.db import models
2 from apps.main.models import Configuration
2 from apps.main.models import Configuration
3 from django.core.validators import MinValueValidator, MaxValueValidator
3 from django.core.validators import MinValueValidator, MaxValueValidator
4
4
5 from apps.rc.models import RCConfiguration
5 from apps.rc.models import RCConfiguration
6 # Create your models here.
6 # Create your models here.
7
7
8 EXPERIMENT_TYPE = (
8 EXPERIMENT_TYPE = (
9 (0, 'RAW_DATA'),
9 (0, 'RAW_DATA'),
10 (1, 'PDATA'),
10 (1, 'PDATA'),
11 )
11 )
12
12
13 DATA_TYPE = (
13 DATA_TYPE = (
14 (0, 'SHORT'),
14 (0, 'SHORT'),
15 (1, 'FLOAT'),
15 (1, 'FLOAT'),
16 )
16 )
17
17
18 class JARSfilter(models.Model):
18 class JARSfilter(models.Model):
19
19
20 name = models.CharField(max_length=60, unique=True, default='')
20 name = models.CharField(max_length=60, unique=True, default='')
21 clock = models.FloatField(verbose_name='Clock Input (MHz)',validators=[MinValueValidator(5), MaxValueValidator(75)], null=True, default=60)
21 clock = models.FloatField(verbose_name='Clock Input (MHz)',validators=[MinValueValidator(5), MaxValueValidator(75)], null=True, default=60)
22 mult = models.PositiveIntegerField(verbose_name='Multiplier',validators=[MinValueValidator(1), MaxValueValidator(20)], default=5)
22 mult = models.PositiveIntegerField(verbose_name='Multiplier',validators=[MinValueValidator(1), MaxValueValidator(20)], default=5)
23 fch = models.DecimalField(verbose_name='Frequency (MHz)', validators=[MinValueValidator(0), MaxValueValidator(150)], max_digits=19, decimal_places=16, null=True, default=49.9200)
23 fch = models.DecimalField(verbose_name='Frequency (MHz)', validators=[MinValueValidator(0), MaxValueValidator(150)], max_digits=19, decimal_places=16, null=True, default=49.9200)
24 filter_fir = models.PositiveIntegerField(verbose_name='FIR Filter',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 6)
24 filter_fir = models.PositiveIntegerField(verbose_name='FIR Filter',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 6)
25 filter_2 = models.PositiveIntegerField(verbose_name='Filter 2',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 10)
25 filter_2 = models.PositiveIntegerField(verbose_name='Filter 2',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 10)
26 filter_5 = models.PositiveIntegerField(verbose_name='Filter 5',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 1)
26 filter_5 = models.PositiveIntegerField(verbose_name='Filter 5',validators=[MinValueValidator(1), MaxValueValidator(20)], default = 1)
27 speed = models.PositiveIntegerField(verbose_name='Speed',validators=[MinValueValidator(0), MaxValueValidator(100000)], default = 0)
27 speed = models.PositiveIntegerField(verbose_name='Speed',validators=[MinValueValidator(0), MaxValueValidator(100000)], default = 0)
28
28
29 class Meta:
29 class Meta:
30 db_table = 'jars_filters'
30 db_table = 'jars_filters'
31 #ordering = ['channel']
31
32 def __unicode__(self):
33 return u'%s' % (self.name)
34
35 def parms_to_dict(self):
36
37 parameters = {}
38
39 parameters['name'] = self.name
40 parameters['clock'] = float(self.clock)
41 parameters['mult'] = int(self.mult)
42 parameters['fch'] = float(self.fch)
43 parameters['filter_fir'] = int(self.filter_fir)
44 parameters['filter_2'] = int(self.filter_2)
45 parameters['filter_5'] = int(self.filter_5)
46 parameters['speed'] = int(self.speed)
47
48 return parameters
49
50 def dict_to_parms(self, parameters):
51
52 self.name = parameters['name']
53 self.clock = parameters['clock']
54 self.mult = parameters['mult']
55 self.fch = parameters['fch']
56 self.filter_fir = parameters['filter_fir']
57 self.filter_2 = parameters['filter_2']
58 self.filter_5 = parameters['filter_5']
59 self.speed = parameters['speed']
32
60
33
61
34 class JARSConfiguration(Configuration):
62 class JARSConfiguration(Configuration):
35
63
36 ADC_RESOLUTION = 8
64 ADC_RESOLUTION = 8
37 PCI_DIO_BUSWIDTH = 32
65 PCI_DIO_BUSWIDTH = 32
38 HEADER_VERSION = 1103
66 HEADER_VERSION = 1103
39 BEGIN_ON_START = True
67 BEGIN_ON_START = True
40 REFRESH_RATE = 1
68 REFRESH_RATE = 1
41
69
42 rc = models.ForeignKey(RCConfiguration, on_delete=models.CASCADE, null=True)
70 rc = models.ForeignKey(RCConfiguration, on_delete=models.CASCADE, null=True)
43 exp_type = models.PositiveIntegerField(verbose_name='Experiment Type', choices=EXPERIMENT_TYPE, default=0)
71 exp_type = models.PositiveIntegerField(verbose_name='Experiment Type', choices=EXPERIMENT_TYPE, default=0)
44 cards_number = models.PositiveIntegerField(verbose_name='Number of Cards', validators=[MinValueValidator(1), MaxValueValidator(4)], default = 1)
72 cards_number = models.PositiveIntegerField(verbose_name='Number of Cards', validators=[MinValueValidator(1), MaxValueValidator(4)], default = 1)
45 channels_number = models.PositiveIntegerField(verbose_name='Number of Channels', validators=[MinValueValidator(1), MaxValueValidator(8)], default = 5)
73 channels_number = models.PositiveIntegerField(verbose_name='Number of Channels', validators=[MinValueValidator(1), MaxValueValidator(8)], default = 5)
46 channels = models.CharField(verbose_name='Channels', max_length=15, default = '1,2,3,4,5')
74 channels = models.CharField(verbose_name='Channels', max_length=15, default = '1,2,3,4,5')
47 rd_directory = models.CharField(verbose_name='Raw Data Directory', max_length=40, default='', blank=True, null=True)
75 rd_directory = models.CharField(verbose_name='Raw Data Directory', max_length=40, default='', blank=True, null=True)
48 raw_data_blocks = models.PositiveIntegerField(verbose_name='Raw Data Blocks', validators=[MaxValueValidator(5000)], default=120)
76 raw_data_blocks = models.PositiveIntegerField(verbose_name='Raw Data Blocks', validators=[MaxValueValidator(5000)], default=120)
49 data_type = models.PositiveIntegerField(verbose_name='Data Type', choices=DATA_TYPE, default=0)
77 data_type = models.PositiveIntegerField(verbose_name='Data Type', choices=DATA_TYPE, default=0)
50 acq_profiles = models.PositiveIntegerField(verbose_name='Acquired Profiles', validators=[MaxValueValidator(5000)], default=400)
78 acq_profiles = models.PositiveIntegerField(verbose_name='Acquired Profiles', validators=[MaxValueValidator(5000)], default=400)
51 profiles_block = models.PositiveIntegerField(verbose_name='Profiles Per Block', validators=[MaxValueValidator(5000)], default=400)
79 profiles_block = models.PositiveIntegerField(verbose_name='Profiles Per Block', validators=[MaxValueValidator(5000)], default=400)
52 fftpoints = models.PositiveIntegerField(verbose_name='FFT Points',default=16)
80 fftpoints = models.PositiveIntegerField(verbose_name='FFT Points',default=16)
53 incohe_integr = models.PositiveIntegerField(verbose_name='Incoherent Integrations',validators=[MinValueValidator(1)], default=30)
81 incohe_integr = models.PositiveIntegerField(verbose_name='Incoherent Integrations',validators=[MinValueValidator(1)], default=30)
54 filter = models.ForeignKey(JARSfilter, on_delete=models.CASCADE, null=True)
82 filter = models.ForeignKey(JARSfilter, on_delete=models.CASCADE, null=True)
55 spectral_number = models.PositiveIntegerField(verbose_name='# Spectral Combinations',validators=[MinValueValidator(1)], default=1)
83 spectral_number = models.PositiveIntegerField(verbose_name='# Spectral Combinations',validators=[MinValueValidator(1)], default=1)
56 spectral = models.CharField(verbose_name='Combinations', max_length=5000, default = '[0, 0],')
84 spectral = models.CharField(verbose_name='Combinations', max_length=5000, default = '[0, 0],')
57 create_directory = models.BooleanField(verbose_name='Create Directory Per Day', default=True)
85 create_directory = models.BooleanField(verbose_name='Create Directory Per Day', default=True)
58 include_expname = models.BooleanField(verbose_name='Experiment Name in Directory', default=True)
86 include_expname = models.BooleanField(verbose_name='Experiment Name in Directory', default=True)
59 acq_link = models.BooleanField(verbose_name='Acquisition Link', default=True)
87 acq_link = models.BooleanField(verbose_name='Acquisition Link', default=True)
60 view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True)
88 view_raw_data = models.BooleanField(verbose_name='View Raw Data', default=True)
61 save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True)
89 save_ch_dc = models.BooleanField(verbose_name='Save Channels DC', default=True)
90 filter_parms = models.CharField(max_length=10000, default='{}')
62
91
63 class Meta:
92 class Meta:
64 db_table = 'jars_configurations'
93 db_table = 'jars_configurations'
65
94
66 def parms_to_dict(self):
95 def parms_to_dict(self):
67
96
68 parameters = {}
97 parameters = {}
69
98
70 parameters['name'] = self.name
99 parameters['name'] = self.name
71 parameters['rc'] = self.rc.name
100 parameters['rc'] = self.rc.name
72 parameters['exp_type'] = self.exp_type
101 parameters['exp_type'] = self.exp_type
73 parameters['cards_number'] = self.cards_number
102 parameters['cards_number'] = self.cards_number
74 parameters['channels_number'] = self.channels_number
103 parameters['channels_number'] = self.channels_number
75 parameters['channels'] = self.channels
104 parameters['channels'] = self.channels
76 parameters['rd_directory'] = self.rd_directory
105 parameters['rd_directory'] = self.rd_directory
77 parameters['raw_data_blocks'] = self.raw_data_blocks
106 parameters['raw_data_blocks'] = self.raw_data_blocks
78 parameters['data_type'] = self.data_type
107 parameters['data_type'] = self.data_type
79 parameters['acq_profiles'] = self.acq_profiles
108 parameters['acq_profiles'] = self.acq_profiles
80 parameters['profiles_block'] = self.profiles_block
109 parameters['profiles_block'] = self.profiles_block
81 parameters['filter'] = self.filter.name
110 parameters['filter'] = self.filter.name
82 parameters['create_directory'] = bool(self.create_directory)
111 parameters['create_directory'] = bool(self.create_directory)
83 parameters['include_expname'] = bool(self.include_expname)
112 parameters['include_expname'] = bool(self.include_expname)
84 parameters['acq_link'] = bool(self.acq_link)
113 parameters['acq_link'] = bool(self.acq_link)
85 parameters['view_raw_data'] = bool(self.view_raw_data)
114 parameters['view_raw_data'] = bool(self.view_raw_data)
86
115
87 return parameters
116 return parameters
88
117
118 def add_parms_to_filter(self):
119 self.filter_parms = self.filter.parms_to_dict()
120 self.save()
121
89 def dict_to_parms(self, parameters):
122 def dict_to_parms(self, parameters):
90 return
123 return
91
124
92 def status_device(self):
125 def status_device(self):
93 return
126 return
94
127
95 def read_device(self):
128 def read_device(self):
96 return
129 return
97
130
98 def write_device(self):
131 def write_device(self):
99 return No newline at end of file
132 return
@@ -1,119 +1,146
1 from django.shortcuts import render_to_response
1 from django.shortcuts import render_to_response
2 from django.template import RequestContext
2 from django.template import RequestContext
3 from django.shortcuts import redirect, render, get_object_or_404
3 from django.shortcuts import redirect, render, get_object_or_404
4 from django.contrib import messages
4 from django.contrib import messages
5
5
6 from apps.main.models import Device
6 from apps.main.models import Device
7 from apps.main.views import sidebar
7 from apps.main.views import sidebar
8
8
9 from .models import JARSConfiguration, JARSfilter
9 from .models import JARSConfiguration, JARSfilter
10 from .forms import JARSConfigurationForm, JARSfilterForm
10 from .forms import JARSConfigurationForm, JARSfilterForm
11 # Create your views here.
11 # Create your views here.
12
12
13 def jars_conf(request, id_conf):
13 def jars_conf(request, id_conf):
14
14
15 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
15 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
16
16
17 ip=conf.device.ip_address
17 ip=conf.device.ip_address
18 port=conf.device.port_address
18 port=conf.device.port_address
19
19
20 kwargs = {}
20 kwargs = {}
21 kwargs['status'] = conf.device.get_status_display()
21 kwargs['status'] = conf.device.get_status_display()
22
22
23
23
24 kwargs['dev_conf'] = conf
24 kwargs['dev_conf'] = conf
25 kwargs['dev_conf_keys'] = ['experiment', 'device',
25 kwargs['dev_conf_keys'] = ['experiment', 'device',
26 'cards_number', 'channels_number',
26 'cards_number', 'channels_number', 'channels',
27 'rd_directory', 'create_directory',
27 'rd_directory', 'raw_data_blocks', 'data_type',
28 'include_expname', 'raw_data_blocks',
28 'acq_profiles', 'profiles_block', 'fftpoints',
29 'acq_profiles', 'profiles_block', 'filter']
29 'incohe_integr', 'filter', 'spectral_number',
30 'spectral', 'create_directory', 'include_expname',
31 'acq_link', 'view_raw_data', 'save_ch_dc']
30
32
31 kwargs['title'] = 'JARS Configuration'
33 kwargs['title'] = 'JARS Configuration'
32 kwargs['suptitle'] = 'Details'
34 kwargs['suptitle'] = 'Details'
33
35
34 kwargs['button'] = 'Edit Configuration'
36 kwargs['button'] = 'Edit Configuration'
35
37
36 kwargs['no_play'] = True
38 kwargs['no_play'] = True
37
39
38 ###### SIDEBAR ######
40 ###### SIDEBAR ######
39 kwargs.update(sidebar(conf=conf))
41 kwargs.update(sidebar(conf=conf))
40
42
41 return render(request, 'jars_conf.html', kwargs)
43 return render(request, 'jars_conf.html', kwargs)
42
44
43 def jars_conf_edit(request, id_conf):
45 def jars_conf_edit(request, id_conf):
44
46
45 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
47 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
46
48
47 if request.method=='GET':
49 if request.method=='GET':
48 form = JARSConfigurationForm(instance=conf)
50 form = JARSConfigurationForm(instance=conf)
49
51
50 if request.method=='POST':
52 if request.method=='POST':
51 form = JARSConfigurationForm(request.POST, instance=conf)
53 form = JARSConfigurationForm(request.POST, instance=conf)
52
54
53 if form.is_valid():
55 if form.is_valid():
54 conf = form.save(commit=False)
56 conf = form.save(commit=False)
55 conf.save()
57 conf.save()
56 return redirect('url_jars_conf', id_conf=conf.id)
58 return redirect('url_jars_conf', id_conf=conf.id)
57
59
58 ##ERRORS
60 ##ERRORS
59
61
60 kwargs = {}
62 kwargs = {}
61
63
62 kwargs['filter_id'] = conf.filter.id
64 kwargs['filter_id'] = conf.filter.id
63 kwargs['id_dev'] = conf.id
65 kwargs['id_dev'] = conf.id
64 kwargs['form'] = form
66 kwargs['form'] = form
65 kwargs['title'] = 'Device Configuration'
67 kwargs['title'] = 'Device Configuration'
66 kwargs['suptitle'] = 'Edit'
68 kwargs['suptitle'] = 'Edit'
67 kwargs['button'] = 'Save'
69 kwargs['button'] = 'Save'
68
70
69 return render(request, 'jars_conf_edit.html', kwargs)
71 return render(request, 'jars_conf_edit.html', kwargs)
70
72
71 def view_filter(request, conf_id, filter_id):
73 def view_filter(request, conf_id, filter_id):
72
74
73 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
75 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
74 filter = get_object_or_404(JARSfilter, pk=filter_id)
76 filter = get_object_or_404(JARSfilter, pk=filter_id)
75
77
78 filter_parms = eval(conf.filter_parms)
79 filter.name = filter_parms['name']
80 filter.clock = filter_parms['clock']
81 filter.mult = filter_parms['mult']
82 filter.fch = filter_parms['fch']
83 filter.filter_fir = filter_parms['filter_fir']
84 filter.filter_2 = filter_parms['filter_2']
85 filter.filter_5 = filter_parms['filter_5']
86 filter.speed = filter_parms['speed']
87
76 kwargs = {}
88 kwargs = {}
77 kwargs['conf'] = conf
89 kwargs['conf'] = conf
78 kwargs['filter'] = filter
90 kwargs['filter'] = filter
79 kwargs['dev_conf'] = filter
91 kwargs['dev_conf'] = filter
80 kwargs['dev_conf_keys'] = ['name', 'clock',
92 kwargs['dev_conf_keys'] = ['name', 'clock',
81 'mult', 'fch',
93 'mult', 'fch',
82 'filter_fir', 'filter_2',
94 'filter_fir', 'filter_2',
83 'filter_5', 'speed']
95 'filter_5', 'speed']
84
96
85 kwargs['title'] = 'Filter View'
97 kwargs['title'] = 'Filter View'
86 kwargs['suptitle'] = 'Details'
98 kwargs['suptitle'] = 'Details'
87 kwargs['button'] = 'SI'
99 kwargs['button'] = 'SI'
88 kwargs['edit_button'] = 'Edit Filter'
100 kwargs['edit_button'] = 'Edit Filter'
89 kwargs['add_button'] = 'Add Filter'
101 kwargs['add_button'] = 'Add Filter'
90
102
91 return render(request, 'jars_filter.html', kwargs)
103 return render(request, 'jars_filter.html', kwargs)
92
104
93 def edit_filter(request, conf_id, filter_id):
105 def edit_filter(request, conf_id, filter_id):
94
106
95 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
107 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
108 filter_parms = eval(conf.filter_parms)
96
109
97 if filter_id:
110 if filter_id:
98 filter = get_object_or_404(JARSfilter, pk=filter_id)
111 filter = get_object_or_404(JARSfilter, pk=filter_id)
99
112
100 if request.method=='GET':
113 if request.method=='GET':
101 form = JARSfilterForm(instance=filter)
114 form = JARSfilterForm(initial=filter_parms)
102
115
103 if request.method=='POST':
116 if request.method=='POST':
117 parms = {}
118 parms['name'] = request.POST['name']
119 parms['clock'] = request.POST['clock']
120 parms['mult'] = request.POST['mult']
121 parms['fch'] = request.POST['fch']
122 parms['filter_fir'] = request.POST['filter_fir']
123 parms['filter_2'] = request.POST['filter_2']
124 parms['filter_5'] = request.POST['filter_5']
125 parms['speed'] = request.POST['speed']
126
127 conf.filter_parms = parms
128 conf.save()
129
104 #form = JARSfilterForm(request.POST)
130 #form = JARSfilterForm(request.POST)
105 form = JARSfilterForm(request.POST, instance=filter)
131 #form = JARSfilterForm(request.POST, instance=filter)
106 if form.is_valid():
132 #if form.is_valid():
107 form.save()
133 #form.save()
108 messages.success(request, 'JARS Filter successfully updated')
134 # messages.success(request, 'JARS Filter successfully updated')
109 return redirect('url_jars_filter', conf.id, filter.id)
135 # return redirect('url_jars_filter', conf.id, filter.id)
136 return redirect('url_jars_filter', conf.id, filter.id)
110
137
111 kwargs = {}
138 kwargs = {}
112 kwargs['form'] = form
139 kwargs['form'] = form
113 kwargs['title'] = conf.name
140 kwargs['title'] = conf.name
114 kwargs['suptitle'] = 'Edit Filter'
141 kwargs['suptitle'] = 'Edit Filter'
115 kwargs['button'] = 'Save'
142 kwargs['button'] = 'Save'
116 # kwargs['previous'] = conf.get_absolute_url_edit()
143 # kwargs['previous'] = conf.get_absolute_url_edit()
117 kwargs['dev_conf'] = conf
144 kwargs['dev_conf'] = conf
118
145
119 return render(request, 'jars_filter_edit.html', kwargs) No newline at end of file
146 return render(request, 'jars_filter_edit.html', kwargs)
General Comments 0
You need to be logged in to leave comments. Login now