[Openvas-commits] r8092 - in trunk/gsa: . src src/html

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Sat Jun 19 12:20:32 CEST 2010


Author: mattm
Date: 2010-06-19 12:20:31 +0200 (Sat, 19 Jun 2010)
New Revision: 8092

Modified:
   trunk/gsa/ChangeLog
   trunk/gsa/src/gsad.c
   trunk/gsa/src/gsad_omp.c
   trunk/gsa/src/gsad_omp.h
   trunk/gsa/src/html/omp.xsl
Log:
	Add "Apply override" checkboxes for task and report lists.

	* src/gsad.c (exec_omp_post, exec_omp_get): Pass overrides flag to
	get_tasks_omp.

	* src/gsad_omp.c (get_tasks): Add overrides arg.  Update callers.
	(get_tasks_omp): Add overrides arg.

	* src/gsad_omp.h: Update header accordingly.

	* src/html/omp.xsl (html-task-table, html-report-table): Add "Apply
	overrides" checkbox.
	(get_tasks): New template.

Modified: trunk/gsa/ChangeLog
===================================================================
--- trunk/gsa/ChangeLog	2010-06-19 10:06:57 UTC (rev 8091)
+++ trunk/gsa/ChangeLog	2010-06-19 10:20:31 UTC (rev 8092)
@@ -1,3 +1,19 @@
+2010-06-19  Matthew Mundell <matthew.mundell at greenbone.net>
+
+	Add "Apply override" checkboxes for task and report lists.
+
+	* src/gsad.c (exec_omp_post, exec_omp_get): Pass overrides flag to
+	get_tasks_omp.
+
+	* src/gsad_omp.c (get_tasks): Add overrides arg.  Update callers.
+	(get_tasks_omp): Add overrides arg.
+
+	* src/gsad_omp.h: Update header accordingly.
+
+	* src/html/omp.xsl (html-task-table, html-report-table): Add "Apply
+	overrides" checkbox.
+	(get_tasks): New template.
+
 2010-06-18  Jan-Oliver Wagner <jan-oliver.wagner at greenbone.net>
 
 	* src/html/oap.xsl: Little facelift for ADS/LDAP dialogs.

Modified: trunk/gsa/src/gsad.c
===================================================================
--- trunk/gsa/src/gsad.c	2010-06-19 10:06:57 UTC (rev 8091)
+++ trunk/gsa/src/gsad.c	2010-06-19 10:20:31 UTC (rev 8092)
@@ -2038,11 +2038,15 @@
     }
   else if (!strcmp (con_info->req_parms.cmd, "get_tasks"))
     {
-      con_info->response = get_tasks_omp (credentials,
-                                          NULL,
-                                          con_info->req_parms.sort_field,
-                                          con_info->req_parms.sort_order,
-                                          "");
+      con_info->response
+       = get_tasks_omp (credentials,
+                        NULL,
+                        con_info->req_parms.sort_field,
+                        con_info->req_parms.sort_order,
+                        "",
+                        con_info->req_parms.overrides
+                         ? strcmp (con_info->req_parms.overrides, "0")
+                         : 0);
     }
   else if (!strcmp (con_info->req_parms.cmd, "import_config"))
     {
@@ -2631,7 +2635,9 @@
 
   else if ((!strcmp (cmd, "get_tasks")) && (task_id != NULL)
            && (strlen (task_id) < VAL_MAX_SIZE))
-    return get_tasks_omp (credentials, task_id, sort_field, sort_order, refresh_interval);
+    return get_tasks_omp (credentials, task_id, sort_field, sort_order,
+                          refresh_interval,
+                          overrides ? strcmp (overrides, "0") : 0);
 
   else if ((0 == strcmp (cmd, "delete_agent")) && (agent_id != NULL))
     return delete_agent_omp (credentials, agent_id);
@@ -3097,7 +3103,9 @@
     return get_overrides_omp (credentials);
 
   else if (!strcmp (cmd, "get_tasks"))
-    return get_tasks_omp (credentials, NULL, sort_field, sort_order, refresh_interval);
+    return get_tasks_omp (credentials, NULL, sort_field, sort_order,
+                          refresh_interval,
+                          overrides ? strcmp (overrides, "0") : 0);
 
   else if ((!strcmp (cmd, "get_schedule")) && (schedule_id != NULL))
     return get_schedule_omp (credentials, schedule_id, sort_field, sort_order);

Modified: trunk/gsa/src/gsad_omp.c
===================================================================
--- trunk/gsa/src/gsad_omp.c	2010-06-19 10:06:57 UTC (rev 8091)
+++ trunk/gsa/src/gsad_omp.c	2010-06-19 10:20:31 UTC (rev 8092)
@@ -93,7 +93,7 @@
 int manager_connect (credentials_t *, int *, gnutls_session_t *);
 
 static char *get_tasks (credentials_t *, const char *, const char *,
-                        const char *, const char *, const char *);
+                        const char *, const char *, const char *, int);
 
 
 /* Helpers. */
