further improvements to create/edit alerts
This commit is contained in:
@@ -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'],
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user