Private
Public Access
1
0

further improvements to create/edit alerts

This commit is contained in:
Sander Roosendaal
2019-08-17 17:38:39 +02:00
parent 729ed0d4f8
commit f9231f94e0
4 changed files with 20 additions and 14 deletions

View File

@@ -38,6 +38,7 @@ def create_alert(manager, rower, measured,period=7, emailalert=True,
if 'filter' in kwargs: if 'filter' in kwargs:
filters = kwargs['filter'] filters = kwargs['filter']
for f in filters: for f in filters:
if f['metric'] and f['condition']:
m = Condition( m = Condition(
metric = f['metric'], metric = f['metric'],
value1 = f['value1'], value1 = f['value1'],

View File

@@ -1022,7 +1022,7 @@ class Condition(models.Model):
) )
metric = models.CharField(max_length=50,choices=parchoicesy1,verbose_name='Metric') metric = models.CharField(max_length=50,choices=parchoicesy1,verbose_name='Metric')
value1 = models.FloatField(default=0) value1 = models.FloatField(default=0)
value2 = models.FloatField(default=0) value2 = models.FloatField(default=0,null=True,blank=True)
condition = models.CharField(max_length=20,choices=conditionchoices,null=True) condition = models.CharField(max_length=20,choices=conditionchoices,null=True)
class ConditionEditForm(ModelForm): class ConditionEditForm(ModelForm):
@@ -1030,6 +1030,11 @@ class ConditionEditForm(ModelForm):
model = Condition model = Condition
fields = ['metric','condition','value1','value2'] fields = ['metric','condition','value1','value2']
def clean(self):
cd = self.cleaned_data
if cd['condition'] == 'between' and cd['value2'] is None:
raise forms.ValidationError('When using between, you must fill value 1 and value 2')
class BaseConditionFormSet(BaseFormSet): class BaseConditionFormSet(BaseFormSet):
def clean(self): def clean(self):
if any(self.errors): if any(self.errors):

View File

@@ -41,16 +41,16 @@
<input type="submit" value="Save"> <input type="submit" value="Save">
</p> </p>
</li> </li>
{% for filter_form in formset %}
<li class="grid_2"> <li class="grid_2">
{% for filter_form in formset %}
<div class="fav-formset"> <div class="fav-formset">
<h2>Filter {{ forloop.counter }}</h2> <h2>Filter {{ forloop.counter }}</h2>
<table width=100%> <table width=100%>
{{ filter_form.as_table }} {{ filter_form.as_table }}
</table> </table>
</div> </div>
</li>
{% endfor %} {% endfor %}
</li>
</ul> </ul>
</form> </form>

View File

@@ -39,16 +39,16 @@
<input type="submit" value="Save"> <input type="submit" value="Save">
</p> </p>
</li> </li>
{% for filter_form in formset %}
<li class="grid_2"> <li class="grid_2">
{% for filter_form in formset %}
<div class="fav-formset"> <div class="fav-formset">
<h2>Filter {{ forloop.counter }}</h2> <h2>Filter {{ forloop.counter }}</h2>
<table width=100%> <table width=100%>
{{ filter_form.as_table }} {{ filter_form.as_table }}
</table> </table>
</div> </div>
</li>
{% endfor %} {% endfor %}
</li>
</ul> </ul>
</form> </form>