fix conflict + error on CommentType

This commit is contained in:
nobohan 2021-06-25 13:57:49 +02:00
commit aa5c7f333e
11 changed files with 520 additions and 41 deletions

View File

@ -51,7 +51,7 @@ class CommentType extends AbstractType
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) { $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
$data = $event->getForm()->getData(); $data = $event->getForm()->getData();
$comment = $event->getData(); $comment = $event->getData() ?? ['comment' => ''];
if ($data->getComment() !== $comment['comment']) { if ($data->getComment() !== $comment['comment']) {
$data->setDate(new \DateTime()); $data->setDate(new \DateTime());

View File

@ -78,6 +78,7 @@ class Configuration implements ConfigurationInterface
->append($this->addFieldNode('address')) ->append($this->addFieldNode('address'))
->append($this->addFieldNode('accompanying_period')) ->append($this->addFieldNode('accompanying_period'))
->append($this->addFieldNode('memo')) ->append($this->addFieldNode('memo'))
->append($this->addFieldNode('number_of_children'))
->arrayNode('alt_names') ->arrayNode('alt_names')
->defaultValue([]) ->defaultValue([])
->arrayPrototype() ->arrayPrototype()

View File

@ -23,13 +23,17 @@ namespace Chill\PersonBundle\Entity;
*/ */
use ArrayIterator; use ArrayIterator;
use Chill\MainBundle\Doctrine\Model\TrackCreationInterface;
use Chill\MainBundle\Doctrine\Model\TrackUpdateInterface;
use Chill\MainBundle\Entity\Center; use Chill\MainBundle\Entity\Center;
use Chill\MainBundle\Entity\Country; use Chill\MainBundle\Entity\Country;
use Chill\MainBundle\Entity\User;
use Chill\PersonBundle\Entity\Household\Household; use Chill\PersonBundle\Entity\Household\Household;
use Chill\PersonBundle\Entity\MaritalStatus; use Chill\PersonBundle\Entity\MaritalStatus;
use Chill\PersonBundle\Entity\Household\HouseholdMember; use Chill\PersonBundle\Entity\Household\HouseholdMember;
use Chill\MainBundle\Entity\HasCenterInterface; use Chill\MainBundle\Entity\HasCenterInterface;
use Chill\MainBundle\Entity\Address; use Chill\MainBundle\Entity\Address;
use Chill\MainBundle\Entity\Embeddable\CommentEmbeddable;
use DateTime; use DateTime;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
@ -53,7 +57,7 @@ use Chill\PersonBundle\Entity\Household\PersonHouseholdAddress;
* "person"=Person::class * "person"=Person::class
* }) * })
*/ */
class Person implements HasCenterInterface class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateInterface
{ {
/** /**
* The person's id * The person's id
@ -100,6 +104,14 @@ class Person implements HasCenterInterface
*/ */
private $birthdate; //to change in birthdate private $birthdate; //to change in birthdate
/**
* The person's deathdate
* @var \DateTimeImmutable
*
* @ORM\Column(type="date_immutable", nullable=true)
*/
private ?\DateTimeImmutable $deathdate;
/** /**
* The person's place of birth * The person's place of birth
* @var string * @var string
@ -143,6 +155,14 @@ class Person implements HasCenterInterface
const MALE_GENDER = 'man'; const MALE_GENDER = 'man';
const FEMALE_GENDER = 'woman'; const FEMALE_GENDER = 'woman';
const BOTH_GENDER = 'both'; const BOTH_GENDER = 'both';
const NO_INFORMATION = 'unknown';
/**
* Comment on gender
* @var CommentEmbeddable
* @ORM\Embedded(class="Chill\MainBundle\Entity\Embeddable\CommentEmbeddable", columnPrefix="genderComment_")
*/
private CommentEmbeddable $genderComment;
/** /**
* The marital status of the person * The marital status of the person
@ -153,6 +173,21 @@ class Person implements HasCenterInterface
*/ */
private $maritalStatus; private $maritalStatus;
/**
* The date of the last marital status change of the person
* @var \DateTime
*
* @ORM\Column(type="date", nullable=true)
*/
private $maritalStatusDate;
/**
* Comment on marital status
* @var CommentEmbeddable
* @ORM\Embedded(class="Chill\MainBundle\Entity\Embeddable\CommentEmbeddable", columnPrefix="maritalStatusComment_")
*/
private CommentEmbeddable $maritalStatusComment;
/** /**
* Contact information for contacting the person * Contact information for contacting the person
* @var string * @var string
@ -240,6 +275,54 @@ class Person implements HasCenterInterface
*/ */
private $memo = ''; // TO-CHANGE in remark private $memo = ''; // TO-CHANGE in remark
/**
* Accept short text message (aka SMS)
* @var boolean
*
* @ORM\Column(type="boolean", options={"default" : false})
*/
private ?bool $acceptSMS = false;
/**
* Accept receiving email
* @var boolean
*
* @ORM\Column(type="boolean", options={"default" : false})
*/
private ?bool $acceptEmail = false;
/**
* Number of children
* @var int
*
* @ORM\Column(type="integer", nullable=true)
*/
private ?int $numberOfChildren = null;
/**
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(nullable=true)
*/
private $createdBy;
/**
* @ORM\Column(type="datetime", nullable=true, options={"default": NULL})
*/
private \DateTimeInterface $createdAt;
/**
* @ORM\ManyToOne(
* targetEntity=User::class
* )
*/
private User $updatedBy;
/**
* @ORM\Column(type="datetime", nullable=true, options={"default": NULL})
*/
private \DateTimeInterface $updatedAt;
/** /**
* @var boolean * @var boolean
* @deprecated * @deprecated
@ -316,6 +399,8 @@ class Person implements HasCenterInterface
} }
$this->open(new AccompanyingPeriod($opening)); $this->open(new AccompanyingPeriod($opening));
$this->genderComment = new CommentEmbeddable();
$this->maritalStatusComment = new CommentEmbeddable();
} }
/** /**
@ -1341,4 +1426,122 @@ class Person implements HasCenterInterface
return null; return null;
} }
} }
public function getGenderComment(): CommentEmbeddable
{
return $this->genderComment;
}
public function setGenderComment(CommentEmbeddable $genderComment): self
{
$this->genderComment = $genderComment;
return $this;
}
public function getMaritalStatusComment(): CommentEmbeddable
{
return $this->maritalStatusComment;
}
public function setMaritalStatusComment(CommentEmbeddable $maritalStatusComment): self
{
$this->maritalStatusComment = $maritalStatusComment;
return $this;
}
public function getDeathdate(): ?\DateTimeInterface
{
return $this->deathdate;
}
public function setDeathdate(?\DateTimeInterface $deathdate): self
{
$this->deathdate = $deathdate;
return $this;
}
public function getMaritalStatusDate(): ?\DateTimeInterface
{
return $this->maritalStatusDate;
}
public function setMaritalStatusDate(?\DateTimeInterface $maritalStatusDate): self
{
$this->maritalStatusDate = $maritalStatusDate;
return $this;
}
public function getAcceptSMS(): ?bool
{
return $this->acceptSMS;
}
public function setAcceptSMS(bool $acceptSMS): self
{
$this->acceptSMS = $acceptSMS;
return $this;
}
public function getAcceptEmail(): ?bool
{
return $this->acceptEmail;
}
public function setAcceptEmail(bool $acceptEmail): self
{
$this->acceptEmail = $acceptEmail;
return $this;
}
public function getNumberOfChildren(): ?int
{
return $this->numberOfChildren;
}
public function setNumberOfChildren(int $numberOfChildren): self
{
$this->numberOfChildren = $numberOfChildren;
return $this;
}
public function getCreatedBy(): ?User
{
return $this->createdBy;
}
public function setCreatedBy(User $createdBy): self
{
$this->createdBy = $createdBy;
return $this;
}
public function setCreatedAt(\DateTimeInterface $datetime): self
{
$this->createdAt = $datetime;
return $this;
}
public function setUpdatedBy(User $user): self
{
$this->updatedBy = $user;
return $this;
}
public function setUpdatedAt(\DateTimeInterface $datetime): self
{
$this->updatedAt = $datetime;
return $this;
}
} }

View File

@ -34,9 +34,13 @@ use Chill\PersonBundle\Entity\PersonPhone;
use Chill\PersonBundle\Form\Type\Select2MaritalStatusType; use Chill\PersonBundle\Form\Type\Select2MaritalStatusType;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Chill\MainBundle\Form\Type\ChillDateType; use Chill\MainBundle\Form\Type\ChillDateType;
use Chill\MainBundle\Form\Type\CommentType;
use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TelType; use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
@ -82,8 +86,19 @@ class PersonType extends AbstractType
->add('birthdate', ChillDateType::class, [ ->add('birthdate', ChillDateType::class, [
'required' => false, 'required' => false,
]) ])
->add('deathdate', DateType::class, [
'required' => false,
'input' => 'datetime_immutable',
'widget' => 'single_text'
])
->add('gender', GenderType::class, array( ->add('gender', GenderType::class, array(
'required' => true 'required' => true
))
->add('genderComment', CommentType::class, array(
'required' => false
))
->add('numberOfChildren', IntegerType::class, array(
'required' => false
)); ));
if ($this->configAltNamesHelper->hasAltNames()) { if ($this->configAltNamesHelper->hasAltNames()) {
@ -111,7 +126,12 @@ class PersonType extends AbstractType
} }
if ($this->config['mobilenumber'] === 'visible') { if ($this->config['mobilenumber'] === 'visible') {
$builder->add('mobilenumber', TelType::class, array('required' => false)); $builder
->add('mobilenumber', TelType::class, array('required' => false))
->add('acceptSMS', CheckboxType::class, array(
'value' => false,
'required' => true
));
} }
$builder->add('otherPhoneNumbers', ChillCollectionType::class, [ $builder->add('otherPhoneNumbers', ChillCollectionType::class, [
@ -130,7 +150,9 @@ class PersonType extends AbstractType
]); ]);
if ($this->config['email'] === 'visible') { if ($this->config['email'] === 'visible') {
$builder->add('email', EmailType::class, array('required' => false)); $builder
->add('email', EmailType::class, array('required' => false))
->add('acceptEmail', CheckboxType::class, array('required' => false));
} }
if ($this->config['country_of_birth'] === 'visible') { if ($this->config['country_of_birth'] === 'visible') {
@ -153,7 +175,14 @@ class PersonType extends AbstractType
} }
if ($this->config['marital_status'] === 'visible'){ if ($this->config['marital_status'] === 'visible'){
$builder->add('maritalStatus', Select2MaritalStatusType::class, array( $builder
->add('maritalStatus', Select2MaritalStatusType::class, array(
'required' => false
))
->add('maritalStatusDate', ChillDateType::class, array(
'required' => false
))
->add('maritalStatusComment', CommentType::class, array(
'required' => false 'required' => false
)); ));
} }

View File

@ -0,0 +1,57 @@
import { ShowHide } from 'ShowHide/show_hide.js';
const maritalStatus = document.getElementById("maritalStatus");
const maritalStatusDate = document.getElementById("maritalStatusDate");
const personEmail = document.getElementById("personEmail");
const personAcceptEmail = document.getElementById("personAcceptEmail");
const personPhoneNumber = document.getElementById("personPhoneNumber");
const personAcceptSMS = document.getElementById("personAcceptSMS");
new ShowHide({
froms: [maritalStatus],
container: [maritalStatusDate],
test: function(froms) {
for (let f of froms.values()) {
for (let input of f.querySelectorAll('select').values()) {
if (input.value) {
return true
}
}
}
return false;
},
event_name: 'change'
});
new ShowHide({
froms: [personEmail],
container: [personAcceptEmail],
test: function(froms) {
for (let f of froms.values()) {
for (let input of f.querySelectorAll('input').values()) {
if (input.value) {
return true
}
}
}
return false;
},
event_name: 'input'
});
new ShowHide({
froms: [personPhoneNumber],
container: [personAcceptSMS],
test: function(froms) {
for (let f of froms.values()) {
for (let input of f.querySelectorAll('input').values()) {
if (input.value) {
return true
}
}
}
return false;
},
event_name: 'input'
});

View File

@ -43,6 +43,7 @@
{{ form_widget(form.altNames, { 'label': 'Alternative names'}) }} {{ form_widget(form.altNames, { 'label': 'Alternative names'}) }}
{% endif %} {% endif %}
{{ form_row(form.gender, {'label' : 'Gender'}) }} {{ form_row(form.gender, {'label' : 'Gender'}) }}
{{ form_row(form.genderComment, { 'label' : 'Comment on the gender'} ) }}
</fieldset> </fieldset>
<fieldset> <fieldset>
@ -54,9 +55,12 @@
{%- if form.countryOfBirth is defined -%} {%- if form.countryOfBirth is defined -%}
{{ form_row(form.countryOfBirth, { 'label' : 'Country of birth' } ) }} {{ form_row(form.countryOfBirth, { 'label' : 'Country of birth' } ) }}
{%- endif -%} {%- endif -%}
{%- if form.deathdate is defined -%}
{{ form_row(form.deathdate, { 'label' : 'Date of death' } ) }}
{%- endif -%}
</fieldset> </fieldset>
{%- if form.nationality is defined or form.spokenLanguages is defined or form.maritalStatus is defined -%} {%- if form.nationality is defined or form.spokenLanguages is defined -%}
<fieldset> <fieldset>
<legend><h2>{{ 'Administrative information'|trans }}</h2></legend> <legend><h2>{{ 'Administrative information'|trans }}</h2></legend>
{%- if form.nationality is defined -%} {%- if form.nationality is defined -%}
@ -65,8 +69,21 @@
{%- if form.spokenLanguages is defined -%} {%- if form.spokenLanguages is defined -%}
{{ form_row(form.spokenLanguages, {'label' : 'Spoken languages'}) }} {{ form_row(form.spokenLanguages, {'label' : 'Spoken languages'}) }}
{%- endif -%} {%- endif -%}
</fieldset>
{%- endif -%}
{%- if form.numberOfChildren is defined or form.maritalStatus is defined -%}
<fieldset>
<legend><h2>{{ 'Marital status'|trans }}</h2></legend>
{{ form_row(form.numberOfChildren, {'label' : 'Number of children'}) }}
{%- if form.maritalStatus is defined -%} {%- if form.maritalStatus is defined -%}
<div id="maritalStatus">
{{ form_row(form.maritalStatus, { 'label' : 'Marital status'} ) }} {{ form_row(form.maritalStatus, { 'label' : 'Marital status'} ) }}
</div>
<div id="maritalStatusDate">
{{ form_row(form.maritalStatusDate, { 'label' : 'Date of last marital status change'} ) }}
{{ form_row(form.maritalStatusComment, { 'label' : 'Comment on the marital status'} ) }}
</div>
{%- endif -%} {%- endif -%}
</fieldset> </fieldset>
{%- endif -%} {%- endif -%}
@ -75,13 +92,24 @@
<fieldset> <fieldset>
<legend><h2>{{ 'Contact information'|trans }}</h2></legend> <legend><h2>{{ 'Contact information'|trans }}</h2></legend>
{%- if form.email is defined -%} {%- if form.email is defined -%}
<div id="personEmail">
{{ form_row(form.email, {'label': 'Email'}) }} {{ form_row(form.email, {'label': 'Email'}) }}
</div>
<div id="personAcceptEmail">
{{ form_row(form.acceptEmail, {'label' : 'Accept emails ?'}) }}
</div>
{%- endif -%} {%- endif -%}
{%- if form.phonenumber is defined -%} {%- if form.phonenumber is defined -%}
{{ form_row(form.phonenumber, {'label': 'Phonenumber'}) }} {{ form_row(form.phonenumber, {'label': 'Phonenumber'}) }}
{%- endif -%} {%- endif -%}
{%- if form.mobilenumber is defined -%} {%- if form.mobilenumber is defined -%}
<div id="personPhoneNumber">
{{ form_row(form.mobilenumber, {'label': 'Mobilenumber'}) }} {{ form_row(form.mobilenumber, {'label': 'Mobilenumber'}) }}
</div>
<div id="personAcceptSMS">
{{ form_row(form.acceptSMS, {'label' : 'Accept short text message ?'}) }}
</div>
{%- endif -%} {%- endif -%}
{%- if form.otherPhoneNumbers is defined -%} {%- if form.otherPhoneNumbers is defined -%}
{{ form_widget(form.otherPhoneNumbers) }} {{ form_widget(form.otherPhoneNumbers) }}
@ -114,3 +142,8 @@
{% endblock personcontent %} {% endblock personcontent %}
{% block js %}
<script type="text/javascript" src="{{ asset('build/person.js') }}"></script>
{% endblock js %}

View File

@ -73,12 +73,14 @@ This view should receive those arguments:
<dt>{{ 'Gender'|trans }}&nbsp;:</dt> <dt>{{ 'Gender'|trans }}&nbsp;:</dt>
<dd>{{ ( person.gender|default('Not given'))|trans }}</dd> <dd>{{ ( person.gender|default('Not given'))|trans }}</dd>
{% if not person.genderComment.isEmpty %}
<dt>{{ 'Gender comment'|trans }}&nbsp;:</dt>
<dd>{{ person.genderComment|chill_entity_render_box }}</dd>
{% endif %}
</dl> </dl>
{% if is_granted('CHILL_PERSON_UPDATE', person) %}
{{ include(edit_tmp_name, edit_tmp_args) }}
{% endif %}
</figure> </figure>
</div> </div>
@ -114,11 +116,14 @@ This view should receive those arguments:
{% endif %} {% endif %}
{% endapply %}</dd> {% endapply %}</dd>
{%- endif -%} {%- endif -%}
{% if person.deathdate is not null %}
<dt>{{ 'Date of death'|trans }}&nbsp;:</dt>
<dd>{{ person.deathdate|format_date('long') }}</dd>
{% endif %}
</dl> </dl>
{% if is_granted('CHILL_PERSON_UPDATE', person) %}
{{ include(edit_tmp_name, edit_tmp_args) }}
{% endif %}
</figure> </figure>
</div> </div>
</div> </div>
@ -155,6 +160,21 @@ This view should receive those arguments:
</dd> </dd>
</dl> </dl>
{%- endif -%} {%- endif -%}
{%-if chill_person.fields.number_of_children == 'visible' -%}
<dl>
<dt>{{'Number of children'|trans}}&nbsp;:</dt>
<dd>
{% if person.numberOfChildren is not null %}
{{ person.numberOfChildren }}
{% else %}
<span class="chill-no-data-statement">{{ 'No data given'|trans }}</span>
{% endif %}
</dd>
</dl>
{%- endif -%}
{%- if chill_person.fields.marital_status == 'visible' -%} {%- if chill_person.fields.marital_status == 'visible' -%}
<dl> <dl>
<dt>{{'Marital status'|trans}}&nbsp;:</dt> <dt>{{'Marital status'|trans}}&nbsp;:</dt>
@ -166,11 +186,24 @@ This view should receive those arguments:
{% endif %} {% endif %}
</dd> </dd>
</dl> </dl>
<dl>
<dt>{{'Date of last marital status change'|trans}}&nbsp;:</dt>
{% if person.maritalStatusDate is not null %}
<dd>
{{ person.maritalStatusDate|format_date('long') }}
</dd>
{% endif %}
</dl>
<dl>
{% if not person.maritalStatusComment.isEmpty %}
<dt>{{'Comment on the marital status'|trans}}&nbsp;:</dt>
<dd>
{{ person.maritalStatusComment|chill_entity_render_box }}
</dd>
{% endif %}
</dl>
{%- endif -%} {%- endif -%}
{% if is_granted('CHILL_PERSON_UPDATE', person) %}
{{ include(edit_tmp_name, edit_tmp_args) }}
{% endif %}
</figure> </figure>
</div> </div>
{%- endif -%} {%- endif -%}
@ -213,6 +246,13 @@ This view should receive those arguments:
<dl> <dl>
<dt>{{ 'Email'|trans }}&nbsp;:</dt> <dt>{{ 'Email'|trans }}&nbsp;:</dt>
<dd>{% if person.email is not empty %}<a href="mailto:{{ person.email|escape('html_attr') }}">{{ person.email }}</a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}</span>{% endif %}</dd> <dd>{% if person.email is not empty %}<a href="mailto:{{ person.email|escape('html_attr') }}">{{ person.email }}</a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}</span>{% endif %}</dd>
{%- if person.email is not empty and person.acceptEmail -%}
<dd>
<span class="badge badge-secondary">
{{- 'Accept emails'|trans -}}
</span>
</dd>
{%- endif -%}
</dl> </dl>
{%- endif -%} {%- endif -%}
{%- if chill_person.fields.phonenumber == 'visible' -%} {%- if chill_person.fields.phonenumber == 'visible' -%}
@ -225,6 +265,13 @@ This view should receive those arguments:
<dl> <dl>
<dt>{{ 'Mobilenumber'|trans }}&nbsp;:</dt> <dt>{{ 'Mobilenumber'|trans }}&nbsp;:</dt>
<dd>{% if person.mobilenumber is not empty %}<a href="tel:{{ person.mobilenumber }}"><pre>{{ person.mobilenumber|chill_format_phonenumber }}</pre></a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}{% endif %}</dd> <dd>{% if person.mobilenumber is not empty %}<a href="tel:{{ person.mobilenumber }}"><pre>{{ person.mobilenumber|chill_format_phonenumber }}</pre></a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}{% endif %}</dd>
{%- if person.mobilenumber is not empty and person.acceptSMS -%}
<dd>
<span class="badge badge-secondary">
{{- 'Accept short text message'|trans -}}
</span>
</dd>
{%- endif -%}
</dl> </dl>
{% endif %} {% endif %}
{% for pp in person.otherPhoneNumbers %} {% for pp in person.otherPhoneNumbers %}
@ -253,9 +300,6 @@ This view should receive those arguments:
</dl> </dl>
{%- endif -%} {%- endif -%}
{% if is_granted('CHILL_PERSON_UPDATE', person) %}
{{ include(edit_tmp_name, edit_tmp_args) }}
{% endif %}
</figure> </figure>
</div> </div>
{%- endif -%} {%- endif -%}
@ -272,14 +316,21 @@ This view should receive those arguments:
<div class="grid-10 push-1 grid-mobile-12 grid-tablet-12 push-mobile-0 push-tablet-0 parent"> <div class="grid-10 push-1 grid-mobile-12 grid-tablet-12 push-mobile-0 push-tablet-0 parent">
<figure class="person-details"> <figure class="person-details">
{% if is_granted('CHILL_PERSON_UPDATE', person) %}
{{ include(edit_tmp_name, edit_tmp_args) }}
{% endif %}
</figure> </figure>
</div> </div>
{% endif %} {% endif %}
{% if is_granted('CHILL_PERSON_UPDATE', person) %}
<ul class="grid-12 sticky-form-buttons record_actions ">
<li>
<a class="sc-button bt-update" href="{{ path('chill_person_general_edit', { 'person_id': person.id }) }}">
{{ 'Edit'|trans }}
</a>
</li>
</ul>
{% endif %}
</div> <!-- end of div.person-view --> </div> <!-- end of div.person-view -->
{% endblock %} {% endblock %}

View File

@ -14,4 +14,6 @@ module.exports = function(encore, entries)
encore.addEntry('vue_accourse', __dirname + '/Resources/public/vuejs/AccompanyingCourse/index.js'); encore.addEntry('vue_accourse', __dirname + '/Resources/public/vuejs/AccompanyingCourse/index.js');
encore.addEntry('household_edit_metadata', __dirname + '/Resources/public/modules/household_edit_metadata/index.js'); encore.addEntry('household_edit_metadata', __dirname + '/Resources/public/modules/household_edit_metadata/index.js');
encore.addEntry('accompanying_course_work_create', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkCreate/index.js'); encore.addEntry('accompanying_course_work_create', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkCreate/index.js');
encore.addEntry('person', __dirname + '/Resources/public/js/person.js');
}; };

View File

@ -0,0 +1,49 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Person;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add new fields to Person entity
*/
final class Version20210617073504 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add new fields to Person entity';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER TABLE chill_person_person ADD deathdate DATE DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD maritalStatusDate DATE DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD acceptSMS BOOLEAN DEFAULT false NOT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD acceptEmail BOOLEAN DEFAULT false NOT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD numberOfChildren INT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD genderComment_comment TEXT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD genderComment_userId INT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD genderComment_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD maritalStatusComment_comment TEXT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD maritalStatusComment_userId INT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD maritalStatusComment_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE chill_person_person DROP deathdate');
$this->addSql('ALTER TABLE chill_person_person DROP maritalStatusDate');
$this->addSql('ALTER TABLE chill_person_person DROP acceptSMS');
$this->addSql('ALTER TABLE chill_person_person DROP acceptEmail');
$this->addSql('ALTER TABLE chill_person_person DROP numberOfChildren');
$this->addSql('ALTER TABLE chill_person_person DROP genderComment_comment');
$this->addSql('ALTER TABLE chill_person_person DROP genderComment_userId');
$this->addSql('ALTER TABLE chill_person_person DROP genderComment_date');
$this->addSql('ALTER TABLE chill_person_person DROP maritalStatusComment_comment');
$this->addSql('ALTER TABLE chill_person_person DROP maritalStatusComment_userId');
$this->addSql('ALTER TABLE chill_person_person DROP maritalStatusComment_date');
}
}

