]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
Add ability to edit a tagging rule
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / material / Config / index.html.twig
1 {% extends "WallabagCoreBundle::layout.html.twig" %}
2
3 {% block title %}{{ 'config.page_title'|trans }}{% endblock %}
4
5 {% block content %}
6
7 <div class="row">
8 <div class="col s12">
9 <div class="card-panel settings">
10
11 <div class="row">
12 <div class="div_tabs col s12">
13 <ul class="tabs">
14 <li class="tab col s3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
15 <li class="tab col s3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
16 <li class="tab col s3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
17 <li class="tab col s3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
18 <li class="tab col s3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
19 {% if is_granted('ROLE_SUPER_ADMIN') %}
20 <li class="tab col s3"><a href="#set6">{{ 'config.tab_menu.new_user'|trans }}</a></li>
21 {% endif %}
22 </ul>
23 </div>
24
25 <div id="set1" class="col s12">
26 {{ form_start(form.config) }}
27 {{ form_errors(form.config) }}
28
29 <div class="row">
30 <div class="input-field col s12">
31 {{ form_label(form.config.theme) }}
32 {{ form_errors(form.config.theme) }}
33 {{ form_widget(form.config.theme) }}
34 </div>
35 </div>
36
37 <div class="row">
38 <div class="input-field col s12">
39 {{ form_label(form.config.items_per_page) }}
40 {{ form_errors(form.config.items_per_page) }}
41 {{ form_widget(form.config.items_per_page) }}
42 </div>
43 </div>
44
45 <div class="row">
46 <div class="input-field col s12">
47 {{ form_label(form.config.reading_speed) }}
48 {{ form_errors(form.config.reading_speed) }}
49 {{ form_widget(form.config.reading_speed) }}
50 <p>
51 {{ 'config.form_settings.reading_speed.help_message'|trans }}
52 <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
53 </p>
54 </div>
55 </div>
56
57 <div class="row">
58 <div class="input-field col s12">
59 {{ form_label(form.config.language) }}
60 {{ form_errors(form.config.language) }}
61 {{ form_widget(form.config.language) }}
62 </div>
63 </div>
64
65 <div class="row">
66 <div class="input-field col s12">
67 {{ form_label(form.config.pocket_consumer_key) }}
68 {{ form_errors(form.config.pocket_consumer_key) }}
69 {{ form_widget(form.config.pocket_consumer_key) }}
70 <p>
71 &raquo;
72 <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
73 </p>
74 </div>
75 </div>
76
77 {{ form_widget(form.config.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
78 {{ form_rest(form.config) }}
79 </form>
80 </div>
81
82 <div id="set2" class="col s12">
83 {{ form_start(form.rss) }}
84 {{ form_errors(form.rss) }}
85
86 <div class="row">
87 <div class="input-field col s12">
88 {{ 'config.form_rss.description'|trans }}
89 </div>
90 </div>
91
92 <div class="row">
93 <div class="input-field col s12">
94 <label>{{ 'config.form_rss.token_label'|trans }}</label>
95 <div>
96 {% if rss.token %}
97 {{ rss.token }}
98 {% else %}
99 <em>{{ 'config.form_rss.no_token'|trans }}</em>
100 {% endif %}
101 – <a href="{{ path('generate_token') }}">
102 {% if rss.token %}
103 {{ 'config.form_rss.token_reset'|trans }}
104 {% else %}
105 {{ 'config.form_rss.token_create'|trans }}
106 {% endif %}</a>
107 </div>
108 </div>
109 </div>
110 {% if rss.token %}
111 <div class="row">
112 <div class="input-field col s12">
113 <label>{{ 'config.form_rss.rss_links'|trans }}</label>
114 <ul>
115 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li>
116 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li>
117 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li>
118 </ul>
119 </div>
120 </div>
121 {% endif %}
122
123 <div class="row">
124 <div class="input-field col s12">
125 {{ form_label(form.rss.rss_limit) }}
126 {{ form_errors(form.rss.rss_limit) }}
127 {{ form_widget(form.rss.rss_limit) }}
128 </div>
129 </div>
130
131 {{ form_widget(form.rss.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
132 {{ form_rest(form.rss) }}
133 </form>
134 </div>
135
136 <div id="set3" class="col s12">
137 {{ form_start(form.user) }}
138 {{ form_errors(form.user) }}
139
140 <div class="row">
141 <div class="input-field col s12">
142 {{ form_label(form.user.name) }}
143 {{ form_errors(form.user.name) }}
144 {{ form_widget(form.user.name) }}
145 </div>
146 </div>
147
148 <div class="row">
149 <div class="input-field col s12">
150 {{ form_label(form.user.email) }}
151 {{ form_errors(form.user.email) }}
152 {{ form_widget(form.user.email) }}
153 </div>
154 </div>
155
156 {% if twofactor_auth %}
157 <div class="row">
158 <div class="input-field col s12">
159 {{ 'config.form_user.two_factor_description'|trans }}
160 </div>
161 </div>
162
163 <div class="row">
164 <div class="input-field col s12">
165 {{ form_widget(form.user.twoFactorAuthentication) }}
166 {{ form_label(form.user.twoFactorAuthentication) }}
167 {{ form_errors(form.user.twoFactorAuthentication) }}
168 </div>
169 </div>
170 {% endif %}
171
172 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
173 {{ form_widget(form.user._token) }}
174 </form>
175 </div>
176
177 <div id="set4" class="col s12">
178 {{ form_start(form.pwd) }}
179 {{ form_errors(form.pwd) }}
180
181 <div class="row">
182 <div class="input-field col s12">
183 {{ form_label(form.pwd.old_password) }}
184 {{ form_errors(form.pwd.old_password) }}
185 {{ form_widget(form.pwd.old_password) }}
186 </div>
187 </div>
188
189 <div class="row">
190 <div class="input-field col s12">
191 {{ form_label(form.pwd.new_password.first) }}
192 {{ form_errors(form.pwd.new_password.first) }}
193 {{ form_widget(form.pwd.new_password.first) }}
194 </div>
195 </div>
196
197 <div class="row">
198 <div class="input-field col s12">
199 {{ form_label(form.pwd.new_password.second) }}
200 {{ form_errors(form.pwd.new_password.second) }}
201 {{ form_widget(form.pwd.new_password.second) }}
202 </div>
203 </div>
204
205 {{ form_widget(form.pwd.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
206 {{ form_rest(form.pwd) }}
207 </form>
208 </div>
209
210 <div id="set5" class="col s12">
211 {% if app.user.config.taggingRules is not empty %}
212 <div class="row">
213 <div class="input-field col s12">
214 <ul>
215 {% for tagging_rule in app.user.config.taggingRules %}
216 <li>
217 {{ 'config.form_rules.if_label'|trans }}
218 « {{ tagging_rule.rule }} »
219 {{ 'config.form_rules.then_tag_as_label'|trans }}
220 « {{ tagging_rule.tags|join(', ') }} »
221 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
222 <i class="tool grey-text mode_edit material-icons">mode_edit</i>
223 </a>
224 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
225 <i class="tool grey-text delete material-icons">delete</i>
226 </a>
227 </li>
228 {% endfor %}
229 </ul>
230 </div>
231 </div>
232 {% endif %}
233
234 {{ form_start(form.new_tagging_rule) }}
235 {{ form_errors(form.new_tagging_rule) }}
236
237 <div class="row">
238 <div class="input-field col s12">
239 {{ form_label(form.new_tagging_rule.rule) }}
240 {{ form_errors(form.new_tagging_rule.rule) }}
241 {{ form_widget(form.new_tagging_rule.rule) }}
242 </div>
243 </div>
244
245 <div class="row">
246 <div class="input-field col s12">
247 {{ form_label(form.new_tagging_rule.tags) }}
248 {{ form_errors(form.new_tagging_rule.tags) }}
249 {{ form_widget(form.new_tagging_rule.tags) }}
250 </div>
251 </div>
252
253 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
254 {{ form_rest(form.new_tagging_rule) }}
255 </form>
256
257 <div class="row">
258 <div class="input-field col s12">
259 <h4>{{ 'config.form_rules.faq.title'|trans }}</h4>
260
261 <h5>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h5>
262 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
263
264 <h5>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h5>
265 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
266
267 <h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
268 <p class="help">
269 {{ 'config.form_rules.faq.variables_available_description'|trans }}
270 </p>
271
272 <table class="bordered">
273 <thead>
274 <tr>
275 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
276 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
277 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
278 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
279 </tr>
280 </thead>
281
282 <tbody>
283 <tr>
284 <td>title</td>
285 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
286 <td>&lt;=</td>
287 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
288 </tr>
289 <tr>
290 <td>url</td>
291 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
292 <td>&lt;</td>
293 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
294 </tr>
295 <tr>
296 <td>isArchived</td>
297 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
298 <td>&gt;=</td>
299 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
300 </tr>
301 <tr>
302 <td>isStarred</td>
303 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
304 <td>&gt;</td>
305 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
306 </tr>
307 <tr>
308 <td>content</td>
309 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
310 <td>=</td>
311 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
312 </tr>
313 <tr>
314 <td>language</td>
315 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
316 <td>!=</td>
317 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
318 </tr>
319 <tr>
320 <td>mimetype</td>
321 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
322 <td>OR</td>
323 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
324 </tr>
325 <tr>
326 <td>readingTime</td>
327 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
328 <td>AND</td>
329 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
330 </tr>
331 <tr>
332 <td>domainName</td>
333 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
334 <td>matches</td>
335 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
336 </tr>
337 </tbody>
338 </table>
339 </div>
340 </div>
341 </div>
342
343 {% if is_granted('ROLE_SUPER_ADMIN') %}
344 <div id="set6" class="col s12">
345 {{ form_start(form.new_user) }}
346 {{ form_errors(form.new_user) }}
347
348 <div class="row">
349 <div class="input-field col s12">
350 {{ form_label(form.new_user.username) }}
351 {{ form_errors(form.new_user.username) }}
352 {{ form_widget(form.new_user.username) }}
353 </div>
354 </div>
355
356 <div class="row">
357 <div class="input-field col s12">
358 {{ form_label(form.new_user.plainPassword.first) }}
359 {{ form_errors(form.new_user.plainPassword.first) }}
360 {{ form_widget(form.new_user.plainPassword.first) }}
361 </div>
362 </div>
363
364 <div class="row">
365 <div class="input-field col s12">
366 {{ form_label(form.new_user.plainPassword.second) }}
367 {{ form_errors(form.new_user.plainPassword.second) }}
368 {{ form_widget(form.new_user.plainPassword.second) }}
369 </div>
370 </div>
371
372 <div class="row">
373 <div class="input-field col s12">
374 {{ form_label(form.new_user.email) }}
375 {{ form_errors(form.new_user.email) }}
376 {{ form_widget(form.new_user.email) }}
377 </div>
378 </div>
379
380 {{ form_widget(form.new_user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
381 {{ form_rest(form.new_user) }}
382 </form>
383 </div>
384 {% endif %}
385 </div>
386
387 </div>
388 </div>
389 </div>
390 {% endblock %}