Merge branch 'issue604_activity_list_documents' into 'master'

Issue604 activity list documents

See merge request Chill-Projet/chill-bundles!436
This commit is contained in:
Julien Fastré 2022-05-27 20:35:03 +00:00
commit 3ceda28994
12 changed files with 82 additions and 8 deletions

View File

@ -11,6 +11,8 @@ and this project adheres to
## Unreleased
<!-- write down unreleased development here -->
* [storedobject] add title field on StoredObject entity + use it in activity documents (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/604)
* [main] add a "read more..." on comment embeddable when overflown (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/604)
* [person] add closing motive to closed acc course (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/603)
* [person] household filiation: fetch person info when unfolding person (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/586)
* [admin] repair edit of social action in the admin (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/601)

View File

@ -137,7 +137,6 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
/**
* @ORM\Embedded(class="Chill\MainBundle\Entity\Embeddable\PrivateCommentEmbeddable", columnPrefix="privateComment_")
* @Groups({"docgen:read"})
*/
private PrivateCommentEmbeddable $privateComment;

View File

@ -321,6 +321,7 @@ class ActivityType extends AbstractType
'button_add_label' => 'activity.Insert a document',
'button_remove_label' => 'activity.Remove a document',
'empty_collection_explain' => 'No documents',
'entry_options' => ['has_title' => true],
]);
}

View File

@ -168,7 +168,7 @@
{% if entity.documents|length > 0 %}
<ul>
{% for d in entity.documents %}
<li>{{ m.download_button(d) }}</li>
<li>{{ d.title }}{{ m.download_button(d) }}</li>
{% endfor %}
</ul>
{% else %}

View File

@ -209,6 +209,7 @@ class ActivityContext implements
*/
public function storeGenerated(DocGeneratorTemplate $template, StoredObject $storedObject, object $entity, array $contextGenerationData): void
{
$storedObject->setTitle($this->translatableStringHelper->localize($template->getName()));
$entity->addDocument($storedObject);
$this->em->persist($storedObject);

View File

@ -71,6 +71,12 @@ class StoredObject implements AsyncFileInterface, Document
*/
private array $keyInfos = [];
/**
* @ORM\Column(type="text", name="title")
* @Serializer\Groups({"read", "write"})
*/
private string $title = '';
/**
* @ORM\Column(type="text", name="type")
* @Serializer\Groups({"read", "write"})
@ -127,6 +133,11 @@ class StoredObject implements AsyncFileInterface, Document
return $this->getFilename();
}
public function getTitle()
{
return $this->title;
}
public function getType()
{
return $this->type;
@ -177,6 +188,13 @@ class StoredObject implements AsyncFileInterface, Document
return $this;
}
public function setTitle(?string $title)
{
$this->title = (string) $title;
return $this;
}
public function setType(?string $type)
{
$this->type = (string) $type;

View File

@ -17,6 +17,7 @@ use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\CallbackTransformer;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
@ -40,6 +41,13 @@ class StoredObjectType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options)
{
if (true === $options['has_title']) {
$builder
->add('title', TextType::class, [
'label' => 'Title',
]);
}
$builder
->add('filename', AsyncUploaderType::class)
->add('type', HiddenType::class)
@ -70,6 +78,10 @@ class StoredObjectType extends AbstractType
{
$resolver
->setDefault('data_class', StoredObject::class);
$resolver
->setDefault('has_title', false)
->setAllowedTypes('has_title', ['bool']);
}
public function getBlockPrefix()

View File

@ -1,9 +1,10 @@
{% block stored_object_widget %}
<div
data-stored-object="data-stored-object"
data-label-preparing="{{ ('Preparing'|trans ~ '...')|escape('html_attr') }}"
{% if form.title is defined %} {{ form_row(form.title) }} {% endif %}
<div
data-stored-object="data-stored-object"
data-label-preparing="{{ ('Preparing'|trans ~ '...')|escape('html_attr') }}"
data-label-quiet-button="{{ 'Download existing file'|trans|escape('html_attr') }}"
data-label-ready="{{ 'Ready to show'|trans|escape('html_attr') }}"
data-label-ready="{{ 'Ready to show'|trans|escape('html_attr') }}"
data-dict-file-too-big="{{ 'File too big'|trans|escape('html_attr') }}"
data-dict-default-message="{{ "Drop your file or click here"|trans|escape('html_attr') }}"
data-dict-remove-file="{{ 'Remove file in order to upload a new one'|trans|escape('html_attr') }}"

View File

@ -0,0 +1,36 @@
<?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\Migrations\DocStore;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Add title on storedObject.
*/
final class Version20220525141646 extends AbstractMigration
{
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE chill_doc.stored_object DROP title');
}
public function getDescription(): string
{
return 'Add title on storedObject';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER TABLE chill_doc.stored_object ADD title TEXT NOT NULL DEFAULT \'\' ');
}
}

View File

@ -9,7 +9,11 @@
#}
{{ opening_box|raw }}
{%- if options['limit_lines'] is not null -%}
{% set content = comment.comment|split('\n')|slice(0, options['limit_lines'])|join('\n') %}
{% if comment.comment|split('\n')|length > options['limit_lines'] %}
{% set content = comment.comment|split('\n')|slice(0, options['limit_lines'])|merge(['(more...)'|trans])|join('\n') %}
{% else %}
{% set content = comment.comment %}
{% endif %}
{%- else -%}
{% set content = comment.comment %}
{%- endif -%}

View File

@ -62,6 +62,7 @@ Comment: Commentaire
Pinned comment: Commentaire épinglé
Any comment: Aucun commentaire
Read more: Lire la suite
(more...): (suite...)
# comment embeddable
No comment associated: Aucun commentaire

View File

@ -16,7 +16,6 @@ use Chill\MainBundle\Form\Type\TranslatableStringFormType;
use Chill\MainBundle\Templating\TranslatableStringHelper;
use Chill\PersonBundle\Entity\SocialWork\Goal;
use Chill\PersonBundle\Entity\SocialWork\Result;
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;