267 lines
14 KiB
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 %}
|