forked from deblan/gist
Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
Simon Vieille | 79ba41a983 | ||
Simon Vieille | 8a7de8a107 | ||
Simon Vieille | bc67a2ce1c | ||
Simon Vieille | 0f127a0920 | ||
Simon Vieille | 834faedc1f | ||
Simon Vieille | 1898c31e21 | ||
Simon Vieille | fb2d387fef | ||
Simon Vieille | 0060b18842 | ||
Simon Vieille | 1c52988222 |
|
@ -291,3 +291,4 @@ Contributors
|
|||
* Marion Sanchez
|
||||
* Marjorie Da Silva
|
||||
* Mélanie Chanat
|
||||
* Showfom
|
||||
|
|
|
@ -11,7 +11,7 @@ use Symfony\Component\HttpFoundation\Cookie;
|
|||
$app->register(new TranslationServiceProvider(), array(
|
||||
'locale' => 'en',
|
||||
'locale_fallback' => 'en',
|
||||
'locales' => array('en', 'fr', 'es', 'de'),
|
||||
'locales' => array('en', 'fr', 'es', 'de', 'cn'),
|
||||
));
|
||||
|
||||
$app['translator'] = $app->extend('translator', function ($translator, $app) {
|
||||
|
|
|
@ -6,7 +6,7 @@ use Gist\Service\Gist;
|
|||
$dataPath = $app['settings']['data']['path'];
|
||||
|
||||
if ($dataPath[0] !== '/') {
|
||||
$app['gist_path'] = $app['root_path'].$dataPath;
|
||||
$app['gist_path'] = $app['root_path'].'/'.$dataPath;
|
||||
} else {
|
||||
$app['gist_path'] = $dataPath;
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
use Gist\Api\Client;
|
||||
|
||||
$app['api_client'] = $app->share(function ($app) {
|
||||
return new Client(['base_uri' => $app['settings']['api']['base_uri']]);
|
||||
return new Client(['base_uri' => rtrim($app['settings']['api']['base_url'], '/')]);
|
||||
});
|
||||
|
|
|
@ -8,6 +8,7 @@ use Gist\Form\CloneGistForm;
|
|||
use Gist\Model\Gist;
|
||||
use GitWrapper\GitException;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Symfony\Component\Form\FormError;
|
||||
|
||||
/**
|
||||
* Class EditController.
|
||||
|
@ -37,9 +38,19 @@ class EditController extends Controller
|
|||
|
||||
if ($request->isMethod('post')) {
|
||||
$form->submit($request);
|
||||
$data = $form->getData();
|
||||
|
||||
if (empty($form->getData()['content']) && !$request->files->has('file')) {
|
||||
$form->get('content')->addError(new FormError($app['translator']->trans('form.error.not_blank')));
|
||||
} elseif (empty($form->getData()['content']) && $request->files->has('file')) {
|
||||
if (count($form->get('file')->getErrors()) === 0) {
|
||||
$data['content'] = file_get_contents($form->get('file')->getData()->getPathName());
|
||||
unset($data['file']);
|
||||
}
|
||||
}
|
||||
|
||||
if ($form->isValid()) {
|
||||
$gist = $app['gist']->create(new Gist(), $form->getData(), $this->getUser());
|
||||
$gist = $app['gist']->create(new Gist(), $data, $this->getUser());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,16 +32,25 @@ class CreateGistForm extends AbstractForm
|
|||
'content',
|
||||
'textarea',
|
||||
array(
|
||||
'required' => true,
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'class' => 'form-control',
|
||||
'rows' => 10,
|
||||
),
|
||||
'trim' => false,
|
||||
'constraints' => array(
|
||||
new NotBlank(array(
|
||||
'message' => $this->translator->trans('form.error.not_blank'),
|
||||
)),
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
$this->builder->add(
|
||||
'file',
|
||||
'file',
|
||||
array(
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
),
|
||||
'constraints' => array(
|
||||
),
|
||||
)
|
||||
);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<form action="{{ path('home') }}" method="post" id="main-form">
|
||||
<form action="{{ path('home') }}" method="post" id="main-form" enctype="multipart/form-data">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
|
@ -71,6 +71,10 @@
|
|||
{{ form_errors(form.content) }}
|
||||
{{ form_widget(form.content) }}
|
||||
</p>
|
||||
<p>
|
||||
{{ form_errors(form.file) }}
|
||||
{{ form_widget(form.file) }}
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" class="btn btn-primary" value="{{ 'form.submit'|trans }}">
|
||||
</p>
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
</ul>
|
||||
{% block langs %}
|
||||
<p class="navbar-text navbar-right">
|
||||
{% for locale, flag in {'en': 'gb', 'fr': 'fr', 'es': 'es', 'de': 'de'} %}
|
||||
{% for locale, flag in {'en': 'gb', 'fr': 'fr', 'es': 'es', 'de': 'de', 'cn': 'cn'} %}
|
||||
<a class="lang btn btn-xs cipher-link" href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({_locale: locale})) }}">
|
||||
<span class="flag-icon flag-icon-{{ flag }}"></span>
|
||||
</a>
|
||||
|
|
Loading…
Reference in a new issue