View File

@ -0,0 +1,45 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Person;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add createdAt, createdBy, updatedAt, updatedBy fields on Person
*/
final class Version20210618080702 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add createdAt, createdBy, updatedAt, updatedBy fields on Person';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER TABLE chill_person_person ADD createdAt TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD updatedAt TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD createdBy_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE chill_person_person ADD updatedBy_id INT DEFAULT NULL');
$this->addSql('COMMENT ON COLUMN chill_person_person.deathdate IS \'(DC2Type:date_immutable)\'');
$this->addSql('ALTER TABLE chill_person_person ADD CONSTRAINT FK_BF210A143174800F FOREIGN KEY (createdBy_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE chill_person_person ADD CONSTRAINT FK_BF210A1465FF1AEC FOREIGN KEY (updatedBy_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX IDX_BF210A143174800F ON chill_person_person (createdBy_id)');
$this->addSql('CREATE INDEX IDX_BF210A1465FF1AEC ON chill_person_person (updatedBy_id)');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE chill_person_person DROP CONSTRAINT FK_BF210A143174800F');
$this->addSql('ALTER TABLE chill_person_person DROP CONSTRAINT FK_BF210A1465FF1AEC');
$this->addSql('DROP INDEX IDX_BF210A143174800F');
$this->addSql('DROP INDEX IDX_BF210A1465FF1AEC');
$this->addSql('ALTER TABLE chill_person_person DROP createdAt');
$this->addSql('ALTER TABLE chill_person_person DROP updatedAt');
$this->addSql('ALTER TABLE chill_person_person DROP createdBy_id');
$this->addSql('ALTER TABLE chill_person_person DROP updatedBy_id');
$this->addSql('COMMENT ON COLUMN chill_person_person.deathdate IS NULL');
}
}