@@ -744,7 +744,7 @@
   if (strcmp (next, "get_tasks") == 0)
     {
       char *ret = get_tasks (credentials, NULL, sort_field, sort_order,
-                             refresh_interval, modify_task);
+                             refresh_interval, modify_task, 1);
       g_free (modify_task);
       return ret;
     }
@@ -1126,15 +1126,17 @@
  * @param[in]  task_id      ID of task.
  * @param[in]  sort_field   Field to sort on, or NULL.
  * @param[in]  sort_order   "ascending", "descending", or NULL.
- * @param[in]  refresh_interval Refresh interval (parsed to int).
- * @param[in]  command      Extra commands to run before the others.
+ * @param[in]  refresh_interval  Refresh interval (parsed to int).
+ * @param[in]  command           Extra commands to run before the others.
+ * @param[in]  apply_overrides   Whether to apply overrides.
  *
  * @return Result of XSL transformation.
  */
 static char *
 get_tasks (credentials_t * credentials, const char *task_id,
            const char *sort_field, const char *sort_order,
-           const char *refresh_interval, const char *commands)
+           const char *refresh_interval, const char *commands,
+           int apply_overrides)
 {
   GString *xml = NULL;
   gnutls_session_t session;
@@ -1152,7 +1154,10 @@
       if (openvas_server_sendf (&session,
                                 "<commands>"
                                 "%s"
-                                "<get_tasks task_id=\"%s\" details=\"1\" />"
+                                "<get_tasks"
+                                " task_id=\"%s\""
+                                " apply_overrides=\"%i\""
+                                " details=\"1\" />"
                                 "<get_notes"
                                 " sort_field=\"notes.nvt, notes.text\">"
                                 "<task id=\"%s\"/>"
@@ -1164,6 +1169,7 @@
                                 "</commands>",
                                 commands ? commands : "",
                                 task_id,
+                                apply_overrides,
                                 task_id,
                                 task_id)
           == -1)
@@ -1182,10 +1188,12 @@
                                 "<commands>"
                                 "%s"
                                 "<get_tasks"
+                                " apply_overrides=\"%i\""
                                 " sort_field=\"%s\""
                                 " sort_order=\"%s\"/>"
                                 "</commands>",
                                 commands ? commands : "",
+                                apply_overrides,
                                 sort_field ? sort_field : "name",
                                 sort_order ? sort_order : "ascending")
           == -1)
@@ -1200,6 +1208,9 @@
     }
 
   xml = g_string_new ("<get_tasks>");
