diff farol/templates/new.j2 @ 167:000114da182d

New lifting for the 'new' page
author Benoît Allard <benoit.allard@greenbone.net>
date Mon, 05 Jan 2015 11:38:46 +0100
parents 07210df10edd
children 44f12b383e72
line wrap: on
line diff
--- a/farol/templates/new.j2	Mon Jan 05 11:37:44 2015 +0100
+++ b/farol/templates/new.j2	Mon Jan 05 11:38:46 2015 +0100
@@ -27,6 +27,36 @@
 {% from "macros.j2" import textinput, textarea, panel %}
 {% from "common_edits.j2" import edit_title_type %}
 
+{% macro input_download(width, type, placeholder, example, help) %}
+<div class="col-lg-{{ width }}">
+  {% call modal(type | lower + "_modal", type + " help") %}
+    {% for p in help.split('\n\n') %}
+    <p>{{ p | urlize }}</p>
+    {% endfor %}
+  {% endcall %}
+  <form role="form" method="POST">
+    <input type="hidden" name="{{ type | lower}}">
+    <div class="form-group">
+      <div class="input-group">
+        <span class="input-group-addon">{{ type }}: </span>
+        <input type="text" class="form-control" name="id" placeholder="{{ placeholder }}" id="{{ type | lower }}_id" required>
+        <div class="input-group-btn">
+          <button class="btn btn-primary" type="submit">Download</button>
+          <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+            <span class="caret"></span>
+            <span class="sr-only">Toggle dropdown</span>
+          </button>
+          <ul class="dropdown-menu drop-down-menu-right" role="menu">
+            <li><a href="#{{ type | lower }}_modal" data-toggle="modal">Help</a></li>
+            <li><a href="#" onclick="$('#{{ type | lower }}_id').val('{{ example }}')">Example</a></li>
+          </ul>
+        </div><!-- /input-group-btn -->
+      </div><!-- /input-group -->
+    </div>
+  </form>
+</div>
+{% endmacro %}
+
 {% set active='new' %}
 
 {% block title %}New{% endblock %}
@@ -43,49 +73,22 @@
     <div class="panel-heading">
       <h4 class="panel-title">
         <a data-toggle="collapse" data-parent="#accordion" href="#fromURL">
-          Download a document
+          Upload a remote document
         </a>
       </h4>
     </div>
     <div id="fromURL" class="panel-collapse collapse in">
       <div class="panel-body">
+        {% for row in input_choices[:-1] | batch(3) %}
         <div class="row">
-          {% for (type, placeholder) in [
-                ('RHSA', 'YYYY:nnnn'),
-                ('Oracle', 'nnnnnnn'),
-                ('Cisco', 'sa-YYYYMMDD-xxx'),('CVE', 'CVE-YYYY-NNNN')] %}
-          <div class="col-lg-4">
-            <form role="form" method="POST">
-              <input type="hidden" name="{{ type | lower}}">
-              <div class="form-group">
-                <div class="input-group">
-                  <span class="input-group-addon">{{ type }}: </span>
-                  <input type="text" class="form-control" name="id" placeholder="{{ placeholder }}" id="{{ type | lower }}_id" required>
-                  <span class="input-group-btn">
-                    <button class="btn btn-primary" type="submit">Download</button>
-                  </span>
-                </div><!-- /input-group -->
-              </div>
-            </form>
-          </div>
+          {% for (type, placeholder, example, help) in row %}
+            {{ input_download(4, type, placeholder, example, help) }}
           {% endfor %}
         </div>
-        <div class="">
-        <form role="form" method="POST">
-          <div class="form-group">
-            <div class="input-group">
-              <span class="input-group-addon">URL: </span>
-              <input type="url" class="form-control" name="url" placeholder="https://..." id="url_id" required>
-              <span class="input-group-btn">
-                <button class="btn btn-primary" type="submit">Download</button>
-              </span>
-            </div><!-- /input-group -->
-          </div>
-        </form>
+        {% endfor %}
+        <div class="row">
+          {{ input_download(12, *input_choices[-1]) }}
         </div>
-        <hr>
-        {% set comma = joiner(', ') %}
-        <p>Some examples: {% for (name, id, value) in [('Red Hat Security Advisory: kernel security, bug fix, and enhancement update', 'rhsa', '2014:0981'), ('Oracle Critical Patch Update Advisory - April 2014', 'oracle' , '2188432'), ('Multiple Vulnerabilities in OpenSSL Affecting Cisco Products','cisco','sa-20140605-openssl'), ('Greenbone Security Advisory 2013-01', 'url', 'http://www.greenbone.net/download/gbsa/gbsa2013-01.cvrf')] %}{{ comma() }}<a href="#" onclick="$('#{{ id }}_id').val('{{ value }}')">{{ name }}</a>{% endfor %}
       </div>
     </div>
   </div>
@@ -94,7 +97,7 @@
     <div class="panel-heading">
       <h4 class="panel-title">
         <a data-toggle="collapse" data-parent="#accordion" href="#fromFile">
-          Upload a document
+          Upload a local document
         </a>
       </h4>
     </div>
@@ -112,7 +115,7 @@
     <div class="panel-heading">
       <h4 class="panel-title">
         <a data-toggle="collapse" data-parent="#accordion" href="#fromText">
-          Raw text
+          Upload raw text
         </a>
       </h4>
     </div>
@@ -179,6 +182,8 @@
           {{ POST_button(url_for('cache.load', element=element), text=element, style="btn-link") }}
         {% endif %}
       </li>
+    {% else %}
+      <li><em>Cache is empty</em></li>
     {% endfor %}
   </ul>
   {% endcall %}

http://farol.wald.intevation.org