add a new moderator field on events

This commit is contained in:
Tchama 2019-01-15 16:01:04 +01:00
parent 7836ece3ee
commit ca6f836195
7 changed files with 73 additions and 1 deletions

View File

@ -4,6 +4,7 @@ namespace Chill\EventBundle\Entity;
use Chill\MainBundle\Entity\HasCenterInterface; use Chill\MainBundle\Entity\HasCenterInterface;
use Chill\MainBundle\Entity\HasScopeInterface; use Chill\MainBundle\Entity\HasScopeInterface;
use Doctrine\ORM\Mapping as ORM;
/** /**
* Event * Event
@ -47,7 +48,12 @@ class Event implements HasCenterInterface, HasScopeInterface
* @var \Doctrine\Common\Collections\Collection * @var \Doctrine\Common\Collections\Collection
*/ */
private $participations; private $participations;
/**
* @var integer
*/
private $moderator;
/** /**
* Constructor * Constructor
*/ */
@ -215,4 +221,22 @@ class Event implements HasCenterInterface, HasScopeInterface
{ {
return $this->participations; return $this->participations;
} }
/**
* @return int
*/
public function getModerator()
{
return $this->moderator;
}
/**
* @param int $moderator
* @return Event
*/
public function setModerator($moderator)
{
$this->moderator = $moderator;
return $this;
}
} }

View File

@ -3,6 +3,7 @@
namespace Chill\EventBundle\Form; namespace Chill\EventBundle\Form;
use Chill\MainBundle\Form\Type\ChillDateTimeType; use Chill\MainBundle\Form\Type\ChillDateTimeType;
use Chill\PersonBundle\Entity\Person;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface;
@ -104,6 +105,11 @@ class EventType extends AbstractType
}, },
)) ))
->add('type', PickEventType::class) ->add('type', PickEventType::class)
->add('moderator', EntityType::class, array(
'class' => Person::class,
'required' => false,
'placeholder' => ''
))
; ;
} }

View File

@ -24,4 +24,7 @@ Chill\EventBundle\Entity\Event:
targetEntity: Chill\EventBundle\Entity\EventType targetEntity: Chill\EventBundle\Entity\EventType
circle: circle:
targetEntity: Chill\MainBundle\Entity\Scope targetEntity: Chill\MainBundle\Entity\Scope
moderator:
targetEntity: Chill\PersonBundle\Entity\Person
lifecycleCallbacks: { } lifecycleCallbacks: { }

View File

@ -0,0 +1,32 @@
<?php declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add a moderator field
*/
final class Version20190115140042 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE chill_event_event ADD moderator_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_event_event ADD CONSTRAINT FK_FA320FC8D0AFA354 FOREIGN KEY (moderator_id) REFERENCES chill_person_person (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX IDX_FA320FC8D0AFA354 ON chill_event_event (moderator_id)');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.');
$this->addSql('ALTER TABLE chill_event_event DROP CONSTRAINT FK_FA320FC8D0AFA354');
$this->addSql('DROP INDEX IDX_FA320FC8D0AFA354');
$this->addSql('ALTER TABLE chill_event_event DROP moderator_id');
}
}

View File

@ -12,6 +12,7 @@ Participations: Participations
Status: Statut Status: Statut
Last update: Dernière mise à jour Last update: Dernière mise à jour
'%count% participations to this event': '{0} Aucun participant à l''événement | {1} Un participant à l''événement | ]1,Inf] %count% participants à l''événement' '%count% participations to this event': '{0} Aucun participant à l''événement | {1} Un participant à l''événement | ]1,Inf] %count% participants à l''événement'
Moderator: Animateur
#CRUD event #CRUD event
Details of an event: Détails d'un événement Details of an event: Détails d'un événement

View File

@ -14,6 +14,7 @@
{{ form_row(edit_form.name) }} {{ form_row(edit_form.name) }}
{{ form_row(edit_form.date) }} {{ form_row(edit_form.date) }}
{{ form_row(edit_form.type, { 'label': 'Event type' }) }} {{ form_row(edit_form.type, { 'label': 'Event type' }) }}
{{ form_row(edit_form.moderator) }}
<ul class="record_actions"> <ul class="record_actions">
<li> <li>

View File

@ -25,6 +25,11 @@
<th>{{ 'Circle'|trans }}</th> <th>{{ 'Circle'|trans }}</th>
<td>{{ event.circle.name|localize_translatable_string }}</td> <td>{{ event.circle.name|localize_translatable_string }}</td>
</tr> </tr>
<tr>
<th>{{ 'Moderator'|trans }}</th>
<td>{{ event.moderator|trans|default('-') }}</td>
</tr>
</tbody> </tbody>
</table> </table>