mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
configuration of duration parametres for aside activity
This commit is contained in:
parent
edc528ff92
commit
544af59009
@ -24,6 +24,12 @@ final class ChillAsideActivityExtension extends Extension implements PrependExte
|
|||||||
*/
|
*/
|
||||||
public function load(array $configs, ContainerBuilder $container): void
|
public function load(array $configs, ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
|
|
||||||
|
$configuration = $this->getConfiguration($configs, $container);
|
||||||
|
$config = $this->processConfiguration($configuration, $configs);
|
||||||
|
|
||||||
|
$container->setParameter('chill_aside_activity.form.time_duration', $config['form']['time_duration']);
|
||||||
|
|
||||||
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config'));
|
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config'));
|
||||||
$loader->load('services.yaml');
|
$loader->load('services.yaml');
|
||||||
$loader->load('services/form.yaml');
|
$loader->load('services/form.yaml');
|
||||||
|
@ -0,0 +1,138 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Chill\AsideActivityBundle\DependencyInjection;
|
||||||
|
|
||||||
|
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
||||||
|
use Symfony\Component\Config\Definition\ConfigurationInterface;
|
||||||
|
|
||||||
|
class Configuration implements ConfigurationInterface
|
||||||
|
{
|
||||||
|
public function getConfigTreeBuilder()
|
||||||
|
{
|
||||||
|
$treeBuilder = new TreeBuilder('chill_aside_activity');
|
||||||
|
|
||||||
|
$treeBuilder->getRootNode('chill_aside_activity')
|
||||||
|
->children()
|
||||||
|
->arrayNode('form')
|
||||||
|
->canBeEnabled()
|
||||||
|
->children()
|
||||||
|
->arrayNode('time_duration')
|
||||||
|
->isRequired()
|
||||||
|
->defaultValue(
|
||||||
|
[
|
||||||
|
[ 'label' => '5 minutes', 'seconds' => 300],
|
||||||
|
[ 'label' => '10 minutes', 'seconds' => 600],
|
||||||
|
[ 'label' => '15 minutes', 'seconds' => 900],
|
||||||
|
[ 'label' => '20 minutes', 'seconds' => 1200],
|
||||||
|
[ 'label' => '25 minutes', 'seconds' => 1500],
|
||||||
|
[ 'label' => '30 minutes', 'seconds' => 1800],
|
||||||
|
[ 'label' => '45 minutes', 'seconds' => 2700],
|
||||||
|
[ 'label' => '1 hour', 'seconds' => 3600],
|
||||||
|
[ 'label' => '1 hour 15', 'seconds' => 4500],
|
||||||
|
[ 'label' => '1 hour 30', 'seconds' => 5400],
|
||||||
|
[ 'label' => '1 hour 45', 'seconds' => 6300],
|
||||||
|
[ 'label' => '2 hours', 'seconds' => 7200],
|
||||||
|
[ 'label' => '2 hours 30', 'seconds' => 9000],
|
||||||
|
[ 'label' => '3 hours', 'seconds' => 10800],
|
||||||
|
[ 'label' => '3 hours 30', 'seconds' => 12600],
|
||||||
|
[ 'label' => '4 hours', 'seconds' => 14400],
|
||||||
|
[ 'label' => '4 hours 30', 'seconds' => 16200],
|
||||||
|
[ 'label' => '5 hours', 'seconds' => 18000],
|
||||||
|
[ 'label' => '5 hours 30', 'seconds' => 19800],
|
||||||
|
[ 'label' => '6 hours', 'seconds' => 21600],
|
||||||
|
[ 'label' => '6 hours 30', 'seconds' => 23400],
|
||||||
|
[ 'label' => '7 hours', 'seconds' => 25200],
|
||||||
|
[ 'label' => '7 hours 30', 'seconds' => 27000],
|
||||||
|
[ 'label' => '8 hours', 'seconds' => 28800],
|
||||||
|
[ 'label' => '8 hours 30', 'seconds' => 30600],
|
||||||
|
[ 'label' => '9 hours', 'seconds' => 32400],
|
||||||
|
[ 'label' => '9 hours 30', 'seconds' => 34200],
|
||||||
|
[ 'label' => '10 hours', 'seconds' => 36000],
|
||||||
|
[ 'label' => '1/2 day', 'seconds' => 14040],
|
||||||
|
[ 'label' => '1 day', 'seconds' => 28080],
|
||||||
|
[ 'label' => '1 1/2 days', 'seconds' => 42120],
|
||||||
|
[ 'label' => '2 days', 'seconds' => 56160],
|
||||||
|
[ 'label' => '2 1/2 days', 'seconds' => 70200],
|
||||||
|
[ 'label' => '3 days', 'seconds' => 84240],
|
||||||
|
[ 'label' => '3 1/2 days', 'seconds' => 98280],
|
||||||
|
[ 'label' => '4 days', 'seconds' => 112320],
|
||||||
|
[ 'label' => '4 1/2 days', 'seconds' => 126360],
|
||||||
|
[ 'label' => '5 days', 'seconds' => 140400],
|
||||||
|
[ 'label' => '5 1/2 days', 'seconds' => 154440],
|
||||||
|
[ 'label' => '6 days', 'seconds' => 168480],
|
||||||
|
[ 'label' => '6 1/2 days', 'seconds' => 182520],
|
||||||
|
[ 'label' => '7 days', 'seconds' => 196560],
|
||||||
|
[ 'label' => '7 1/2 days', 'seconds' => 210600],
|
||||||
|
[ 'label' => '8 days', 'seconds' => 224640],
|
||||||
|
[ 'label' => '8 1/2 days', 'seconds' => 238680],
|
||||||
|
[ 'label' => '9 days', 'seconds' => 252720],
|
||||||
|
[ 'label' => '9 1/2 days', 'seconds' => 266760],
|
||||||
|
[ 'label' => '10 days', 'seconds' => 280800],
|
||||||
|
[ 'label' => '10 1/2days', 'seconds' => 294840],
|
||||||
|
[ 'label' => '11 days', 'seconds' => 308880],
|
||||||
|
[ 'label' => '11 1/2 days', 'seconds' => 322920],
|
||||||
|
[ 'label' => '12 days', 'seconds' => 336960],
|
||||||
|
[ 'label' => '12 1/2 days', 'seconds' => 351000],
|
||||||
|
[ 'label' => '13 days', 'seconds' => 365040],
|
||||||
|
[ 'label' => '13 1/2 days', 'seconds' => 379080],
|
||||||
|
[ 'label' => '14 days', 'seconds' => 393120],
|
||||||
|
[ 'label' => '14 1/2 days', 'seconds' => 407160],
|
||||||
|
[ 'label' => '15 days', 'seconds' => 421200],
|
||||||
|
[ 'label' => '15 1/2 days', 'seconds' => 435240],
|
||||||
|
[ 'label' => '16 days', 'seconds' => 449280],
|
||||||
|
[ 'label' => '16 1/2 days', 'seconds' => 463320],
|
||||||
|
[ 'label' => '17 days', 'seconds' => 477360],
|
||||||
|
[ 'label' => '17 1/2 days', 'seconds' => 491400],
|
||||||
|
[ 'label' => '18 days', 'seconds' => 505440],
|
||||||
|
[ 'label' => '18 1/2 days', 'seconds' => 519480],
|
||||||
|
[ 'label' => '19 days', 'seconds' => 533520],
|
||||||
|
[ 'label' => '19 1/2 days', 'seconds' => 547560],
|
||||||
|
[ 'label' => '20 days', 'seconds' => 561600],
|
||||||
|
[ 'label' => '20 1/2 days', 'seconds' => 575640],
|
||||||
|
[ 'label' => '21 days', 'seconds' => 580680],
|
||||||
|
[ 'label' => '21 1/2 days', 'seconds' => 603720],
|
||||||
|
[ 'label' => '22 days', 'seconds' => 617760],
|
||||||
|
[ 'label' => '22 1/2 days', 'seconds' => 631800],
|
||||||
|
[ 'label' => '23 days', 'seconds' => 645840],
|
||||||
|
[ 'label' => '23 1/2 days', 'seconds' => 659880],
|
||||||
|
[ 'label' => '24 days', 'seconds' => 673920],
|
||||||
|
[ 'label' => '24 1/2 days', 'seconds' => 687960],
|
||||||
|
[ 'label' => '25 days', 'seconds' => 702000],
|
||||||
|
[ 'label' => '25 1/2 days', 'seconds' => 716040],
|
||||||
|
[ 'label' => '26 days', 'seconds' => 730080],
|
||||||
|
[ 'label' => '26 1/2 days', 'seconds' => 744120],
|
||||||
|
[ 'label' => '27 days', 'seconds' => 758160],
|
||||||
|
[ 'label' => '27 1/2 days', 'seconds' => 772200],
|
||||||
|
[ 'label' => '28 days', 'seconds' => 786240],
|
||||||
|
[ 'label' => '28 1/2 days', 'seconds' => 800280],
|
||||||
|
[ 'label' => '29 days', 'seconds' => 814320],
|
||||||
|
[ 'label' => '29 1/2 days', 'seconds' => 828360],
|
||||||
|
[ 'label' => '30 days', 'seconds' => 842400],
|
||||||
|
]
|
||||||
|
)
|
||||||
|
->info('The intervals of time to show in activity form')
|
||||||
|
|
||||||
|
->prototype('array')
|
||||||
|
->children()
|
||||||
|
->scalarNode('seconds')
|
||||||
|
->info("The number of seconds of this duration. Must be an integer.")
|
||||||
|
->cannotBeEmpty()
|
||||||
|
->validate()
|
||||||
|
->ifTrue(function($data) {
|
||||||
|
return !is_int($data);
|
||||||
|
})->thenInvalid("The value %s is not a valid integer")
|
||||||
|
->end()
|
||||||
|
->end()
|
||||||
|
->scalarNode('label')
|
||||||
|
->cannotBeEmpty()
|
||||||
|
->info("The label to show into fields")
|
||||||
|
->end()
|
||||||
|
->end()
|
||||||
|
->end()
|
||||||
|
->end()
|
||||||
|
->end()
|
||||||
|
->end();
|
||||||
|
|
||||||
|
return $treeBuilder;
|
||||||
|
}
|
||||||
|
}
|
@ -16,11 +16,10 @@ use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToTimestampTra
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
|
||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
use Symfony\Component\Security\Core\Security;
|
|
||||||
|
|
||||||
final class AsideActivityFormType extends AbstractType
|
final class AsideActivityFormType extends AbstractType
|
||||||
{
|
{
|
||||||
@ -33,7 +32,7 @@ final class AsideActivityFormType extends AbstractType
|
|||||||
ParameterBagInterface $parameterBag,
|
ParameterBagInterface $parameterBag,
|
||||||
TokenStorageInterface $storage
|
TokenStorageInterface $storage
|
||||||
){
|
){
|
||||||
$this->timeChoices = $parameterBag->get('chill_activity.form.time_duration');
|
$this->timeChoices = $parameterBag->get('chill_aside_activity.form.time_duration');
|
||||||
$this->translatableStringHelper = $translatableStringHelper;
|
$this->translatableStringHelper = $translatableStringHelper;
|
||||||
$this->storage = $storage;
|
$this->storage = $storage;
|
||||||
}
|
}
|
||||||
@ -70,11 +69,6 @@ final class AsideActivityFormType extends AbstractType
|
|||||||
[
|
[
|
||||||
'label' => 'date',
|
'label' => 'date',
|
||||||
'data' => new \DateTime(),
|
'data' => new \DateTime(),
|
||||||
//SETTING RANGE ONLY POSSIBLE WITH WIDGET 'CHOICE' AND NOT 'SINGLE_TEXT'?
|
|
||||||
// 'widget' => 'choice',
|
|
||||||
// 'years' => range(2020, date('Y')),
|
|
||||||
// 'months' => range(1, date('m')),
|
|
||||||
// 'days' => range(1, date('d')),
|
|
||||||
'required' => true
|
'required' => true
|
||||||
])
|
])
|
||||||
->add('type', EntityType::class,
|
->add('type', EntityType::class,
|
||||||
@ -83,7 +77,6 @@ final class AsideActivityFormType extends AbstractType
|
|||||||
'required' => true,
|
'required' => true,
|
||||||
'class' => AsideActivityCategory::class,
|
'class' => AsideActivityCategory::class,
|
||||||
'placeholder' => 'Choose the activity category',
|
'placeholder' => 'Choose the activity category',
|
||||||
// 'choice_label' => 'title[""]'
|
|
||||||
'choice_label' => function (AsideActivityCategory $asideActivityCategory) {
|
'choice_label' => function (AsideActivityCategory $asideActivityCategory) {
|
||||||
return $this->translatableStringHelper->localize($asideActivityCategory->getTitle());
|
return $this->translatableStringHelper->localize($asideActivityCategory->getTitle());
|
||||||
},
|
},
|
||||||
|
@ -59,6 +59,101 @@ date: Date
|
|||||||
Duration: Durée
|
Duration: Durée
|
||||||
Note: Note
|
Note: Note
|
||||||
|
|
||||||
|
#Duration
|
||||||
|
minutes: minutes
|
||||||
|
hour: heure
|
||||||
|
hours: heures
|
||||||
|
day: jour
|
||||||
|
days: jours
|
||||||
|
5 minutes: 5 minutes
|
||||||
|
10 minutes: 10 minutes
|
||||||
|
15 minutes: 15 minutes
|
||||||
|
20 minutes: 20 minutes
|
||||||
|
25 minutes: 25 minutes
|
||||||
|
30 minutes: 30 minutes
|
||||||
|
45 minutes: 45 minutes
|
||||||
|
1 hour: 1 heure
|
||||||
|
1 hour 15: 1 heure 15
|
||||||
|
1 hour 30: 1 heure 30
|
||||||
|
1 hour 45: 1 heure 45
|
||||||
|
2 hours: 2 heures
|
||||||
|
2 hours 30: 2 heure 30
|
||||||
|
3 hours: 3 heures
|
||||||
|
3 hours 30: 3 heure 30
|
||||||
|
4 hours: 4 heures
|
||||||
|
4 hours 30: 4 heure 30
|
||||||
|
5 hours: 5 heures
|
||||||
|
5 hours 30: 5 heure 30
|
||||||
|
6 hours: 6 heures
|
||||||
|
6 hours 30: 6 heure 30
|
||||||
|
7 hours: 7 heures
|
||||||
|
7 hours 30: 7 heure 30
|
||||||
|
8 hours: 8 heures
|
||||||
|
8 hours 30: 8 heure 30
|
||||||
|
9 hours: 9 heures
|
||||||
|
9 hours 30: 9 heure 30
|
||||||
|
10 hours: 10 heures
|
||||||
|
1/2 day: 1/2 jour
|
||||||
|
1 day: 1 jour
|
||||||
|
1 1/2 days: 1 1/2 jours
|
||||||
|
2 days: 2 jours
|
||||||
|
2 1/2 days: 2 1/2 jours
|
||||||
|
3 days: 3 jours
|
||||||
|
3 1/2 days: 3 1/2 jours
|
||||||
|
4 days: 4 jours
|
||||||
|
4 1/2 days: 4 1/2 jours
|
||||||
|
5 days: 5 jours
|
||||||
|
5 1/2 days: 5 1/2 jours
|
||||||
|
6 days: 6 jours
|
||||||
|
6 1/2 days: 6 1/2 jours
|
||||||
|
7 days: 7 jours
|
||||||
|
7 1/2 days: 7 1/2 jours
|
||||||
|
8 days: 8 jours
|
||||||
|
8 1/2 days: 8 1/2 jours
|
||||||
|
9 days: 9 jours
|
||||||
|
9 1/2 days: 9 1/2 jours
|
||||||
|
10 days: 10 jours
|
||||||
|
10 1/2 days: 10 1/2 jours
|
||||||
|
11 days: 11 jours
|
||||||
|
11 1/2 days: 11 1/2 jours
|
||||||
|
12 days: 12 jours
|
||||||
|
12 1/2 days: 12 1/2 jours
|
||||||
|
13 days: 13 jours
|
||||||
|
13 1/2 days: 13 1/2 jours
|
||||||
|
14 days: 14 jours
|
||||||
|
14 1/2 days: 14 1/2 jours
|
||||||
|
15 days: 15 jours
|
||||||
|
15 1/2 days: 15 1/2 jours
|
||||||
|
16 days: 16 jours
|
||||||
|
16 1/2 days: 16 1/2 jours
|
||||||
|
17 days: 17 jours
|
||||||
|
17 1/2 days: 17 1/2 jours
|
||||||
|
18 days: 18 jours
|
||||||
|
18 1/2 days: 18 1/2 jours
|
||||||
|
19 days: 19 jours
|
||||||
|
19 1/2 days: 19 1/2 jours
|
||||||
|
20 days: 20 jours
|
||||||
|
20 1/2 days: 20 1/2 jours
|
||||||
|
21 days: 21 jours
|
||||||
|
21 1/2 days: 21 1/2 jours
|
||||||
|
22 days: 22 jours
|
||||||
|
22 1/2 days: 22 1/2 jours
|
||||||
|
23 days: 23 jours
|
||||||
|
23 1/2 days: 23 1/2 jours
|
||||||
|
24 days: 24 jours
|
||||||
|
24 1/2 days: 24 1/2 jours
|
||||||
|
25 days: 25 jours
|
||||||
|
25 1/2 days: 25 1/2 jours
|
||||||
|
26 days: 26 jours
|
||||||
|
26 1/2 days: 26 1/2 jours
|
||||||
|
27 days: 27 jours
|
||||||
|
27 1/2 days: 27 1/2 jours
|
||||||
|
28 days: 28 jours
|
||||||
|
28 1/2 days: 28 1/2 jours
|
||||||
|
29 days: 29 jours
|
||||||
|
29 1/2 days: 29 1/2 jours
|
||||||
|
30 days: 30 jours
|
||||||
|
|
||||||
#list
|
#list
|
||||||
My aside activities: Mes activités annexes
|
My aside activities: Mes activités annexes
|
||||||
Date: Date
|
Date: Date
|
||||||
|
Loading…
x
Reference in New Issue
Block a user