=== htdocs/js/functions.js ================================================================== --- htdocs/js/functions.js (revision 9685) +++ htdocs/js/functions.js (local) @@ -1,11 +1,15 @@ var cur_visible = null; +var autorefresh_enabled = true; + function toggleVisibility(section_id) { section = document.getElementById(section_id); if ( section.style.display != 'block' ) { + autorefresh_enabled = false; section.style.display = 'block'; } else { + autorefresh_enabled = true; section.style.display = 'none'; } } @@ -19,6 +23,7 @@ section = document.getElementById(section_id); if ( cur_visible == section ) { cur_visible = null; + autorefresh_enabled = true; return; } @@ -32,21 +37,7 @@ function toggleFilteredColumnVisibility(column_id) { - columns = new Array("classification", "source", "target", "analyzer"); - - for ( var i=0; i < columns.length; i++ ) { - popup = document.getElementById(columns[i]); - - if ( column_id == columns[i] ) { - if ( popup.style.display != 'block' ) { - popup.style.display = 'block'; - } else { - popup.style.display = 'none'; - } - } else { - popup.style.display = 'none'; - } - } + toggleVisibilityUnique(column_id); } function checkBoxByName(name, value) { === prewikka/templates/MessageListing.tmpl ================================================================== --- prewikka/templates/MessageListing.tmpl (revision 9685) +++ prewikka/templates/MessageListing.tmpl (local) @@ -2,7 +2,144 @@ #extends prewikka.templates.ClassicLayout #def layout_start_hook -
+ + #for $name, $value in $hidden_parameters #end for @@ -99,6 +236,25 @@ + + $_("Refresh") + + + #if $auto_apply_enable + #set $enabled="checked=\"checked\"" + #set $disabled="" + #else: + #set $enabled="" + #set $disabled="disabled=\"disabled\"" + #end if + + + + 0:00/ + Enable + + + @@ -171,3 +327,16 @@ #filter Filter #end filter #end block menu_extra_content + +#block body + +
+
+
$prewikka.software
+
$prewikka.place
+
$prewikka.title
+
+ $toplayout_content +
+ +#end block body === prewikka/views/alertlisting.py ================================================================== --- prewikka/views/alertlisting.py (revision 9685) +++ prewikka/views/alertlisting.py (local) @@ -1059,6 +1059,8 @@ self.dataset["analyzer_aggregations"] = ANALYZER_AGGREGATIONS def render(self): + MessageListing.render(self) + self._deleteMessages() self._setDatasetConstants() === prewikka/views/heartbeatlisting.py ================================================================== --- prewikka/views/heartbeatlisting.py (revision 9685) +++ prewikka/views/heartbeatlisting.py (local) @@ -106,6 +106,8 @@ self.env.idmef_db.deleteHeartbeat(ident) def render(self): + MessageListing.render(self) + self._deleteMessages() criteria = [ ] start = end = None === prewikka/views/messagelisting.py ================================================================== --- prewikka/views/messagelisting.py (revision 9685) +++ prewikka/views/messagelisting.py (local) @@ -109,6 +109,10 @@ self.optional("delete", list, [ ]) self.optional("apply", str) + self.optional("auto_apply_hidden", str, default="0:00", save=True) + self.optional("auto_apply_enable", str, save=True) + self.optional("auto_apply_value", str) + # submit with an image passes the x and y coordinate values # where the image was clicked self.optional("x", int) @@ -132,13 +136,9 @@ if not self["timezone"] in ("frontend_localtime", "sensor_localtime", "utc"): raise view.InvalidValueError("timezone", self["timezone"]) - # remove the bulshit - try: - del self["x"] - del self["y"] - except KeyError: - pass - + if not self.has_key("auto_apply_enable"): + user.delConfigValue(view_name, "auto_apply_enable") + return do_load @@ -211,11 +211,29 @@ def _adjustCriteria(self, criteria): pass + def render(self): + self.dataset["auto_apply_hidden"] = self.parameters.get("auto_apply_hidden", "0:00") + self.dataset["auto_apply_enable"] = self.parameters.get("auto_apply_enable", None) + + # We need to remove x/y from parameters, so that they aren't used for link. + self.dataset["hidden_parameters"] = [ ] + + if self.parameters.has_key("x"): + self.dataset["hidden_parameters"].append( ("x", self.parameters.pop("x")) ) + else: + self.dataset["hidden_parameters"].append( ("x", "") ) + + if self.parameters.has_key("y"): + self.dataset["hidden_parameters"].append( ("y", self.parameters.pop("y")) ) + else: + self.dataset["hidden_parameters"].append( ("y", "") ) + def _setHiddenParameters(self): - self.dataset["hidden_parameters"] = [ [ "view", self.view_name ] ] + self.dataset["hidden_parameters"].append( ("view", self.view_name) ) + if self.parameters.has_key("timeline_end"): self.dataset["hidden_parameters"].append(("timeline_end", self.parameters["timeline_end"])) - + def _setTimelineNext(self, next): parameters = self.parameters - [ "offset" ] + { "timeline_end": int(next) } self.dataset["timeline.next"] = utils.create_link(self.view_name, parameters)