+  g_string_append_printf (xml,
+                          "<apply_overrides>%i</apply_overrides>",
+                          apply_overrides);
   if (read_string (&session, &xml))
     {
       openvas_server_close (socket, session);
@@ -1229,17 +1240,18 @@
  * @param[in]  task_id      ID of task.
  * @param[in]  sort_field   Field to sort on, or NULL.
  * @param[in]  sort_order   "ascending", "descending", or NULL.
- * @param[in]  refresh_interval Refresh interval (parsed to int).
+ * @param[in]  refresh_interval  Refresh interval (parsed to int).
+ * @param[in]  apply_overrides   Whether to apply overrides.
  *
  * @return Result of XSL transformation.
  */
 char *
 get_tasks_omp (credentials_t * credentials, const char *task_id,
                 const char *sort_field, const char *sort_order,
-                const char *refresh_interval)
+                const char *refresh_interval, int apply_overrides)
 {
   return get_tasks (credentials, task_id, sort_field, sort_order,
-                    refresh_interval, NULL);
+                    refresh_interval, NULL, apply_overrides);
 }
 
 /**
@@ -5105,7 +5117,7 @@
   if (strcmp (next, "get_tasks") == 0)
     {
       gchar *extra = g_strdup_printf ("<delete_note note_id=\"%s\"/>", note_id);
-      char *ret = get_tasks (credentials, task_id, NULL, NULL, NULL, extra);
+      char *ret = get_tasks (credentials, task_id, NULL, NULL, NULL, extra, 1);
       g_free (extra);
       return ret;
     }
@@ -5443,7 +5455,7 @@
   if (strcmp (next, "get_tasks") == 0)
     {
       char *ret = get_tasks (credentials, task_id, NULL, NULL, NULL,
-                             modify_note);
+                             modify_note, 1);
       g_free (modify_note);
       return ret;
     }
@@ -6168,7 +6180,7 @@
     {
       gchar *extra = g_strdup_printf ("<delete_override override_id=\"%s\"/>",
                                       override_id);
-      char *ret = get_tasks (credentials, task_id, NULL, NULL, NULL, extra);
+      char *ret = get_tasks (credentials, task_id, NULL, NULL, NULL, extra, 1);
       g_free (extra);
       return ret;
     }
@@ -6513,7 +6525,7 @@
   if (strcmp (next, "get_tasks") == 0)
     {
       char *ret = get_tasks (credentials, task_id, NULL, NULL, NULL,
-                             modify_override);
+                             modify_override, 1);
       g_free (modify_override);
       return ret;
     }

Modified: trunk/gsa/src/gsad_omp.h
===================================================================
--- trunk/gsa/src/gsad_omp.h	2010-06-19 10:06:57 UTC (rev 8091)
+++ trunk/gsa/src/gsad_omp.h	2010-06-19 10:20:31 UTC (rev 8092)
@@ -56,7 +56,7 @@
 char * start_task_omp (credentials_t *, const char *);
 
 char * get_tasks_omp (credentials_t *, const char *, const char *,
-                      const char *, const char*);
+                      const char *, const char*, int);
 
 char * delete_report_omp (credentials_t *, const char *, const char *);
 char * get_report_omp (credentials_t *, const char *, const char *,

Modified: trunk/gsa/src/html/omp.xsl
===================================================================
--- trunk/gsa/src/html/omp.xsl	2010-06-19 10:06:57 UTC (rev 8091)
+++ trunk/gsa/src/html/omp.xsl	2010-06-19 10:20:31 UTC (rev 8092)
@@ -83,6 +83,7 @@
 </xsl:template>
 
 <xsl:template name="html-task-table">
+  <xsl:variable name="apply-overrides" select="../../apply_overrides"/>
   <div class="gb_window">
     <div class="gb_window_part_left"></div>
     <div class="gb_window_part_right"></div>
@@ -136,6 +137,23 @@
         </form>
       </div>
     </div>
+    <div class="gb_window_part_content">
+      <div id="small_form">
+        <form action="" method="get">
+          <input type="hidden" name="cmd" value="get_tasks"/>
+          <xsl:choose>
+            <xsl:when test="$apply-overrides = 0">
+              <input type="checkbox" name="overrides" value="1"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <input type="checkbox" name="overrides" value="1" checked="1"/>
+            </xsl:otherwise>
+          </xsl:choose>
+          Apply overrides
+          <input type="submit" value="Update" title="Update"/>
+        </form>
+      </div>
+    </div>
     <div class="gb_window_part_content_no_pad">
       <div id="tasks">
         <table class="gbntable" cellspacing="2" cellpadding="4" border="0">
@@ -680,6 +698,7 @@
 </xsl:template>
 
 <xsl:template name="html-report-table">
+  <xsl:variable name="apply-overrides" select="../../apply_overrides"/>
   <div class="gb_window">
     <div class="gb_window_part_left"></div>
     <div class="gb_window_part_right"></div>
@@ -785,6 +804,24 @@
         <img src="/img/refresh.png" border="0" style="margin-left:3px;"/>
       </a>
     </div>
+    <div class="gb_window_part_content">
+      <div id="small_form">
+        <form action="" method="get">
+          <input type="hidden" name="cmd" value="get_tasks"/>
+          <input type="hidden" name="task_id" value="{task/@id}"/>
+          <xsl:choose>
+            <xsl:when test="$apply-overrides = 0">
+              <input type="checkbox" name="overrides" value="1"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <input type="checkbox" name="overrides" value="1" checked="1"/>
+            </xsl:otherwise>
+          </xsl:choose>
+          Apply overrides
+          <input type="submit" value="Update" title="Update"/>
+        </form>
+      </div>
+    </div>
     <div class="gb_window_part_content_no_pad">
       <div id="reports">
         <table class="gbntable" cellspacing="2" cellpadding="4">
@@ -1674,6 +1711,13 @@
   </xsl:choose>
 </xsl:template>
 
+<!-- GET_TASKS -->
+
+<xsl:template match="get_tasks">
+  <xsl:apply-templates select="get_tasks_response"/>
+  <xsl:apply-templates select="commands_response"/>
+</xsl:template>
+
 <!-- BEGIN LSC_CREDENTIALS MANAGEMENT -->
 
 <xsl:template name="html-create-lsc-credential-form">



More information about the Openvas-commits mailing list