ToDo#44 Signed-off-by: Sven Velt <sven@velt.de>
@@ -3,6 +3,7 @@ DONE
#41: STATIC_URL ersetzen
#42: Traps als gelesen markieren oder löschen
#43: States als gelesen markieren oder löschen
+#44: Wird eine Trap-Config geändert, werden die Änderungen NICHT in die DB übernommen (bei resolve schon!)
#47: Alle Traps durch einen klick markieren, für "alle gelesen" u.ä.
#48: Alle States durch einen klick markieren, für "alle gelesen" u.ä.
#58: Traps: Filter auf leeren Trap-Namen ("trapname=__") funktioniert nicht
@@ -11,7 +12,6 @@ TODO
~~~~
#39: SNMPTT komplett ersetzen
#40: SNMPTT-EXEC-Weg implementieren
-#44: Wird eine Trap-Config geändert, werden die Änderungen NICHT in die DB übernommen (bei resolve schon!)
#45: Traps archivieren
#46: States archivieren
#49: VarBinds Namen auflösen
@@ -17,7 +17,10 @@
</tr>
{{ form }}
<tr>
- <td colspan=2><input type="submit" value="Submit" /></td>
+ <td colspan=2>
+ <button type="submit" name="action" value="save">Save config only</button>
+ <button type="submit" name="action" value="save_update">Save config and update all traps</button>
+ </td>
</form>
</table>
@@ -138,7 +138,10 @@ def config_trapoid(Request, trapoid):
if Request.method == 'POST':
form = CfgTrapForm(Request.POST, instance=cfgtrap)
if form.is_valid():
- form.save()
+ cfgtrap = form.save()
+ if Request.POST.get('action') == 'save_update':
+ with connection.cursor() as c:
+ c.execute('UPDATE ' + Trap._meta.db_table + ' SET trapname=%s, category=%s, severity=%s WHERE trapoid=%s', [cfgtrap.trapname, cfgtrap.category, cfgtrap.severity, trapoid,])
return HttpResponseRedirect( reverse('trap_config_index') )
else:
form = CfgTrapForm(instance=cfgtrap)