gist/src/Gist/Resources/views/My/my.html.twig

267 lines
14 KiB
Twig

{% extends 'base.html.twig' %}
{% block title %}{{ 'my.title'|trans }}{% endblock %}
{% block body %}
<div class="row">
{% if app.request.query.has('passwordUpdated') %}
<div class="col-md-12">
{% if app.request.query.get('passwordUpdated') %}
<div class="alert alert-success">
<p>{{ 'form.success.password'|trans }}</p>
</div>
{% else %}
<div class="alert alert-warning">
<p>{{ 'form.error.password'|trans }}</p>
</div>
{% endif %}
</div>
{% endif %}
{% if deleted %}
<div class="col-md-12">
<div class="alert alert-success">
<p>{{ 'form.success.gist'|trans }}</p>
</div>
</div>
{% endif %}
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
{{ 'my.title'|trans }}
<div class="pull-right actions">
<a href="{{ path('home', app.request.attributes.get('_route_params')) }}" class="btn btn-success btn-sm">
<span class="glyphicon glyphicon-copy"></span>
{{ 'gist.action.add'|trans }}
</a>
</div>
</div>
<div class="panel-body">
<div class="tab-content">
<div id="form-deletion">
{{ form(deleteForm) }}
</div>
{% set params = app.request.attributes.get('_route_params')|merge({page: 1}) %}
<form action="{{ path('my', params) }}" method="GET" class="form-inline">
<div class="form-group pull-left">
{{ form_widget(filterForm.title) }}
</div>
<div class="btn-toolbar">
<div class="btn-group" id="options">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span id="type-label" data-tpl="{{ 'form.type.label'|trans }}">
</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{% for item in filterForm.type.vars.choices %}
<li>
<input
{% if item.value == filterForm.type.vars.value %}checked{% endif %}
data-id="#type-label" type="radio" class="hide"
data-title="{{ item.label }}"
value="{{ item.value }}"
name="filter[type]"
id="type-{{ loop.index }}" />
<a href="#">
<label for="type-{{ loop.index }}">
{{ item.label }}
</label>
</a>
</li>
{% endfor %}
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span id="cipher-label" data-tpl="{{ 'form.cipher.label'|trans }}">
</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
{% for item in filterForm.cipher.vars.choices %}
<li>
<input
{% if item.value == filterForm.cipher.vars.value %}checked{% endif %}
data-id="#cipher-label" type="radio" class="hide cipher-input"
data-title="{{ item.label }}"
value="{{ item.value }}"
name="filter[cipher]"
id="cipher-{{ loop.index }}" />
<a href="#">
<label for="cipher-{{ loop.index }}">
{{ item.label }}
</label>
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
<input type="submit" class="btn btn-success" value="{{ 'form.filter'|trans }}" />
</div>
</form>
{% if gists.nbResults == 0 %}
{{ 'my.nothing'|trans }}
{% else %}
{% set pager %}
{% if gists.haveToPaginate %}
{% set params = app.request.attributes.get('_route_params')|merge({filter: app.request.query.get('filter', [])}) %}
<ul class="pagination">
<li>
{% set params = params|merge({page: 1}) %}
<a href="{{ path('my', params) }}">
<span aria-hidden="true">
<span class="glyphicon glyphicon-step-backward"></span>
</span>
</a>
</li>
<li>
{% set params = params|merge({page: gists.previousPage}) %}
<a href="{{ path('my', params) }}">
<span aria-hidden="true">
<span class="glyphicon glyphicon glyphicon-chevron-left"></span>
</span>
</a>
</li>
{% for p in gists.links(10) %}
<li {% if p == page %}class="active"{% endif %}>
{% set params = params|merge({page: p}) %}
<a href="{{ path('my', params) }}">{{ p }}</a>
</li>
{% endfor %}
<li>
{% set params = params|merge({page: gists.nextPage}) %}
<a href="{{ path('my', params) }}">
<span aria-hidden="true">
<span class="glyphicon glyphicon glyphicon-chevron-right"></span>
</span>
</a>
</li>
<li>
{% set params = params|merge({page: gists.lastPage}) %}
<a href="{{ path('my', params) }}">
<span aria-hidden="true">
<span class="glyphicon glyphicon-step-forward"></span>
</span>
</a>
</li>
</ul>
{% endif %}
{% endset %}
{{ pager }}
{% for gist in gists %}
<div class="commit">
<p>
<strong>{{ gist.title ? gist.title : 'gist.untitled'|trans }}</strong>,
{{ gist.createdAt|date('date.format'|trans) }}
</p>
<p>
<button class="btn btn-info btn-sm">
{{ gist.type }}
</button>
{% if not gist.cipher %}
<a href="{{ path('view', {gist: gist.file}) }}" class="btn btn-warning btn-sm">
{{ 'gist.action.view'|trans }}
</a>
{% else %}
<button class="btn btn-error btn-sm">
<span class="glyphicon glyphicon-lock"></span>
</button>
{% endif %}
<button class="btn btn-delete btn-sm" data-id="{{ gist.id }}">
<span class="glyphicon btn-delete glyphicon-remove" data-id="{{ gist.id }}"></span>
</button>
</p>
</div>
{% endfor %}
{{ pager }}
{% endif %}
</div>
</div>
</div>
{% set apiEnabled = app.settings.api.enabled %}
<div class="row">
<div class="col-md-{{ apiEnabled ? 6 : 12 }}">
<div class="panel panel-default">
<div class="panel-heading">
{{ 'login.login.form.password.placeholder'|trans }}
</div>
<div class="panel-body">
<div class="tab-content">
<form action="{{ path('my', params) }}" method="post">
<p>
{{ form_errors(passwordForm.currentPassword) }}
{{ form_widget(passwordForm.currentPassword) }}
</p>
<p>
{{ form_errors(passwordForm.newPassword) }}
{{ form_widget(passwordForm.newPassword) }}
</p>
<p>
{{ form_rest(passwordForm) }}
<input type="submit" class="btn btn-primary" value="{{ 'form.submit'|trans }}">
</p>
</form>
</div>
</div>
</div>
</div>
{% if apiEnabled %}
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
{{ 'my.api.title'|trans }}
</div>
<div class="panel-body">
<div class="tab-content">
<p>{{ 'my.api.warning'|trans|raw }}</p>
<form action="{{ path('my', params) }}" method="post">
<div class="row">
<p class="col-md-12">
<input type="text" name="apiKey" id="form-api-key" class="form-control" value="{{ apiKey }}" data-key="{{ apiKey }}">
</p>
<p class="col-md-12">
<input type="submit" name="generateApiKey" value="{{ 'my.api.form.generate'|trans }}" class="btn btn-primary">
</p>
</div>
</form>
</div>
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
{% endblock %}