diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config')
-rw-r--r-- | src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig | 182 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig | 55 |
2 files changed, 170 insertions, 67 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig index bcc57dac..f719bea2 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig | |||
@@ -86,8 +86,7 @@ | |||
86 | <br/> | 86 | <br/> |
87 | <img id="androidQrcode" /> | 87 | <img id="androidQrcode" /> |
88 | <script> | 88 | <script> |
89 | const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); | 89 | document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); |
90 | document.getElementById('androidQrcode').src = imgBase64; | ||
91 | </script> | 90 | </script> |
92 | </div> | 91 | </div> |
93 | </fieldset> | 92 | </fieldset> |
@@ -95,43 +94,42 @@ | |||
95 | {{ form_rest(form.config) }} | 94 | {{ form_rest(form.config) }} |
96 | </form> | 95 | </form> |
97 | 96 | ||
98 | <h2>{{ 'config.tab_menu.rss'|trans }}</h2> | 97 | <h2>{{ 'config.tab_menu.feed'|trans }}</h2> |
99 | 98 | ||
100 | {{ form_start(form.rss) }} | 99 | {{ form_start(form.feed) }} |
101 | {{ form_errors(form.rss) }} | 100 | {{ form_errors(form.feed) }} |
102 | 101 | ||
103 | <div class="row"> | 102 | <div class="row"> |
104 | {{ 'config.form_rss.description'|trans }} | 103 | {{ 'config.form_feed.description'|trans }} |
105 | </div> | 104 | </div> |
106 | 105 | ||
107 | <fieldset class="w500p inline"> | 106 | <fieldset class="w500p inline"> |
108 | <div class="row"> | 107 | <div class="row"> |
109 | <label>{{ 'config.form_rss.token_label'|trans }}</label> | 108 | <label>{{ 'config.form_feed.token_label'|trans }}</label> |
110 | {% if rss.token %} | 109 | {% if feed.token %} |
111 | {{ rss.token }} | 110 | {{ feed.token }} |
112 | {% else %} | 111 | {% else %} |
113 | <em>{{ 'config.form_rss.no_token'|trans }}</em> | 112 | <em>{{ 'config.form_feed.no_token'|trans }}</em> |
113 | {% endif %} | ||
114 | |||
115 | {% if feed.token %} | ||
116 | – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a> | ||
117 | – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a> | ||
118 | {% else %} | ||
119 | – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a> | ||
114 | {% endif %} | 120 | {% endif %} |
115 | – | ||
116 | <a href="{{ path('generate_token') }}"> | ||
117 | {% if rss.token %} | ||
118 | {{ 'config.form_rss.token_reset'|trans }} | ||
119 | {% else %} | ||
120 | {{ 'config.form_rss.token_create'|trans }} | ||
121 | {% endif %} | ||
122 | </a> | ||
123 | </div> | 121 | </div> |
124 | </fieldset> | 122 | </fieldset> |
125 | 123 | ||
126 | {% if rss.token %} | 124 | {% if feed.token %} |
127 | <fieldset class="w500p inline"> | 125 | <fieldset class="w500p inline"> |
128 | <div class="row"> | 126 | <div class="row"> |
129 | <label>{{ 'config.form_rss.rss_links'|trans }}</label> | 127 | <label>{{ 'config.form_feed.feed_links'|trans }}</label> |
130 | <ul> | 128 | <ul> |
131 | <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li> | 129 | <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li> |
132 | <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li> | 130 | <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li> |
133 | <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li> | 131 | <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li> |
134 | <li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li> | 132 | <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li> |
135 | </ul> | 133 | </ul> |
136 | </div> | 134 | </div> |
137 | </fieldset> | 135 | </fieldset> |
@@ -139,19 +137,25 @@ | |||
139 | 137 | ||
140 | <fieldset class="w500p inline"> | 138 | <fieldset class="w500p inline"> |
141 | <div class="row"> | 139 | <div class="row"> |
142 | {{ form_label(form.rss.rss_limit) }} | 140 | {{ form_label(form.feed.feed_limit) }} |
143 | {{ form_errors(form.rss.rss_limit) }} | 141 | {{ form_errors(form.feed.feed_limit) }} |
144 | {{ form_widget(form.rss.rss_limit) }} | 142 | {{ form_widget(form.feed.feed_limit) }} |
145 | </div> | 143 | </div> |
146 | </fieldset> | 144 | </fieldset> |
147 | 145 | ||
148 | {{ form_rest(form.rss) }} | 146 | {{ form_rest(form.feed) }} |
149 | </form> | 147 | </form> |
150 | 148 | ||
151 | <h2>{{ 'config.tab_menu.user_info'|trans }}</h2> | 149 | <h2>{{ 'config.tab_menu.user_info'|trans }}</h2> |
152 | 150 | ||
153 | {{ form_start(form.user) }} | 151 | {{ form_start(form.user) }} |
154 | {{ form_errors(form.user) }} | 152 | {{ form_errors(form.user) }} |
153 | <fieldset class="w500p inline"> | ||
154 | <div class="row"> | ||
155 | <label>{{ 'config.form_user.login_label'|trans }}</label> | ||
156 | {{ app.user.username }} | ||
157 | </div> | ||
158 | </fieldset> | ||
155 | 159 | ||
156 | <fieldset class="w500p inline"> | 160 | <fieldset class="w500p inline"> |
157 | <div class="row"> | 161 | <div class="row"> |
@@ -169,52 +173,41 @@ | |||
169 | </div> | 173 | </div> |
170 | </fieldset> | 174 | </fieldset> |
171 | 175 | ||
176 | {{ form_widget(form.user.save) }} | ||
177 | |||
172 | {% if twofactor_auth %} | 178 | {% if twofactor_auth %} |
179 | <h5>{{ 'config.otp.page_title'|trans }}</h5> | ||
180 | |||
173 | <div class="row"> | 181 | <div class="row"> |
174 | {{ 'config.form_user.two_factor_description'|trans }} | 182 | {{ 'config.form_user.two_factor_description'|trans }} |
175 | </div> | 183 | </div> |
176 | 184 | ||
177 | <fieldset class="w500p inline"> | 185 | <table> |
178 | <div class="row"> | 186 | <thead> |
179 | {{ form_label(form.user.twoFactorAuthentication) }} | 187 | <tr> |
180 | {{ form_errors(form.user.twoFactorAuthentication) }} | 188 | <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th> |
181 | {{ form_widget(form.user.twoFactorAuthentication) }} | 189 | <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th> |
182 | </div> | 190 | <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th> |
183 | <a href="#" title="{{ 'config.form_user.help_twoFactorAuthentication'|trans }}"> | 191 | </tr> |
184 | <i class="material-icons">live_help</i> | 192 | </thead> |
185 | </a> | ||
186 | </fieldset> | ||
187 | {% endif %} | ||
188 | 193 | ||
189 | <h2>{{ 'config.reset.title'|trans }}</h2> | 194 | <tbody> |
190 | <fieldset class="w500p inline"> | 195 | <tr> |
191 | <p>{{ 'config.reset.description'|trans }}</p> | 196 | <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td> |
192 | <ul> | 197 | <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> |
193 | <li> | 198 | <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> |
194 | <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | 199 | </tr> |
195 | {{ 'config.reset.annotations'|trans }} | 200 | <tr> |
196 | </a> | 201 | <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td> |
197 | </li> | 202 | <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> |
198 | <li> | 203 | <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> |
199 | <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | 204 | </tr> |
200 | {{ 'config.reset.tags'|trans }} | 205 | </tbody> |
201 | </a> | 206 | </table> |
202 | </li> | 207 | |
203 | <li> | 208 | {% endif %} |
204 | <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
205 | {{ 'config.reset.archived'|trans }} | ||
206 | </a> | ||
207 | </li> | ||
208 | <li> | ||
209 | <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
210 | {{ 'config.reset.entries'|trans }} | ||
211 | </a> | ||
212 | </li> | ||
213 | </ul> | ||
214 | </fieldset> | ||
215 | 209 | ||
216 | {{ form_widget(form.user._token) }} | 210 | {{ form_widget(form.user._token) }} |
217 | {{ form_widget(form.user.save) }} | ||
218 | </form> | 211 | </form> |
219 | 212 | ||
220 | {% if enabled_users > 1 %} | 213 | {% if enabled_users > 1 %} |
@@ -277,7 +270,7 @@ | |||
277 | {% endfor %} | 270 | {% endfor %} |
278 | </ul> | 271 | </ul> |
279 | 272 | ||
280 | {{ form_start(form.new_tagging_rule) }} | 273 | {{ form_start(form.new_tagging_rule) }} |
281 | {{ form_errors(form.new_tagging_rule) }} | 274 | {{ form_errors(form.new_tagging_rule) }} |
282 | 275 | ||
283 | <fieldset class="w500p inline"> | 276 | <fieldset class="w500p inline"> |
@@ -298,6 +291,34 @@ | |||
298 | 291 | ||
299 | {{ form_rest(form.new_tagging_rule) }} | 292 | {{ form_rest(form.new_tagging_rule) }} |
300 | </form> | 293 | </form> |
294 | |||
295 | <div class="row"> | ||
296 | <h3>{{ 'config.form_rules.card.import_tagging_rules'|trans }}</h3> | ||
297 | <p>{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}</p> | ||
298 | </div> | ||
299 | |||
300 | {{ form_start(form.import_tagging_rule) }} | ||
301 | {{ form_errors(form.import_tagging_rule) }} | ||
302 | |||
303 | <fieldset class="w500p inline"> | ||
304 | <div class="row"> | ||
305 | {{ form_label(form.import_tagging_rule.file) }} | ||
306 | {{ form_errors(form.import_tagging_rule.file) }} | ||
307 | {{ form_widget(form.import_tagging_rule.file) }} | ||
308 | </div> | ||
309 | </fieldset> | ||
310 | |||
311 | {{ form_rest(form.import_tagging_rule) }} | ||
312 | </form> | ||
313 | |||
314 | {% if app.user.config.taggingRules is not empty %} | ||
315 | <div class="row"> | ||
316 | <h3>{{ 'config.form_rules.card.export_tagging_rules'|trans }}</h3> | ||
317 | <p>{{ 'config.form_rules.card.export_tagging_rules_detail'|trans }}</p> | ||
318 | <p><a href="{{ path('export_tagging_rule') }}" class="waves-effect waves-light btn">{{ 'config.form_rules.export'|trans }}</a></p> | ||
319 | </div> | ||
320 | {% endif %} | ||
321 | |||
301 | <div class="row"> | 322 | <div class="row"> |
302 | <div class="input-field col s12"> | 323 | <div class="input-field col s12"> |
303 | <h3>{{ 'config.form_rules.faq.title'|trans }}</h3> | 324 | <h3>{{ 'config.form_rules.faq.title'|trans }}</h3> |
@@ -382,4 +403,31 @@ | |||
382 | </table> | 403 | </table> |
383 | </div> | 404 | </div> |
384 | </div> | 405 | </div> |
406 | |||
407 | <h2>{{ 'config.reset.title'|trans }}</h2> | ||
408 | <fieldset class="w500p inline"> | ||
409 | <p>{{ 'config.reset.description'|trans }}</p> | ||
410 | <ul> | ||
411 | <li> | ||
412 | <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
413 | {{ 'config.reset.annotations'|trans }} | ||
414 | </a> | ||
415 | </li> | ||
416 | <li> | ||
417 | <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
418 | {{ 'config.reset.tags'|trans }} | ||
419 | </a> | ||
420 | </li> | ||
421 | <li> | ||
422 | <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
423 | {{ 'config.reset.archived'|trans }} | ||
424 | </a> | ||
425 | </li> | ||
426 | <li> | ||
427 | <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
428 | {{ 'config.reset.entries'|trans }} | ||
429 | </a> | ||
430 | </li> | ||
431 | </ul> | ||
432 | </fieldset> | ||
385 | {% endblock %} | 433 | {% endblock %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig new file mode 100644 index 00000000..1d3685ae --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig | |||
@@ -0,0 +1,55 @@ | |||
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | ||
2 | |||
3 | {% block title %}{{ 'config.page_title'|trans }} > {{ 'config.otp.page_title'|trans }}{% endblock %} | ||
4 | |||
5 | {% block content %} | ||
6 | <h5>{{ 'config.otp.page_title'|trans }}</h5> | ||
7 | |||
8 | <ol> | ||
9 | <li> | ||
10 | <p>{{ 'config.otp.app.two_factor_code_description_1'|trans }}</p> | ||
11 | <p>{{ 'config.otp.app.two_factor_code_description_2'|trans }}</p> | ||
12 | |||
13 | <p> | ||
14 | <img id="2faQrcode" class="hide-on-med-and-down" /> | ||
15 | <script> | ||
16 | document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ qr_code }}'); | ||
17 | </script> | ||
18 | </p> | ||
19 | </li> | ||
20 | <li> | ||
21 | <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p> | ||
22 | |||
23 | <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p> | ||
24 | </li> | ||
25 | <li> | ||
26 | <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p> | ||
27 | |||
28 | {% for flashMessage in app.session.flashbag.get("two_factor") %} | ||
29 | <div class="card-panel red darken-1 black-text"> | ||
30 | {{ flashMessage|trans }} | ||
31 | </div> | ||
32 | {% endfor %} | ||
33 | |||
34 | <form class="form" action="{{ path("config_otp_app_check") }}" method="post"> | ||
35 | <div class="card-content"> | ||
36 | <div class="row"> | ||
37 | <div class="input-field col s12"> | ||
38 | <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label> | ||
39 | <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" /> | ||
40 | </div> | ||
41 | </div> | ||
42 | </div> | ||
43 | <div class="card-action"> | ||
44 | <a href="{{ path('config_otp_app_cancel') }}" class="waves-effect waves-light grey btn"> | ||
45 | {{ 'config.otp.app.cancel'|trans }} | ||
46 | </a> | ||
47 | <button class="btn waves-effect waves-light" type="submit" name="send"> | ||
48 | {{ 'config.otp.app.enable'|trans }} | ||
49 | <i class="material-icons right">send</i> | ||
50 | </button> | ||
51 | </div> | ||
52 | </form> | ||
53 | </li> | ||
54 | </ol> | ||
55 | {% endblock %} | ||