fast aside activity creation implemented

This commit is contained in:
Julie Lenaerts 2021-09-24 14:41:37 +02:00
parent a28c996164
commit 960db6aefc
6 changed files with 58 additions and 7 deletions

View File

@ -4,6 +4,8 @@ declare(strict_types=1);
namespace Chill\AsideActivityBundle\Controller;
use Chill\AsideActivityBundle\Entity\AsideActivity;
use Chill\AsideActivityBundle\Repository\AsideActivityCategoryRepository;
use Chill\MainBundle\CRUD\Controller\CRUDController;
use Doctrine\ORM\QueryBuilder;
use Symfony\Component\HttpFoundation\Request;
@ -12,6 +14,14 @@ use Doctrine\Common\Collections\Criteria;
final class AsideActivityController extends CRUDController
{
private $categoryRepository;
public function __construct(AsideActivityCategoryRepository $categoryRepository)
{
$this->categoryRepository = $categoryRepository;
}
protected function buildQueryEntities(string $action, Request $request)
{
$qb = parent::buildQueryEntities($action, $request);
@ -38,5 +48,21 @@ final class AsideActivityController extends CRUDController
return parent::orderQuery($action, $query, $request, $paginator);
}
public function createEntity(string $action, Request $request): object
{
$asideActivity = new AsideActivity();
$duration = $request->query->get('duration', '300');
$duration = \DateTime::createFromFormat('U', $duration);
$asideActivity->setDuration($duration);
$categoryId = $request->query->get('type', 7);
$category = $this->categoryRepository->find($categoryId);
$asideActivity->setType($category);
$note = $request->query->get('note', null);
$asideActivity->setNote($note);
return $asideActivity;
}
}

View File

@ -25,7 +25,6 @@ use Symfony\Component\Templating\EngineInterface;
final class AsideActivityFormType extends AbstractType
{
protected array $timeChoices;
private TranslatableStringHelper $translatableStringHelper;
private TokenStorageInterface $storage;
private CategoryRender $categoryRender;
@ -38,7 +37,7 @@ final class AsideActivityFormType extends AbstractType
$this->timeChoices = $parameterBag->get('chill_aside_activity.form.time_duration');
$this->translatableStringHelper = $translatableStringHelper;
$this->storage = $storage;
$this->CategoryRender = $categoryRender;
$this->categoryRender = $categoryRender;
}
public function buildForm(FormBuilderInterface $builder, array $options)
@ -84,7 +83,6 @@ final class AsideActivityFormType extends AbstractType
'choice_label' => function (AsideActivityCategory $asideActivityCategory) {
$options = [];
return $this->categoryRender->renderString($asideActivityCategory, $options);
// return $this->translatableStringHelper->localize($asideActivityCategory->getTitle());
},
])
->add('duration', ChoiceType::class, $durationTimeOptions)

View File

@ -4,6 +4,7 @@ namespace Chill\AsideActivityBundle\Menu;
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
use Knp\Menu\MenuItem;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
@ -27,12 +28,24 @@ class SectionMenuBuilder implements LocalMenuBuilderInterface
*/
public function buildMenu($menuId, MenuItem $menu, array $parameters)
{
$menu->addChild($this->translator->trans('Create an aside activity'), [
'route' => 'chill_crud_aside_activity_new'
$menu->addChild($this->translator->trans('Create an aside activity'), [
'route' => 'chill_crud_aside_activity_new'
])
->setExtras([
'order' => 11,
'icons' => [ 'plus' ]
]);
$menu->addChild($this->translator->trans('Phonecall'), [
'route' => 'chill_crud_aside_activity_new',
'routeParameters' => [
'type' => 1,
'duration' => 900,
'note' => 'Pas des remarques'
]
])
->setExtras([
'order' => 11,
'icons' => [ 'plus' ]
'order' => 12,
'icons' => ['plus']
]);
}

View File

@ -10,3 +10,13 @@ services:
resource: "../Templating/Entity"
tags:
- "chill.render_entity"
Chill\AsideActivityBundle\Repository\:
resource: "../Repository"
autowire: true
autoconfigure: true
Chill\AsideActivityBundle\Controller\:
resource: "../Controller"
autowire: true
autoconfigure: true

View File

@ -169,3 +169,4 @@ The activity has been successfully removed.: L'activité a été supprimée.
Create an aside activity: "Creér une activité annexe"
Aside activity configuration menu: "Menu de configuration des activités annexes"
Aside activity configuration: "Configuration des activités annexes"
Phonecall: "Appel téléphonique"

View File

@ -92,6 +92,9 @@
</center>
</form>
</div>
<div class="col-8">
<a href="{{ path('chill_crud_aside_activity_new', {'type' : 7, 'duration' : '600', 'note' : 'Pas des remarques' }) }}"><div class="bloc btn btn-success btn-md btn-block">Appel téléphonique</div></a>
</div>
{{ chill_widget('homepage', {} ) }}
{% endblock %}