Mercurial > farol > farol
annotate 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 |
rev | line source |
---|---|
0 | 1 {# |
2 # Description: | |
3 # Web Template used in Farol Design | |
4 # | |
5 # Authors: | |
6 # BenoƮt Allard <benoit.allard@greenbone.net> | |
7 # | |
8 # Copyright: | |
9 # Copyright (C) 2014 Greenbone Networks GmbH | |
10 # | |
11 # This program is free software; you can redistribute it and/or | |
12 # modify it under the terms of the GNU General Public License | |
13 # as published by the Free Software Foundation; either version 2 | |
14 # of the License, or (at your option) any later version. | |
15 # | |
16 # This program is distributed in the hope that it will be useful, | |
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 # GNU General Public License for more details. | |
20 # | |
21 # You should have received a copy of the GNU General Public License | |
22 # along with this program; if not, write to the Free Software | |
23 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
24 -#} | |
25 | |
26 {% extends "base.j2" %} | |
8
2ce3676c9b2e
Ease the import of new documents
Benoît Allard <benoit.allard@greenbone.net>
parents:
0
diff
changeset
|
27 {% from "macros.j2" import textinput, textarea, panel %} |
34
22d89f53e34c
Add macro to display a description for the input fields
Benoît Allard <benoit.allard@greenbone.net>
parents:
28
diff
changeset
|
28 {% from "common_edits.j2" import edit_title_type %} |
0 | 29 |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
30 {% macro input_download(width, type, placeholder, example, help) %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
31 <div class="col-lg-{{ width }}"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
32 {% call modal(type | lower + "_modal", type + " help") %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
33 {% for p in help.split('\n\n') %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
34 <p>{{ p | urlize }}</p> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
35 {% endfor %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
36 {% endcall %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
37 <form role="form" method="POST"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
38 <input type="hidden" name="{{ type | lower}}"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
39 <div class="form-group"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
40 <div class="input-group"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
41 <span class="input-group-addon">{{ type }}: </span> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
42 <input type="text" class="form-control" name="id" placeholder="{{ placeholder }}" id="{{ type | lower }}_id" required> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
43 <div class="input-group-btn"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
44 <button class="btn btn-primary" type="submit">Download</button> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
45 <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
46 <span class="caret"></span> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
47 <span class="sr-only">Toggle dropdown</span> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
48 </button> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
49 <ul class="dropdown-menu drop-down-menu-right" role="menu"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
50 <li><a href="#{{ type | lower }}_modal" data-toggle="modal">Help</a></li> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
51 <li><a href="#" onclick="$('#{{ type | lower }}_id').val('{{ example }}')">Example</a></li> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
52 </ul> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
53 </div><!-- /input-group-btn --> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
54 </div><!-- /input-group --> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
55 </div> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
56 </form> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
57 </div> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
58 {% endmacro %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
59 |
0 | 60 {% set active='new' %} |
61 | |
62 {% block title %}New{% endblock %} | |
63 | |
64 {% block content %} | |
12
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
65 {% if has_document and caching %} |
27
69e0330c4fae
Display the id of the current document when asking to save it
Benoît Allard <benoit.allard@greenbone.net>
parents:
12
diff
changeset
|
66 <p class="text-danger">You are currently editing a document: <strong>{{ current_id }}</strong>. Loading a new one will lose your modifications. Do you want to <a href={{ url_for('cache.save') }}>save</a> it first ?</p> |
0 | 67 {% endif %} |
68 <h3>New Document</h3> | |
69 | |
70 <div class="panel-group" id="accordion"> | |
71 | |
72 <div class="panel panel-default"> | |
73 <div class="panel-heading"> | |
74 <h4 class="panel-title"> | |
75 <a data-toggle="collapse" data-parent="#accordion" href="#fromURL"> | |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
76 Upload a remote document |
0 | 77 </a> |
78 </h4> | |
79 </div> | |
80 <div id="fromURL" class="panel-collapse collapse in"> | |
81 <div class="panel-body"> | |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
82 {% for row in input_choices[:-1] | batch(3) %} |
8
2ce3676c9b2e
Ease the import of new documents
Benoît Allard <benoit.allard@greenbone.net>
parents:
0
diff
changeset
|
83 <div class="row"> |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
84 {% for (type, placeholder, example, help) in row %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
85 {{ input_download(4, type, placeholder, example, help) }} |
8
2ce3676c9b2e
Ease the import of new documents
Benoît Allard <benoit.allard@greenbone.net>
parents:
0
diff
changeset
|
86 {% endfor %} |
2ce3676c9b2e
Ease the import of new documents
Benoît Allard <benoit.allard@greenbone.net>
parents:
0
diff
changeset
|
87 </div> |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
88 {% endfor %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
89 <div class="row"> |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
90 {{ input_download(12, *input_choices[-1]) }} |
28
6c65b16f2680
Rework the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
27
diff
changeset
|
91 </div> |
0 | 92 </div> |
93 </div> | |
94 </div> | |
95 | |
96 <div class="panel panel-default"> | |
97 <div class="panel-heading"> | |
98 <h4 class="panel-title"> | |
99 <a data-toggle="collapse" data-parent="#accordion" href="#fromFile"> | |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
100 Upload a local document |
0 | 101 </a> |
102 </h4> | |
103 </div> | |
104 <div id="fromFile" class="panel-collapse collapse"> | |
105 <div class="panel-body"> | |
106 <form role="form" method="POST" enctype="multipart/form-data"> | |
107 {{ textinput("local", "Local File", type="file", required=True) }} | |
28
6c65b16f2680
Rework the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
27
diff
changeset
|
108 <button type="submit" class="btn btn-primary">Upload</button> |
0 | 109 </form> |
110 </div> | |
111 </div> | |
112 </div> | |
113 | |
114 <div class="panel panel-default"> | |
115 <div class="panel-heading"> | |
116 <h4 class="panel-title"> | |
117 <a data-toggle="collapse" data-parent="#accordion" href="#fromText"> | |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
118 Upload raw text |
0 | 119 </a> |
120 </h4> | |
121 </div> | |
122 <div id="fromText" class="panel-collapse collapse"> | |
123 <div class="panel-body"> | |
124 <form role="form" method="POST"> | |
125 {{ textarea("text", "Document content", value='<?xml version="1.0" encoding="utf-8"?> | |
126 <cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1"> | |
127 <DocumentTitle>Title</DocumentTitle> | |
128 <DocumentType>Type</DocumentType> | |
129 <DocumentPublisher Type="Other"> | |
130 </DocumentPublisher> | |
131 <DocumentTracking> | |
132 <Identification> | |
133 <ID>1234</ID> | |
134 </Identification> | |
135 <Status>Draft</Status> | |
136 <Version>0.1</Version> | |
137 <RevisionHistory> | |
138 <Revision> | |
139 <Number>0.1</Number> | |
140 <Date>' + now.isoformat() + '</Date> | |
141 <Description>First Revision</Description> | |
142 </Revision> | |
143 </RevisionHistory> | |
144 <InitialReleaseDate>' + now.isoformat() + '</InitialReleaseDate> | |
145 <CurrentReleaseDate>' + now.isoformat() + '</CurrentReleaseDate> | |
146 </DocumentTracking> | |
147 </cvrfdoc>' | escape, required=True) }} | |
28
6c65b16f2680
Rework the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
27
diff
changeset
|
148 <button type="submit" class="btn btn-primary">Parse</button> |
0 | 149 </form> |
150 </div> | |
151 </div> | |
152 </div> | |
153 | |
154 <div class="panel panel-default"> | |
155 <div class="panel-heading"> | |
156 <h4 class="panel-title"> | |
157 <a data-toggle="collapse" data-parent="#accordion" href="#newDoc"> | |
158 Create an empty Document | |
159 </a> | |
160 </h4> | |
161 </div> | |
162 <div id="newDoc" class="panel-collapse collapse"> | |
163 <div class="panel-body"> | |
164 <form role="form" method="POST"> | |
34
22d89f53e34c
Add macro to display a description for the input fields
Benoît Allard <benoit.allard@greenbone.net>
parents:
28
diff
changeset
|
165 {{ edit_title_type() }} |
28
6c65b16f2680
Rework the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
27
diff
changeset
|
166 <button type="submit" class="btn btn-primary">Create</button> |
0 | 167 </form> |
168 </div> | |
169 </div> | |
170 </div> | |
171 | |
172 </div> | |
173 | |
12
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
174 {% if caching %} |
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
175 {% call panel(heading="Load a document from the cache", title=4, collapsible=False) %} |
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
176 <ul> |
102
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
177 {% for element in cache | sort %} |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
178 <li> |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
179 {% if has_current %} |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
180 <a href="#{{element}}_modal" data-toggle="modal">{{ element }}</a> |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
181 {% else %} |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
182 {{ POST_button(url_for('cache.load', element=element), text=element, style="btn-link") }} |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
183 {% endif %} |
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
184 </li> |
167
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
185 {% else %} |
000114da182d
New lifting for the 'new' page
Benoît Allard <benoit.allard@greenbone.net>
parents:
162
diff
changeset
|
186 <li><em>Cache is empty</em></li> |
102
65341d05a8f8
Spawn a Modal when loading a doc, and another one is already loaded
Benoît Allard <benoit.allard@greenbone.net>
parents:
34
diff
changeset
|
187 {% endfor %} |
12
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
188 </ul> |
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
189 {% endcall %} |
4219d6fb4c38
Implement three kind of caches
Benoît Allard <benoit.allard@greenbone.net>
parents:
8
diff
changeset
|
190 {% endif %} |
8
2ce3676c9b2e
Ease the import of new documents
Benoît Allard <benoit.allard@greenbone.net>
parents:
0
diff
changeset
|
191 |
0 | 192 {% endblock %} |