View File

@ -10,6 +10,8 @@ First name or Last name: Prénom ou nom
id: identifiant id: identifiant
Birthdate: 'Date de naissance' Birthdate: 'Date de naissance'
birthdate: date de naissance birthdate: date de naissance
deathdate: date de décès
Date of death: Date de décès
'Date of birth': 'Date de naissance' 'Date of birth': 'Date de naissance'
dateOfBirth: date de naissance dateOfBirth: date de naissance
dateofbirth: date de naissance dateofbirth: date de naissance
@ -21,6 +23,7 @@ nationality: nationalité
'Without nationality': 'Sans nationalité' 'Without nationality': 'Sans nationalité'
Gender: Genre Gender: Genre
gender: genre gender: genre
Gender comment: Remarque sur le genre
'Creation date': 'Date d''ouverture' 'Creation date': 'Date d''ouverture'
'Not given': 'Non renseigné' 'Not given': 'Non renseigné'
'Place of birth': 'Lieu de naissance' 'Place of birth': 'Lieu de naissance'
@ -30,16 +33,22 @@ placeOfBirth: lieu de naissance
countryOfBirth: 'Pays de naissance' countryOfBirth: 'Pays de naissance'
'Unknown country of birth': 'Pays inconnu' 'Unknown country of birth': 'Pays inconnu'
'Marital status': 'État civil' 'Marital status': 'État civil'
Date of last marital status change: État civil depuis le
Comment on the marital status: Commentaires sur l'état civil
'Number of children': 'Nombre d''enfants' 'Number of children': 'Nombre d''enfants'
'{0} No child|{1} One child | ]1,Inf] %nb% children': '{0} Aucun enfant|{1} Un enfant | ]1,Inf] %nb% enfants' '{0} No child|{1} One child | ]1,Inf] %nb% children': '{0} Aucun enfant|{1} Un enfant | ]1,Inf] %nb% enfants'
'National number': 'Numéro national' 'National number': 'Numéro national'
Email: 'Courrier électronique' Email: 'Courrier électronique'
Accept emails ?: Accepte les courriels?
Accept emails: Peut être contacté par email
Address: Adresse Address: Adresse
Memo: Mémo Memo: Mémo
Phonenumber: 'Numéro de téléphone' Phonenumber: 'Numéro de téléphone'
phonenumber: numéro de téléphone phonenumber: numéro de téléphone
Mobilenumber: 'Numéro de téléphone portable' Mobilenumber: 'Numéro de téléphone portable'
mobilenumber: numéro de téléphone portable mobilenumber: numéro de téléphone portable
Accept short text message ?: Accepte les SMS?
Accept short text message: Accepte les SMS
Other phonenumber: Autre numéro de téléphone Other phonenumber: Autre numéro de téléphone
Description: description Description: description
Add new phone: Ajouter un numéro de téléphone Add new phone: Ajouter un numéro de téléphone