mirror of
https://gitnet.fr/deblan/gist.git
synced 2021-08-14 08:30:49 +02:00
feature/3: upload a file
This commit is contained in:
parent
834faedc1f
commit
0f127a0920
@ -37,9 +37,19 @@ class EditController extends Controller
|
||||
|
||||
if ($request->isMethod('post')) {
|
||||
$form->submit($request);
|
||||
$data = $form->getData();
|
||||
|
||||
if (empty($form->getData()['content']) && empty($request->files)) {
|
||||
$form->get('content')->addError(new FormError('form.error.not_blank'));
|
||||
} elseif (empty($form->getData()['content']) && !empty($request->files)) {
|
||||
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>
|
||||
|
@ -106,6 +106,7 @@
|
||||
var trans = function(key) {
|
||||
var translations = {
|
||||
'form.confirm': '{{ 'form.confirm'|trans }}',
|
||||
'form.error.not_blank': '{{ 'form.confirm'|trans }}',
|
||||
};
|
||||
|
||||
if (translations.hasOwnProperty(key)) {
|
||||
|
Loading…
Reference in New Issue
Block a user