add fields
This commit is contained in:
parent
4a3988f5b6
commit
e2b627a1d5
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -29,3 +29,4 @@ yarn-error.log
|
||||||
/public/media/
|
/public/media/
|
||||||
/migrations/*
|
/migrations/*
|
||||||
!/migrations/.gitkeep
|
!/migrations/.gitkeep
|
||||||
|
/.build
|
||||||
|
|
|
@ -4,6 +4,8 @@ namespace App\Entity;
|
||||||
|
|
||||||
use App\Core\Entity\EntityInterface;
|
use App\Core\Entity\EntityInterface;
|
||||||
use App\Repository\ConferenceRepository;
|
use App\Repository\ConferenceRepository;
|
||||||
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -54,6 +56,21 @@ class Conference implements EntityInterface
|
||||||
*/
|
*/
|
||||||
protected $date;
|
protected $date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="float", nullable=true)
|
||||||
|
*/
|
||||||
|
private $price;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\ManyToMany(targetEntity=Speaker::class, inversedBy="conferences")
|
||||||
|
*/
|
||||||
|
private $speakers;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->speakers = new ArrayCollection();
|
||||||
|
}
|
||||||
|
|
||||||
public function getId(): ?int
|
public function getId(): ?int
|
||||||
{
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
|
@ -142,4 +159,40 @@ class Conference implements EntityInterface
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getPrice(): ?float
|
||||||
|
{
|
||||||
|
return $this->price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setPrice(?float $price): self
|
||||||
|
{
|
||||||
|
$this->price = $price;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Collection<int, Speaker>
|
||||||
|
*/
|
||||||
|
public function getSpeakers(): Collection
|
||||||
|
{
|
||||||
|
return $this->speakers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addSpeaker(Speaker $speaker): self
|
||||||
|
{
|
||||||
|
if (!$this->speakers->contains($speaker)) {
|
||||||
|
$this->speakers[] = $speaker;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeSpeaker(Speaker $speaker): self
|
||||||
|
{
|
||||||
|
$this->speakers->removeElement($speaker);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,11 @@ class Project implements EntityInterface
|
||||||
*/
|
*/
|
||||||
private $events;
|
private $events;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="float", nullable=true)
|
||||||
|
*/
|
||||||
|
private $price;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->establishments = new ArrayCollection();
|
$this->establishments = new ArrayCollection();
|
||||||
|
@ -206,4 +211,16 @@ class Project implements EntityInterface
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getPrice(): ?float
|
||||||
|
{
|
||||||
|
return $this->price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setPrice(?float $price): self
|
||||||
|
{
|
||||||
|
$this->price = $price;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,10 +61,16 @@ class Speaker implements EntityInterface, EncryptedEntityInterface
|
||||||
*/
|
*/
|
||||||
private $color;
|
private $color;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\ManyToMany(targetEntity=Conference::class, mappedBy="speakers")
|
||||||
|
*/
|
||||||
|
private $conferences;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->interventions = new ArrayCollection();
|
$this->interventions = new ArrayCollection();
|
||||||
$this->events = new ArrayCollection();
|
$this->events = new ArrayCollection();
|
||||||
|
$this->conferences = new ArrayCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __toString()
|
public function __toString()
|
||||||
|
@ -209,4 +215,31 @@ class Speaker implements EntityInterface, EncryptedEntityInterface
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Collection<int, Conference>
|
||||||
|
*/
|
||||||
|
public function getConferences(): Collection
|
||||||
|
{
|
||||||
|
return $this->conferences;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addConference(Conference $conference): self
|
||||||
|
{
|
||||||
|
if (!$this->conferences->contains($conference)) {
|
||||||
|
$this->conferences[] = $conference;
|
||||||
|
$conference->addSpeaker($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeConference(Conference $conference): self
|
||||||
|
{
|
||||||
|
if ($this->conferences->removeElement($conference)) {
|
||||||
|
$conference->removeSpeaker($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ use App\Entity\Conference;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\NumberType;
|
||||||
|
|
||||||
class ConferenceType extends AbstractType
|
class ConferenceType extends AbstractType
|
||||||
{
|
{
|
||||||
|
@ -14,10 +15,21 @@ class ConferenceType extends AbstractType
|
||||||
$builder
|
$builder
|
||||||
->add('label')
|
->add('label')
|
||||||
->add('themeType')
|
->add('themeType')
|
||||||
|
->add('price', NumberType::class, [
|
||||||
|
'attr' => [
|
||||||
|
'step' => 0.01,
|
||||||
|
],
|
||||||
|
'scale' => 2,
|
||||||
|
'required' => false,
|
||||||
|
'html5' => true,
|
||||||
|
])
|
||||||
->add('date', null, [
|
->add('date', null, [
|
||||||
'html5' => true,
|
'html5' => true,
|
||||||
'widget' => 'single_text',
|
'widget' => 'single_text',
|
||||||
])
|
])
|
||||||
|
->add('speakers', null, [
|
||||||
|
'expanded' => true,
|
||||||
|
])
|
||||||
->add('persons')
|
->add('persons')
|
||||||
->add('content', null, [
|
->add('content', null, [
|
||||||
'attr' => ['rows' => 7],
|
'attr' => ['rows' => 7],
|
||||||
|
|
|
@ -8,6 +8,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use App\Core\Form\Type\CollectionType;
|
use App\Core\Form\Type\CollectionType;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\NumberType;
|
||||||
|
|
||||||
class ProjectType extends AbstractType
|
class ProjectType extends AbstractType
|
||||||
{
|
{
|
||||||
|
@ -26,8 +27,23 @@ class ProjectType extends AbstractType
|
||||||
->addOrderBy('e.name', 'ASC');
|
->addOrderBy('e.name', 'ASC');
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
->add('description')
|
->add('price', NumberType::class, [
|
||||||
->add('client')
|
'row_attr' => [
|
||||||
|
'class' => 'col-md-3',
|
||||||
|
],
|
||||||
|
'attr' => [
|
||||||
|
'step' => 0.01,
|
||||||
|
],
|
||||||
|
'scale' => 2,
|
||||||
|
'required' => false,
|
||||||
|
'html5' => true,
|
||||||
|
])
|
||||||
|
->add('description', null, [
|
||||||
|
'attr' => ['rows' => 7],
|
||||||
|
])
|
||||||
|
->add('client', null, [
|
||||||
|
'attr' => ['rows' => 7],
|
||||||
|
])
|
||||||
->add('files',
|
->add('files',
|
||||||
CollectionType::class,
|
CollectionType::class,
|
||||||
[
|
[
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3 order-1 pr-md-3">
|
<div class="col-md-3 order-1 pr-md-3">
|
||||||
{% for item in ['themeType', 'date', 'persons'] %}
|
{% for item in ['themeType', 'date', 'persons', 'price', 'speakers'] %}
|
||||||
{% include(configuration.view('form_widget', '@Core/admin/crud/_form_widget.html.twig')) with {form: form[item]} %}
|
{% include(configuration.view('form_widget', '@Core/admin/crud/_form_widget.html.twig')) with {form: form[item]} %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{% for item in ['date', 'establishmentGroups', 'activityReference', 'groups', 'levels', 'speakers'] %}
|
{% for item in ['date', 'establishmentGroups', 'activityReference', 'groups', 'levels', 'speakers', 'price'] %}
|
||||||
{% include(configuration.view('form_widget', '@Core/admin/crud/_form_widget.html.twig')) with {form: form[item]} %}
|
{% include(configuration.view('form_widget', '@Core/admin/crud/_form_widget.html.twig')) with {form: form[item]} %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -44,3 +44,4 @@
|
||||||
"Distance": "Distance (sans retour)"
|
"Distance": "Distance (sans retour)"
|
||||||
"Is round trip": "Aller-retour"
|
"Is round trip": "Aller-retour"
|
||||||
"Amount": "Montant (TTC)"
|
"Amount": "Montant (TTC)"
|
||||||
|
"Price": "Prix"
|
||||||
|
|
Loading…
Reference in a new issue