mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
private comment added to activity
This commit is contained in:
parent
83dd8f810c
commit
1f2638626c
@ -366,6 +366,7 @@ final class ActivityController extends AbstractController
|
||||
if ($request->query->has('activityData')) {
|
||||
$activityData = $request->query->get('activityData');
|
||||
|
||||
dump($activityData);
|
||||
if (array_key_exists('durationTime', $activityData)) {
|
||||
$durationTimeInMinutes = $activityData['durationTime'];
|
||||
$hours = floor($durationTimeInMinutes / 60);
|
||||
@ -411,6 +412,14 @@ final class ActivityController extends AbstractController
|
||||
$comment->setDate(new DateTime('now'));
|
||||
$entity->setComment($comment);
|
||||
}
|
||||
|
||||
if (array_key_exists('privateComment', $activityData)) {
|
||||
$privateComment = new CommentEmbeddable();
|
||||
$privateComment->setComment($activityData['privateComment']);
|
||||
$privateComment->setUserId($this->getUser()->getid());
|
||||
$privateComment->setDate(new DateTime('now'));
|
||||
$entity->setPrivateComment($privateComment);
|
||||
}
|
||||
}
|
||||
|
||||
$this->denyAccessUnlessGranted(ActivityVoter::CREATE, $entity);
|
||||
@ -422,6 +431,8 @@ final class ActivityController extends AbstractController
|
||||
'accompanyingPeriod' => $accompanyingPeriod,
|
||||
]);
|
||||
|
||||
dump($form);
|
||||
|
||||
if ($form->has('documents')) {
|
||||
$form->add('gendocTemplateId', HiddenType::class, [
|
||||
'mapped' => false,
|
||||
|
@ -85,6 +85,12 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
||||
*/
|
||||
private CommentEmbeddable $comment;
|
||||
|
||||
/**
|
||||
* @ORM\Embedded(class="Chill\MainBundle\Entity\Embeddable\CommentEmbeddable", columnPrefix="prcomment_")
|
||||
* @Groups({"docgen:read"})
|
||||
*/
|
||||
private CommentEmbeddable $privateComment;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="datetime")
|
||||
* @Groups({"docgen:read"})
|
||||
@ -191,6 +197,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
||||
{
|
||||
$this->reasons = new ArrayCollection();
|
||||
$this->comment = new CommentEmbeddable();
|
||||
$this->privateComment = new CommentEmbeddable();
|
||||
$this->persons = new ArrayCollection();
|
||||
$this->thirdParties = new ArrayCollection();
|
||||
$this->documents = new ArrayCollection();
|
||||
@ -300,6 +307,11 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
||||
return $this->comment;
|
||||
}
|
||||
|
||||
public function getPrivateComment(): CommentEmbeddable
|
||||
{
|
||||
return $this->privateComment;
|
||||
}
|
||||
|
||||
public function getDate(): DateTime
|
||||
{
|
||||
return $this->date;
|
||||
@ -524,6 +536,13 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setPrivateComment(CommentEmbeddable $privateComment): self
|
||||
{
|
||||
$this->privateComment = $privateComment;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setDate(DateTime $date): self
|
||||
{
|
||||
$this->date = $date;
|
||||
|
@ -20,6 +20,7 @@ use Chill\MainBundle\Entity\User;
|
||||
use Chill\MainBundle\Form\Type\ChillCollectionType;
|
||||
use Chill\MainBundle\Form\Type\ChillDateType;
|
||||
use Chill\MainBundle\Form\Type\CommentType;
|
||||
use Chill\MainBundle\Form\Type\PrivateCommentType;
|
||||
use Chill\MainBundle\Form\Type\ScopePickerType;
|
||||
use Chill\MainBundle\Form\Type\UserPickerType;
|
||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||
@ -251,6 +252,11 @@ class ActivityType extends AbstractType
|
||||
]);
|
||||
}
|
||||
|
||||
$builder->add('privateComment', PrivateCommentType::class, [
|
||||
'label' => 'activity.private comment',
|
||||
'required' => false
|
||||
]);
|
||||
|
||||
if ($activityType->isVisible('persons')) {
|
||||
$builder->add('persons', HiddenType::class);
|
||||
$builder->get('persons')
|
||||
|
@ -81,10 +81,13 @@
|
||||
{% endif %}
|
||||
|
||||
{%- if form.comment is defined -%}
|
||||
{# TODO .. public and private #}
|
||||
{{ form_row(form.comment) }}
|
||||
{% endif %}
|
||||
|
||||
{%- if form.privateComment is defined -%}
|
||||
{{ form_row(form.privateComment) }}
|
||||
{% endif %}
|
||||
|
||||
{%- if form.attendee is defined -%}
|
||||
{{ form_row(form.attendee) }}
|
||||
{% endif %}
|
||||
|
@ -146,6 +146,17 @@
|
||||
</dd>
|
||||
{% endif %}
|
||||
|
||||
{% if is_granted('CHILL_ACTIVITY_SEE_DETAILS', entity) and entity.privateComment.userId is same as(app.user.id) %}
|
||||
<dt class="inline">{{ 'activity.private comment'|trans }}</dt>
|
||||
<dd>
|
||||
{%- if entity.privateComment.empty -%}
|
||||
<span class="chill-no-data-statement">{{ 'No comment associated'|trans }}</span>
|
||||
{%- else -%}
|
||||
{{ entity.privateComment|chill_entity_render_box }}
|
||||
{%- endif -%}
|
||||
</dd>
|
||||
{% endif %}
|
||||
|
||||
{% if t.documentsVisible and is_granted('CHILL_ACTIVITY_SEE_DETAILS', entity) %}
|
||||
<dt class="inline">{{ 'Documents'|trans }}</dt>
|
||||
<dd>
|
||||
|
@ -0,0 +1,301 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Chill\Migrations\Activity;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your needs!
|
||||
*/
|
||||
final class Version20220425100208 extends AbstractMigration
|
||||
{
|
||||
public function getDescription(): string
|
||||
{
|
||||
return 'Add private comment to activity';
|
||||
}
|
||||
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
// this up() migration is auto-generated, please modify it to your needs
|
||||
// $this->addSql('DROP SEQUENCE chill_person_accompanying_period_work_eval_doc_id_seq CASCADE');
|
||||
// $this->addSql('DROP TABLE chill_main_address_legacy');
|
||||
$this->addSql('ALTER TABLE activity ADD prcomment_comment TEXT DEFAULT NULL');
|
||||
$this->addSql('ALTER TABLE activity ADD prcomment_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
|
||||
$this->addSql('ALTER TABLE activity ADD prcomment_userId INT DEFAULT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_ac74095a550b0c53 RENAME TO IDX_AC74095AD7FA8EF0');
|
||||
// $this->addSql('ALTER INDEX idx_55026b0cc54c8c93 RENAME TO IDX_AC74095AC54C8C93');
|
||||
// $this->addSql('ALTER INDEX idx_55026b0c217bbb47 RENAME TO IDX_AC74095A217BBB47');
|
||||
// $this->addSql('ALTER INDEX idx_55026b0c682b5931 RENAME TO IDX_AC74095A682B5931');
|
||||
// $this->addSql('ALTER INDEX idx_55026b0ca76ed395 RENAME TO IDX_AC74095AA76ED395');
|
||||
// $this->addSql('ALTER TABLE activityreason ALTER name SET NOT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_654a2fcd12469de2 RENAME TO IDX_AF82522312469DE2');
|
||||
// $this->addSql('ALTER TABLE activityreasoncategory ALTER name SET NOT NULL');
|
||||
// $this->addSql('DROP INDEX internal_center_geom_idx');
|
||||
// $this->addSql('DROP INDEX chill_custom_main_address_filtering_idx');
|
||||
// $this->addSql('ALTER TABLE chill_main_address DROP customs');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER isnoaddress DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER floor TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER floor DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER corridor TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER corridor DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER steps TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER steps DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER flat TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER flat DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER point TYPE geometry(POINT,4326)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER point DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER confidential DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER confidential SET NOT NULL');
|
||||
// $this->addSql('DROP INDEX chill_internal_address_reference_canonicalized');
|
||||
// $this->addSql('DROP INDEX address_refid');
|
||||
// $this->addSql('ALTER TABLE chill_main_address_reference ALTER point TYPE geometry(POINT,4326)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address_reference ALTER point DROP DEFAULT');
|
||||
// $this->addSql('CREATE INDEX address_refid ON chill_main_address_reference (refId) WHERE refid != \'\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_location ALTER active DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_location_type ALTER active DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_location_type ALTER editablebyusers DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_location_type ALTER editablebyusers SET NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_main_notification ALTER addressesemails DROP DEFAULT');
|
||||
// $this->addSql('ALTER INDEX idx_154a075fef1a9d84 RENAME TO IDX_589D51B4EF1A9D84');
|
||||
// $this->addSql('ALTER INDEX idx_154a075fa76ed395 RENAME TO IDX_589D51B4A76ED395');
|
||||
// $this->addSql('DROP INDEX chill_internal_postal_code_canonicalized');
|
||||
// $this->addSql('ALTER TABLE chill_main_postal_code ALTER center TYPE geometry(POINT,4326)');
|
||||
// $this->addSql('ALTER TABLE chill_main_postal_code ALTER center DROP DEFAULT');
|
||||
// $this->addSql('CREATE INDEX search_name_code ON chill_main_postal_code (code, label)');
|
||||
// $this->addSql('ALTER INDEX idx_a9f001fa7e6af9d4 RENAME TO IDX_D63001607E6AF9D4');
|
||||
// $this->addSql('ALTER INDEX idx_a9f001faa76ed395 RENAME TO IDX_D6300160A76ED395');
|
||||
// $this->addSql('ALTER INDEX idx_64a4a621504cb38d RENAME TO IDX_E260A868504CB38D');
|
||||
// $this->addSql('ALTER TABLE chill_person_accompanying_period_closingmotive ALTER ordering DROP DEFAULT');
|
||||
// $this->addSql('ALTER INDEX idx_92351ece727aca70 RENAME TO IDX_72D110E8727ACA70');
|
||||
// $this->addSql('DROP INDEX participations_no_overlap');
|
||||
// $this->addSql('ALTER TABLE chill_person_accompanying_period_participation ALTER startdate DROP DEFAULT');
|
||||
// $this->addSql('DROP INDEX thirdparty_unique');
|
||||
// $this->addSql('DROP INDEX person_unique');
|
||||
// $this->addSql('CREATE UNIQUE INDEX thirdparty_unique ON chill_person_accompanying_period_resource (thirdparty_id, accompanyingperiod_id)');
|
||||
// $this->addSql('CREATE UNIQUE INDEX person_unique ON chill_person_accompanying_period_resource (person_id, accompanyingperiod_id)');
|
||||
// $this->addSql('ALTER TABLE chill_person_household DROP CONSTRAINT fk_household_comment_embeddable_user');
|
||||
// $this->addSql('DROP INDEX IDX_BE50A270116F5FA9');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER createdat TYPE TIMESTAMP(0) WITHOUT TIME ZONE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER createdat DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER updatedat TYPE TIMESTAMP(0) WITHOUT TIME ZONE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER updatedat DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_composition.createdAt IS \'(DC2Type:datetime_immutable)\'');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_composition.updatedAt IS \'(DC2Type:datetime_immutable)\'');
|
||||
// $this->addSql('DROP INDEX household_members_not_overlaps');
|
||||
// $this->addSql('DROP INDEX chill_custom_person_household_members_sharing_idx');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER startdate TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER startdate DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER enddate TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER enddate DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_members.startDate IS \'(DC2Type:date_immutable)\'');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_members.endDate IS \'(DC2Type:date_immutable)\'');
|
||||
// $this->addSql('ALTER TABLE chill_person_marital_status ALTER id TYPE VARCHAR(7)');
|
||||
// $this->addSql('DROP INDEX phonenumber_trgm_idx');
|
||||
// $this->addSql('DROP INDEX mobilenumber_trgm_idx');
|
||||
// $this->addSql('DROP INDEX chill_custom_fullnamecanonical_only_trgm_idx_gin');
|
||||
// $this->addSql('DROP INDEX fullnamecanonical_trgm_idx');
|
||||
// $this->addSql('ALTER TABLE chill_person_person DROP cfdata_old');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER maritalstatus_id TYPE VARCHAR(7)');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER phonenumber TYPE VARCHAR(35)');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER phonenumber DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER cfdata SET NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER mobilenumber TYPE VARCHAR(35)');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER mobilenumber DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_person.phonenumber IS \'(DC2Type:phone_number)\'');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_person.mobilenumber IS \'(DC2Type:phone_number)\'');
|
||||
// $this->addSql('ALTER INDEX idx_person_center RENAME TO IDX_BF210A145932F377');
|
||||
// $this->addSql('ALTER INDEX idx_3370d4403818da5 RENAME TO IDX_BF210A143818DA5');
|
||||
// $this->addSql('ALTER INDEX idx_bf210a145521be40 RENAME TO IDX_BF210A14D7D03CE3');
|
||||
// $this->addSql('ALTER INDEX idx_3370d4401c9da55 RENAME TO IDX_BF210A141C9DA55');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages DROP CONSTRAINT FK_7201106F217BBB47');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages DROP CONSTRAINT FK_7201106F82F1BAF4');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages ADD CONSTRAINT FK_7201106F217BBB47 FOREIGN KEY (person_id) REFERENCES chill_person_person (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages ADD CONSTRAINT FK_7201106F82F1BAF4 FOREIGN KEY (language_id) REFERENCES language (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber TYPE VARCHAR(35)');
|
||||
// $this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber SET NOT NULL');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_phone.phonenumber IS \'(DC2Type:phone_number)\'');
|
||||
// $this->addSql('ALTER TABLE chill_person_relations ALTER isactive DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_relations ALTER isactive DROP NOT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_9bc1fd50f5b7af75 RENAME TO IDX_B9CEBEACF5B7AF75');
|
||||
// $this->addSql('ALTER INDEX idx_9bc1fd50dca38092 RENAME TO IDX_B9CEBEACDCA38092');
|
||||
// $this->addSql('ALTER INDEX idx_9bc1fd508dfc48dc RENAME TO IDX_B9CEBEAC8DFC48DC');
|
||||
// $this->addSql('ALTER INDEX idx_9bc1fd50217bbb47 RENAME TO IDX_B9CEBEAC217BBB47');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdby_id DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdat TYPE TIMESTAMP(0) WITHOUT TIME ZONE');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdat DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdat DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER updatedat TYPE TIMESTAMP(0) WITHOUT TIME ZONE');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER updatedat DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_resource.createdAt IS \'(DC2Type:datetime_immutable)\'');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_resource.updatedAt IS \'(DC2Type:datetime_immutable)\'');
|
||||
// $this->addSql('ALTER TABLE custom_field_long_choice_options ALTER internal_key DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE customfield ALTER required DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE customfield ALTER required SET NOT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_40fb5d6dfec418b RENAME TO IDX_7A6FDBEFEC418B');
|
||||
// $this->addSql('ALTER INDEX idx_286dc95df53b66 RENAME TO IDX_7A48DF7F5DF53B66');
|
||||
// $this->addSql('ALTER TABLE customfieldsgroup ALTER options DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE customfieldsgroup ALTER options SET NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.geographical_unit_association ADD CONSTRAINT FK_981D5C95D58FA2A4 FOREIGN KEY (geographicalUnit_id) REFERENCES chill_vendee.geographical_unit (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.geographical_unit_association ADD CONSTRAINT FK_981D5C95A76ED395 FOREIGN KEY (user_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER INDEX idx_a14d8f3d447bbb3b RENAME TO IDX_A14D8F3D96DF1F10');
|
||||
// $this->addSql('ALTER TABLE permission_groups ALTER flags DROP DEFAULT');
|
||||
// $this->addSql('DROP INDEX "primary"');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.security_profile_jobs ADD PRIMARY KEY (profile_id, job_id)');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.security_profile_action ALTER profile_id DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.security_profile_action ALTER action SET NOT NULL');
|
||||
// $this->addSql('DROP INDEX chill_custom_canonicalized_trgm_idx_gist');
|
||||
// $this->addSql('ALTER TABLE chill_3party.third_party ALTER firstname SET NOT NULL');
|
||||
// $this->addSql('DROP INDEX uniq_93f763ae217bbb47');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.vendee_person ALTER situationprofessionellestartdate TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.vendee_person ALTER situationprofessionellestartdate DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_vendee.vendee_person.situationProfessionelleStartDate IS \'(DC2Type:date_immutable)\'');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.vendeeperson_entourage ADD CONSTRAINT FK_4D319FFEF57537C3 FOREIGN KEY (vendeeperson_id) REFERENCES chill_vendee.vendee_person (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER INDEX chill_vendee.idx_1a4b602deef79338 RENAME TO IDX_DD0A4C00EEF79338');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
// this down() migration is auto-generated, please modify it to your needs
|
||||
// $this->addSql('CREATE SCHEMA public');
|
||||
// $this->addSql('CREATE SEQUENCE chill_person_accompanying_period_work_eval_doc_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
|
||||
// $this->addSql('CREATE TABLE chill_main_address_legacy (id INT DEFAULT NULL, postcode_id INT DEFAULT NULL, street VARCHAR(255) DEFAULT NULL, streetnumber VARCHAR(255) DEFAULT NULL, validfrom DATE DEFAULT NULL, isnoaddress BOOLEAN DEFAULT NULL, customs JSONB DEFAULT NULL, floor VARCHAR(16) DEFAULT NULL, corridor VARCHAR(16) DEFAULT NULL, steps VARCHAR(16) DEFAULT NULL, buildingname VARCHAR(255) DEFAULT NULL, flat VARCHAR(16) DEFAULT NULL, distribution VARCHAR(255) DEFAULT NULL, extra VARCHAR(255) DEFAULT NULL, validto DATE DEFAULT NULL, point VARCHAR(255) DEFAULT NULL, linkedtothirdparty_id INT DEFAULT NULL)');
|
||||
// $this->addSql('ALTER INDEX idx_7a48df7f5df53b66 RENAME TO idx_286dc95df53b66');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages DROP CONSTRAINT fk_7201106f217bbb47');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages DROP CONSTRAINT fk_7201106f82f1baf4');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages ADD CONSTRAINT fk_7201106f217bbb47 FOREIGN KEY (person_id) REFERENCES chill_person_person (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER TABLE persons_spoken_languages ADD CONSTRAINT fk_7201106f82f1baf4 FOREIGN KEY (language_id) REFERENCES language (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('ALTER TABLE customfieldsgroup ALTER options SET DEFAULT \'{}\'');
|
||||
// $this->addSql('ALTER TABLE customfieldsgroup ALTER options DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE activityreasoncategory ALTER name DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE activityreason ALTER name DROP NOT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_af82522312469de2 RENAME TO idx_654a2fcd12469de2');
|
||||
// $this->addSql('ALTER INDEX idx_a14d8f3d96df1f10 RENAME TO idx_a14d8f3d447bbb3b');
|
||||
// $this->addSql('ALTER TABLE customfield ALTER required SET DEFAULT \'false\'');
|
||||
// $this->addSql('ALTER TABLE customfield ALTER required DROP NOT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_7a6fdbefec418b RENAME TO idx_40fb5d6dfec418b');
|
||||
// $this->addSql('ALTER TABLE custom_field_long_choice_options ALTER internal_key SET DEFAULT \'\'');
|
||||
// $this->addSql('ALTER TABLE chill_person_marital_status ALTER id TYPE VARCHAR(10)');
|
||||
// $this->addSql('ALTER TABLE permission_groups ALTER flags SET DEFAULT \'[]\'');
|
||||
// $this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber DROP NOT NULL');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_phone.phonenumber IS NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_accompanying_period_closingmotive ALTER ordering SET DEFAULT \'0\'');
|
||||
// $this->addSql('ALTER INDEX idx_72d110e8727aca70 RENAME TO idx_92351ece727aca70');
|
||||
// $this->addSql('ALTER TABLE chill_person_accompanying_period_participation ALTER startDate SET DEFAULT \'1970-01-01\'');
|
||||
// $this->addSql('CREATE INDEX participations_no_overlap ON chill_person_accompanying_period_participation (person_id, accompanyingperiod_id)');
|
||||
// $this->addSql('ALTER TABLE chill_person_household ADD CONSTRAINT fk_household_comment_embeddable_user FOREIGN KEY (comment_members_userid) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||
// $this->addSql('CREATE INDEX IDX_BE50A270116F5FA9 ON chill_person_household (comment_members_userid)');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.vendeeperson_entourage DROP CONSTRAINT FK_4D319FFEF57537C3');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.security_profile_action ALTER profile_id SET NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.security_profile_action ALTER action DROP NOT NULL');
|
||||
// $this->addSql('DROP INDEX security_profile_jobs_pkey');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.security_profile_jobs ADD PRIMARY KEY (job_id, profile_id)');
|
||||
$this->addSql('ALTER TABLE activity DROP prcomment_comment');
|
||||
$this->addSql('ALTER TABLE activity DROP prcomment_date');
|
||||
$this->addSql('ALTER TABLE activity DROP prcomment_userId');
|
||||
// $this->addSql('ALTER INDEX idx_ac74095ac54c8c93 RENAME TO idx_55026b0cc54c8c93');
|
||||
// $this->addSql('ALTER INDEX idx_ac74095a217bbb47 RENAME TO idx_55026b0c217bbb47');
|
||||
// $this->addSql('ALTER INDEX idx_ac74095a682b5931 RENAME TO idx_55026b0c682b5931');
|
||||
// $this->addSql('ALTER INDEX idx_ac74095aa76ed395 RENAME TO idx_55026b0ca76ed395');
|
||||
// $this->addSql('ALTER INDEX idx_ac74095ad7fa8ef0 RENAME TO IDX_AC74095A550B0C53');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.geographical_unit_association DROP CONSTRAINT FK_981D5C95D58FA2A4');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.geographical_unit_association DROP CONSTRAINT FK_981D5C95A76ED395');
|
||||
// $this->addSql('ALTER TABLE chill_person_relations ALTER isActive SET DEFAULT \'true\'');
|
||||
// $this->addSql('ALTER TABLE chill_person_relations ALTER isActive SET NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ADD cfdata_old TEXT DEFAULT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER cFData DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER mobilenumber TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER mobilenumber DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER phonenumber TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER phonenumber DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_person ALTER maritalStatus_id TYPE VARCHAR(10)');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_person.cfdata_old IS \'(DC2Type:array)\'');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_person.mobilenumber IS NULL');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_person.phonenumber IS NULL');
|
||||
// $this->addSql('CREATE INDEX phonenumber_trgm_idx ON chill_person_person (phonenumber)');
|
||||
// $this->addSql('CREATE INDEX mobilenumber_trgm_idx ON chill_person_person (mobilenumber)');
|
||||
// $this->addSql('CREATE INDEX chill_custom_fullnamecanonical_only_trgm_idx_gin ON chill_person_person (fullnamecanonical)');
|
||||
// $this->addSql('CREATE INDEX fullnamecanonical_trgm_idx ON chill_person_person (center_id, fullnamecanonical)');
|
||||
// $this->addSql('ALTER INDEX idx_bf210a141c9da55 RENAME TO idx_3370d4401c9da55');
|
||||
// $this->addSql('ALTER INDEX idx_bf210a145932f377 RENAME TO idx_person_center');
|
||||
// $this->addSql('ALTER INDEX idx_bf210a143818da5 RENAME TO idx_3370d4403818da5');
|
||||
// $this->addSql('ALTER INDEX idx_bf210a14d7d03ce3 RENAME TO IDX_BF210A145521BE40');
|
||||
// $this->addSql('DROP INDEX address_refid');
|
||||
// $this->addSql('ALTER TABLE chill_main_address_reference ALTER point TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address_reference ALTER point DROP DEFAULT');
|
||||
// $this->addSql('CREATE INDEX chill_internal_address_reference_canonicalized ON chill_main_address_reference (postcode_id, addresscanonical)');
|
||||
// $this->addSql('CREATE INDEX address_refid ON chill_main_address_reference (refid) WHERE ((refid)::text <> \'\'::text)');
|
||||
// $this->addSql('DROP INDEX search_name_code');
|
||||
// $this->addSql('ALTER TABLE chill_main_postal_code ALTER center TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_postal_code ALTER center DROP DEFAULT');
|
||||
// $this->addSql('CREATE INDEX chill_internal_postal_code_canonicalized ON chill_main_postal_code (canonical) WHERE (origin = 0)');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER endDate TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER endDate DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER startDate TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_members ALTER startDate DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_members.enddate IS NULL');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_members.startdate IS NULL');
|
||||
// $this->addSql('CREATE INDEX household_members_not_overlaps ON chill_person_household_members (person_id) WHERE (sharedhousehold IS TRUE)');
|
||||
// $this->addSql('CREATE INDEX chill_custom_person_household_members_sharing_idx ON chill_person_household_members (person_id, startdate, enddate, household_id) WHERE (sharedhousehold IS TRUE)');
|
||||
// $this->addSql('ALTER INDEX idx_589d51b4a76ed395 RENAME TO idx_154a075fa76ed395');
|
||||
// $this->addSql('ALTER INDEX idx_589d51b4ef1a9d84 RENAME TO idx_154a075fef1a9d84');
|
||||
// $this->addSql('DROP INDEX person_unique');
|
||||
// $this->addSql('DROP INDEX thirdparty_unique');
|
||||
// $this->addSql('CREATE UNIQUE INDEX person_unique ON chill_person_accompanying_period_resource (person_id, accompanyingperiod_id) WHERE (person_id IS NOT NULL)');
|
||||
// $this->addSql('CREATE UNIQUE INDEX thirdparty_unique ON chill_person_accompanying_period_resource (thirdparty_id, accompanyingperiod_id) WHERE (thirdparty_id IS NOT NULL)');
|
||||
// $this->addSql('ALTER TABLE chill_main_location_type ALTER active SET DEFAULT \'true\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_location_type ALTER editableByUsers SET DEFAULT \'true\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_location_type ALTER editableByUsers DROP NOT NULL');
|
||||
// $this->addSql('ALTER INDEX idx_d6300160a76ed395 RENAME TO idx_a9f001faa76ed395');
|
||||
// $this->addSql('ALTER INDEX idx_d63001607e6af9d4 RENAME TO idx_a9f001fa7e6af9d4');
|
||||
// $this->addSql('ALTER INDEX idx_e260a868504cb38d RENAME TO idx_64a4a621504cb38d');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdAt TYPE TIMESTAMP(0) WITHOUT TIME ZONE');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdAt DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdAt SET NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER updatedAt TYPE TIMESTAMP(0) WITHOUT TIME ZONE');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER updatedAt DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_resource ALTER createdBy_id SET NOT NULL');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_resource.createdat IS NULL');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_resource.updatedat IS NULL');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER createdAt TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER createdAt DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER updatedAt TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_person_household_composition ALTER updatedAt DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_composition.createdat IS \'(DC2Type:date_immutable)\'');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_person_household_composition.updatedat IS \'(DC2Type:date_immutable)\'');
|
||||
// $this->addSql('ALTER INDEX chill_vendee.idx_dd0a4c00eef79338 RENAME TO idx_1a4b602deef79338');
|
||||
// $this->addSql('CREATE INDEX internal_center_geom_idx ON chill_vendee.center_polygon (geom)');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.vendee_person ALTER situationProfessionelleStartDate TYPE DATE');
|
||||
// $this->addSql('ALTER TABLE chill_vendee.vendee_person ALTER situationProfessionelleStartDate DROP DEFAULT');
|
||||
// $this->addSql('COMMENT ON COLUMN chill_vendee.vendee_person.situationprofessionellestartdate IS NULL');
|
||||
// $this->addSql('CREATE UNIQUE INDEX uniq_93f763ae217bbb47 ON chill_vendee.vendee_person (person_id)');
|
||||
// $this->addSql('ALTER INDEX idx_b9cebeac217bbb47 RENAME TO idx_9bc1fd50217bbb47');
|
||||
// $this->addSql('ALTER INDEX idx_b9cebeacf5b7af75 RENAME TO idx_9bc1fd50f5b7af75');
|
||||
// $this->addSql('ALTER INDEX idx_b9cebeacdca38092 RENAME TO idx_9bc1fd50dca38092');
|
||||
// $this->addSql('ALTER INDEX idx_b9cebeac8dfc48dc RENAME TO idx_9bc1fd508dfc48dc');
|
||||
// $this->addSql('ALTER TABLE chill_main_location ALTER active SET DEFAULT \'true\'');
|
||||
// $this->addSql('ALTER TABLE chill_3party.third_party ALTER firstname DROP NOT NULL');
|
||||
// $this->addSql('CREATE INDEX chill_custom_canonicalized_trgm_idx_gist ON chill_3party.third_party (canonicalized) WHERE (active IS TRUE)');
|
||||
// $this->addSql('ALTER TABLE chill_main_notification ALTER addressesEmails SET DEFAULT \'[]\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ADD customs JSONB DEFAULT \'[]\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER confidential SET DEFAULT \'false\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER confidential DROP NOT NULL');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER corridor TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER corridor DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER flat TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER flat DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER floor TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER floor DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER isNoAddress SET DEFAULT \'false\'');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER point TYPE VARCHAR(255)');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER point DROP DEFAULT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER steps TYPE TEXT');
|
||||
// $this->addSql('ALTER TABLE chill_main_address ALTER steps DROP DEFAULT');
|
||||
// $this->addSql('CREATE INDEX chill_custom_main_address_filtering_idx ON chill_main_address (id, validfrom, validto)');
|
||||
}
|
||||
}
|
@ -84,6 +84,7 @@ activity:
|
||||
Insert a document: Insérer un document
|
||||
Remove a document: Supprimer le document
|
||||
comment: Commentaire
|
||||
private comment: Commentaire privé
|
||||
No documents: Aucun document
|
||||
|
||||
#timeline
|
||||
|
@ -21,13 +21,12 @@ use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormView;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||
use Symfony\Component\Security\Core\User\UserInterface;
|
||||
|
||||
class CommentType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @var \Symfony\Component\Security\Core\User\UserInterface
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
protected UserInterface $user;
|
||||
|
||||
public function __construct(TokenStorageInterface $tokenStorage)
|
||||
{
|
||||
|
75
src/Bundle/ChillMainBundle/Form/Type/PrivateCommentType.php
Normal file
75
src/Bundle/ChillMainBundle/Form/Type/PrivateCommentType.php
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Chill is a software for social workers
|
||||
*
|
||||
* For the full copyright and license information, please view
|
||||
* the LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Chill\MainBundle\Form\Type;
|
||||
|
||||
use Chill\MainBundle\Entity\Embeddable\CommentEmbeddable;
|
||||
use DateTime;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\FormEvent;
|
||||
use Symfony\Component\Form\FormEvents;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormView;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||
use Symfony\Component\Security\Core\User\UserInterface;
|
||||
|
||||
class PrivateCommentType extends AbstractType
|
||||
{
|
||||
protected UserInterface $user;
|
||||
|
||||
public function __construct(TokenStorageInterface $tokenStorage)
|
||||
{
|
||||
$this->user = $tokenStorage->getToken()->getUser();
|
||||
}
|
||||
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$builder
|
||||
->add('comment', ChillTextareaType::class, [
|
||||
'disable_editor' => $options['disable_editor'],
|
||||
'label' => $options['label'],
|
||||
]);
|
||||
|
||||
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
|
||||
$data = $event->getForm()->getData();
|
||||
$privateComment = $event->getData() ?? ['privateComment' => ''];
|
||||
|
||||
if (null !== $data && $data->getComment() !== $privateComment['comment']) {
|
||||
$data->setDate(new DateTime());
|
||||
$data->setUserId($this->user->getId());
|
||||
$event->getForm()->setData($data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form, array $options)
|
||||
{
|
||||
$view->vars = array_replace(
|
||||
$view->vars,
|
||||
[
|
||||
'hideLabel' => true,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefined('disable_editor')
|
||||
->setAllowedTypes('disable_editor', 'bool')
|
||||
->setDefaults([
|
||||
'data_class' => CommentEmbeddable::class,
|
||||
'disable_editor' => false,
|
||||
]);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user