]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
Display login in config / user
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / material / Config / index.html.twig
CommitLineData
53e12188
AD
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
0d42217e 3{% block title %}{{ 'config.page_title'|trans }}{% endblock %}
53e12188
AD
4
5{% block content %}
6
7 <div class="row">
8 <div class="col s12">
9948d899 9 <div class="card-panel settings">
53e12188
AD
10
11 <div class="row">
9948d899 12 <div class="div_tabs col s12">
53e12188 13 <ul class="tabs">
d9a30ef3 14 <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
531c8d0a 15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.feed'|trans }}</a></li>
d9a30ef3
TC
16 <li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
17 <li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
18 <li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
acd44120 19 <li class="tab col s12 m6 l3"><a href="#set6">{{ 'config.tab_menu.reset'|trans }}</a></li>
53e12188
AD
20 </ul>
21 </div>
22
53e12188 23 <div id="set1" class="col s12">
33fe61f9 24 {{ form_start(form.config) }}
53e12188
AD
25 {{ form_errors(form.config) }}
26
27 <div class="row">
540a9bc4 28 <div class="input-field col s11">
53e12188
AD
29 {{ form_errors(form.config.theme) }}
30 {{ form_widget(form.config.theme) }}
17cc3aac 31 {{ form_label(form.config.theme) }}
53e12188 32 </div>
540a9bc4
NL
33 <div class="input-field col s1">
34 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_theme'|trans }}">
35 <i class="material-icons">live_help</i>
36 </a>
37 </div>
53e12188
AD
38 </div>
39
40 <div class="row">
540a9bc4 41 <div class="input-field col s11">
53e12188
AD
42 {{ form_errors(form.config.items_per_page) }}
43 {{ form_widget(form.config.items_per_page) }}
17cc3aac 44 {{ form_label(form.config.items_per_page) }}
53e12188 45 </div>
540a9bc4
NL
46 <div class="input-field col s1">
47 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_items_per_page'|trans }}">
48 <i class="material-icons">live_help</i>
49 </a>
50 </div>
53e12188
AD
51 </div>
52
bca54859 53 <div class="row">
540a9bc4 54 <div class="input-field col s11">
bca54859
NL
55 {{ form_errors(form.config.reading_speed) }}
56 {{ form_widget(form.config.reading_speed) }}
17cc3aac 57 {{ form_label(form.config.reading_speed) }}
f3e49264
JB
58 <p>
59 {{ 'config.form_settings.reading_speed.help_message'|trans }}
60 <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
61 </p>
bca54859 62 </div>
540a9bc4
NL
63 <div class="input-field col s1">
64 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_reading_speed'|trans }}">
65 <i class="material-icons">live_help</i>
66 </a>
67 </div>
bca54859
NL
68 </div>
69
f92fcb53
JB
70 <div class="row">
71 <div class="input-field col s12">
f92fcb53
JB
72 {{ form_errors(form.config.action_mark_as_read) }}
73 {{ form_widget(form.config.action_mark_as_read) }}
88017645 74 {{ form_label(form.config.action_mark_as_read) }}
f92fcb53 75 </div>
a42f38d9 76 </div>
a42f38d9 77
53e12188 78 <div class="row">
540a9bc4 79 <div class="input-field col s11">
53e12188
AD
80 {{ form_errors(form.config.language) }}
81 {{ form_widget(form.config.language) }}
17cc3aac 82 {{ form_label(form.config.language) }}
53e12188 83 </div>
540a9bc4
NL
84 <div class="input-field col s1">
85 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_language'|trans }}">
86 <i class="material-icons">live_help</i>
87 </a>
88 </div>
53e12188
AD
89 </div>
90
ebe0787e 91 <div class="row">
540a9bc4 92 <div class="input-field col s11">
ebe0787e
JB
93 {{ form_errors(form.config.pocket_consumer_key) }}
94 {{ form_widget(form.config.pocket_consumer_key) }}
17cc3aac 95 {{ form_label(form.config.pocket_consumer_key) }}
ebe0787e
JB
96 <p>
97 &raquo;
98 <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
99 </p>
100 </div>
540a9bc4
NL
101 <div class="input-field col s1">
102 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_pocket_consumer_key'|trans }}">
103 <i class="material-icons">live_help</i>
104 </a>
105 </div>
ebe0787e
JB
106 </div>
107
e61ee560
NL
108 <div class="row">
109 <div class="input-field col s12">
3b812126 110 <h5>{{ 'config.form_settings.android_configuration'|trans }}</h5>
e2a038d6 111 <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}" class="waves-effect waves-light btn hide-on-large-only">{{ 'config.form_settings.android_instruction' | trans }}</a>
e61ee560
NL
112 <img id="androidQrcode" class="hide-on-med-and-down" />
113 </div>
114 <script>
dfd0a7bc 115 document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
e61ee560
NL
116 </script>
117 </div>
118
0d42217e
JB
119 {{ form_widget(form.config.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
120 {{ form_rest(form.config) }}
53e12188
AD
121 </form>
122 </div>
123
53e12188 124 <div id="set2" class="col s12">
531c8d0a
TC
125 {{ form_start(form.feed) }}
126 {{ form_errors(form.feed) }}
53e12188
AD
127
128 <div class="row">
129 <div class="input-field col s12">
531c8d0a 130 {{ 'config.form_feed.description'|trans }}
4f0dfac6
NL
131 </div>
132 </div>
133
134 <div class="row">
34806fab 135 <div class="col s12">
531c8d0a 136 <h6 class="grey-text">{{ 'config.form_feed.token_label'|trans }}</h6>
83aaf841 137 <div>
531c8d0a
TC
138 {% if feed.token %}
139 {{ feed.token }}
83aaf841 140 {% else %}
531c8d0a 141 <em>{{ 'config.form_feed.no_token'|trans }}</em>
83aaf841 142 {% endif %}
c4bf12aa 143
531c8d0a 144 {% if feed.token %}
c4bf12aa
JB
145 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a>
146 – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a>
0d42217e 147 {% else %}
c4bf12aa
JB
148 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a>
149 {% endif %}
83aaf841 150 </div>
53e12188
AD
151 </div>
152 </div>
531c8d0a 153 {% if feed.token %}
53e12188 154 <div class="row">
34806fab 155 <div class="col s12">
531c8d0a 156 <h6 class="grey-text">{{ 'config.form_feed.feed_links'|trans }}</h6>
0d42217e 157 <ul>
531c8d0a
TC
158 <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li>
159 <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li>
160 <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li>
161 <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li>
0d42217e 162 </ul>
53e12188
AD
163 </div>
164 </div>
4f0dfac6 165 {% endif %}
53e12188
AD
166
167 <div class="row">
168 <div class="input-field col s12">
531c8d0a
TC
169 {{ form_label(form.feed.feed_limit) }}
170 {{ form_errors(form.feed.feed_limit) }}
171 {{ form_widget(form.feed.feed_limit) }}
53e12188
AD
172 </div>
173 </div>
174
531c8d0a
TC
175 {{ form_widget(form.feed.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
176 {{ form_rest(form.feed) }}
53e12188
AD
177 </form>
178 </div>
179
53e12188 180 <div id="set3" class="col s12">
33fe61f9 181 {{ form_start(form.user) }}
53e12188
AD
182 {{ form_errors(form.user) }}
183
35c4c801
JB
184 <div class="row">
185 <div class="col s12">
186 <h6 class="grey-text">{{ 'config.form_user.login_label'|trans }}</h6>
187 <div>
188 {{ app.user.username }}
189 </div>
190 </div>
191 </div>
192
53e12188
AD
193 <div class="row">
194 <div class="input-field col s12">
195 {{ form_label(form.user.name) }}
196 {{ form_errors(form.user.name) }}
197 {{ form_widget(form.user.name) }}
198 </div>
199 </div>
200
201 <div class="row">
202 <div class="input-field col s12">
203 {{ form_label(form.user.email) }}
204 {{ form_errors(form.user.email) }}
205 {{ form_widget(form.user.email) }}
206 </div>
207 </div>
208
a0c5eb00
JB
209 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
210
18cf594f 211 {% if twofactor_auth %}
a0c5eb00
JB
212 <br/>
213 <br/>
a6b242a1 214 <div class="row">
a0c5eb00
JB
215 <h5>{{ 'config.otp.page_title'|trans }}</h5>
216
217 <p>{{ 'config.form_user.two_factor_description'|trans }}</p>
218
219 <table>
220 <thead>
221 <tr>
222 <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th>
223 <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th>
224 <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th>
225 </tr>
226 </thead>
227
228 <tbody>
229 <tr>
230 <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td>
231 <td>{% if app.user.isEmailTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
232 <td><a href="{{ path('config_otp_email') }}" class="waves-effect waves-light btn{% if app.user.isEmailTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_email'|trans }}</a></td>
233 </tr>
234 <tr>
235 <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td>
236 <td>{% if app.user.isGoogleTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
237 <td><a href="{{ path('config_otp_app') }}" class="waves-effect waves-light btn{% if app.user.isGoogleTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_app'|trans }}</a></td>
238 </tr>
239 </tbody>
240 </table>
540a9bc4 241 </div>
18cf594f 242 {% endif %}
8f5e2203 243 {{ form_widget(form.user._token) }}
53e12188
AD
244 </form>
245 </div>
246
53e12188 247 <div id="set4" class="col s12">
33fe61f9 248 {{ form_start(form.pwd) }}
53e12188
AD
249 {{ form_errors(form.pwd) }}
250
f92fcb53
JB
251 <div class="row">
252 <div class="input-field col s12">
253 {{ 'config.form_password.description'|trans }}
254 </div>
540a9bc4 255 </div>
540a9bc4 256
53e12188
AD
257 <div class="row">
258 <div class="input-field col s12">
259 {{ form_label(form.pwd.old_password) }}
260 {{ form_errors(form.pwd.old_password) }}
261 {{ form_widget(form.pwd.old_password) }}
262 </div>
263 </div>
264
265 <div class="row">
266 <div class="input-field col s12">
267 {{ form_label(form.pwd.new_password.first) }}
268 {{ form_errors(form.pwd.new_password.first) }}
269 {{ form_widget(form.pwd.new_password.first) }}
270 </div>
271 </div>
272
273 <div class="row">
274 <div class="input-field col s12">
275 {{ form_label(form.pwd.new_password.second) }}
276 {{ form_errors(form.pwd.new_password.second) }}
277 {{ form_widget(form.pwd.new_password.second) }}
278 </div>
279 </div>
280
0d42217e
JB
281 {{ form_widget(form.pwd.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
282 {{ form_rest(form.pwd) }}
53e12188
AD
283 </form>
284 </div>
285
f19f9f62 286 <div id="set5" class="col s12">
b1e0a586 287 {% if app.user.config.taggingRules is not empty %}
981cacf7
KG
288 <div class="row">
289 <div class="input-field col s12">
290 <ul>
291 {% for tagging_rule in app.user.config.taggingRules %}
292 <li>
0d42217e
JB
293 {{ 'config.form_rules.if_label'|trans }}
294 « {{ tagging_rule.rule }} »
295 {{ 'config.form_rules.then_tag_as_label'|trans }}
296 « {{ tagging_rule.tags|join(', ') }} »
bf3dc999
JB
297 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
298 <i class="tool grey-text mode_edit material-icons">mode_edit</i>
299 </a>
0d42217e 300 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
5ecdfcd0 301 <i class="tool grey-text delete material-icons">delete</i>
52e423f3 302 </a>
981cacf7
KG
303 </li>
304 {% endfor %}
305 </ul>
306 </div>
307 </div>
b1e0a586 308 {% endif %}
981cacf7 309
c13eda46 310 {{ form_start(form.new_tagging_rule) }}
9b88658c 311 {{ form_errors(form.new_tagging_rule) }}
f19f9f62
KG
312
313 <div class="row">
314 <div class="input-field col s12">
315 {{ form_label(form.new_tagging_rule.rule) }}
316 {{ form_errors(form.new_tagging_rule.rule) }}
317 {{ form_widget(form.new_tagging_rule.rule) }}
318 </div>
319 </div>
320
321 <div class="row">
322 <div class="input-field col s12">
323 {{ form_label(form.new_tagging_rule.tags) }}
324 {{ form_errors(form.new_tagging_rule.tags) }}
325 {{ form_widget(form.new_tagging_rule.tags) }}
326 </div>
327 </div>
328
0d42217e
JB
329 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
330 {{ form_rest(form.new_tagging_rule) }}
f19f9f62 331 </form>
e9fbd2d1
KG
332
333 <div class="row">
334 <div class="input-field col s12">
0d42217e 335 <h4>{{ 'config.form_rules.faq.title'|trans }}</h4>
5c514b0b 336
0d42217e
JB
337 <h5>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h5>
338 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
5c514b0b 339
0d42217e
JB
340 <h5>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h5>
341 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
5c514b0b 342
0d42217e 343 <h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
e9fbd2d1 344 <p class="help">
0d42217e 345 {{ 'config.form_rules.faq.variables_available_description'|trans }}
e9fbd2d1 346 </p>
8687bcd0
NL
347
348 <table class="bordered">
349 <thead>
350 <tr>
351 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
352 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
353 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
354 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
355 </tr>
356 </thead>
357
358 <tbody>
359 <tr>
360 <td>title</td>
361 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
362 <td>&lt;=</td>
363 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
364 </tr>
365 <tr>
366 <td>url</td>
367 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
368 <td>&lt;</td>
369 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
370 </tr>
371 <tr>
372 <td>isArchived</td>
373 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
7a2157b8 374 <td>&gt;=</td>
8687bcd0
NL
375 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
376 </tr>
377 <tr>
378 <td>isStarred</td>
379 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
380 <td>&gt;</td>
381 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
382 </tr>
383 <tr>
384 <td>content</td>
385 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
386 <td>=</td>
387 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
388 </tr>
389 <tr>
390 <td>language</td>
391 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
392 <td>!=</td>
393 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
394 </tr>
395 <tr>
396 <td>mimetype</td>
397 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
398 <td>OR</td>
399 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
400 </tr>
401 <tr>
402 <td>readingTime</td>
403 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
404 <td>AND</td>
405 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
406 </tr>
407 <tr>
408 <td>domainName</td>
409 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
fdd725f5
NL
410 <td>matches<br />notmaches</td>
411 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}<br />{{ 'config.form_rules.faq.operator_description.notmatches'|trans|raw }}</td>
8687bcd0
NL
412 </tr>
413 </tbody>
414 </table>
e9fbd2d1
KG
415 </div>
416 </div>
f19f9f62 417 </div>
acd44120
JB
418
419 <div id="set6" class="col s12">
420 <div class="row">
421 <h5>{{ 'config.reset.title'|trans }}</h5>
422 <p>{{ 'config.reset.description'|trans }}</p>
423 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
424 {{ 'config.reset.annotations'|trans }}
425 </a>
426 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
427 {{ 'config.reset.tags'|trans }}
428 </a>
429 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
430 {{ 'config.reset.archived'|trans }}
431 </a>
432 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
433 {{ 'config.reset.entries'|trans }}
434 </a>
435 </div>
436
437 {% if enabled_users > 1 %}
438 <br /><hr /><br />
439
440 <div class="row">
441 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
442 <p>{{ 'config.form_user.delete.description'|trans }}</p>
443 <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
444 {{ 'config.form_user.delete.button'|trans }}
445 </a>
446 </div>
447 {% endif %}
448 </div>
53e12188
AD
449 </div>
450
451 </div>
452 </div>
453 </div>
53e12188 454{% endblock %}