Skip to content

Commit 0ae6e5d

Browse files
committed
further simplifications
1 parent 1838d1e commit 0ae6e5d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+209
-1089
lines changed

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/ControllerLayer.xtend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class ControllerLayer {
5555
]
5656

5757
// controller classes
58-
getAllEntities.forEach[generateController(fsa)]
58+
entities.forEach[generateController(fsa)]
5959
new AjaxController().generate(it, fsa)
6060

6161
new ExtensionMenu().generate(it, fsa)

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/EventSubscribers.xtend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ class EventSubscribers {
363363
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
364364
use Symfony\Component\Workflow\Event\Event;
365365
use Symfony\Component\Workflow\Event\GuardEvent;
366-
«IF !relations.empty && !getAllEntities.filter[!getOutgoingRelationsWithoutDeleteCascade.empty].empty»
366+
«IF !relations.empty && !entities.filter[!getOutgoingRelationsWithoutDeleteCascade.empty].empty»
367367
use Symfony\Component\Workflow\TransitionBlocker;
368368
«ENDIF»
369369
use Symfony\Contracts\Translation\TranslatorInterface;

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/FormHandler.xtend

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class FormHandler {
5858
if (hasEditActions()) {
5959
// form handlers
6060
generateCommon('edit', fsa)
61-
for (entity : getAllEntities.filter[hasEditAction]) {
61+
for (entity : entities.filter[hasEditAction]) {
6262
entity.generate('edit', fsa)
6363
}
6464
// form types
@@ -136,7 +136,7 @@ class FormHandler {
136136
appNamespace + '\\Helper\\PermissionHelper',
137137
appNamespace + '\\Helper\\WorkflowHelper'
138138
])
139-
if (!getAllEntities.filter[hasDetailAction && hasEditAction && hasSluggableFields].empty) {
139+
if (!entities.filter[hasDetailAction && hasEditAction && hasSluggableFields].empty) {
140140
imports.add('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface')
141141
}
142142
if (hasTranslatable || needsApproval || hasStandardFieldEntities) {
@@ -345,8 +345,8 @@ class FormHandler {
345345
if (!$this->permissionHelper->mayEdit($entity)) {
346346
throw new AccessDeniedException();
347347
}
348-
«IF !getAllEntities.filter[hasDetailAction && hasEditAction && hasSluggableFields].empty»
349-
if (null !== $session && in_array($this->objectType, ['«getAllEntities.filter[hasDetailAction && hasEditAction && hasSluggableFields].map[name.formatForCode].join('\', \'''], true)) {
348+
«IF !entities.filter[hasDetailAction && hasEditAction && hasSluggableFields].empty»
349+
if (null !== $session && in_array($this->objectType, ['«entities.filter[hasDetailAction && hasEditAction && hasSluggableFields].map[name.formatForCode].join('\', \'''], true)) {
350350
// map display return urls to redirect codes because slugs may change
351351
$routePrefix = '«app.appName.formatForDB»_' . mb_strtolower($this->objectType) . '_';
352352
$userDetailUrl = $this->router->generate(
@@ -370,7 +370,7 @@ class FormHandler {
370370
}
371371
} else {
372372
«IF needsApproval»
373-
$objectTypesNeedingApproval = ['«getAllEntities.filter[workflow != EntityWorkflowType.NONE].map[name.formatForCode].join('\', \'''];
373+
$objectTypesNeedingApproval = ['«entities.filter[workflow != EntityWorkflowType.NONE].map[name.formatForCode].join('\', \'''];
374374
$permissionLevel = in_array($this->objectType, $objectTypesNeedingApproval, true) ? ACCESS_COMMENT : ACCESS_EDIT;
375375
«ELSE»
376376
$permissionLevel = ACCESS_EDIT;
@@ -403,9 +403,9 @@ class FormHandler {
403403
return new RedirectResponse($this->router->generate('home'), 302);
404404
}
405405
406-
«IF !getAllEntities.filter[hasEditAction && hasSluggableFields && slugUnique && needsSlugHandler].empty»
406+
«IF !entities.filter[hasEditAction && hasSluggableFields && slugUnique && needsSlugHandler].empty»
407407
if (
408-
in_array($this->objectType, ['«getAllEntities.filter[hasEditAction && hasSluggableFields && slugUnique && needsSlugHandler].map[name.formatForCode].join('\', \'''], true)
408+
in_array($this->objectType, ['«entities.filter[hasEditAction && hasSluggableFields && slugUnique && needsSlugHandler].map[name.formatForCode].join('\', \'''], true)
409409
&& method_exists($entity, 'getSlug')
410410
&& null !== $entity->getSlug()
411411
) {

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/ServiceDefinitions.xtend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class ServiceDefinitions {
110110
'''
111111
112112
def private repositoryBindings(Application it) '''
113-
«FOR entity : getAllEntities»
113+
«FOR entity : entities»
114114
«entity.repoPath('')»Interface: '@«entity.repoPath('')»'
115115
«IF entity.tree == EntityTreeType.CLOSURE»
116116
«entity.repoPath('closure')»Interface: '@«entity.repoPath('closure')»'

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/additions/AjaxController.xtend

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ class AjaxController {
295295

296296
$result = false;
297297
switch ($objectType) {
298-
«FOR entity : getAllEntities»
298+
«FOR entity : entities»
299299
«val uniqueFields = entity.getUniqueFields»
300300
«IF !uniqueFields.empty || (entity.hasSluggableFields && entity.slugUnique)»
301301
case '«entity.name.formatForCode»':
@@ -339,7 +339,7 @@ class AjaxController {
339339
// check if the given field is existing and unique
340340
$uniqueFields = [];
341341
switch ($objectType) {
342-
«FOR entity : getAllEntities»
342+
«FOR entity : entities»
343343
«val uniqueFields = entity.getUniqueFields»
344344
«IF !uniqueFields.empty || (entity.hasSluggableFields && entity.slugUnique)»
345345
case '«entity.name.formatForCode»':
@@ -578,13 +578,13 @@ class AjaxController {
578578
try {
579579
// execute the workflow action
580580
$success = $workflowHelper->executeAction($childEntity, $action);
581-
«IF hasEditActions && !getAllEntities.filter[tree != EntityTreeType.NONE && hasEditAction].empty»
581+
«IF hasEditActions && !entities.filter[tree != EntityTreeType.NONE && hasEditAction].empty»
582582
if (!$success) {
583583
$returnValue['result'] = 'failure';
584-
} elseif (in_array($objectType, ['«getAllEntities.filter[tree != EntityTreeType.NONE && hasEditAction].map[name.formatForCode].join('\', \'''], true)) {
584+
} elseif (in_array($objectType, ['«entities.filter[tree != EntityTreeType.NONE && hasEditAction].map[name.formatForCode].join('\', \'''], true)) {
585585
$routeName = '«appName.formatForDB»_' . mb_strtolower($objectType) . '_edit';
586-
«IF !getAllEntities.filter[tree != EntityTreeType.NONE && hasEditAction && hasSluggableFields && slugUnique].empty»
587-
$needsArg = in_array($objectType, ['«getAllEntities.filter[tree != EntityTreeType.NONE && hasEditAction && hasSluggableFields && slugUnique].map[name.formatForCode].join('\', \'''], true);
586+
«IF !entities.filter[tree != EntityTreeType.NONE && hasEditAction && hasSluggableFields && slugUnique].empty»
587+
$needsArg = in_array($objectType, ['«entities.filter[tree != EntityTreeType.NONE && hasEditAction && hasSluggableFields && slugUnique].map[name.formatForCode].join('\', \'''], true);
588588
$urlArgs = $needsArg ? $childEntity->createUrlArgs(true) : $childEntity->createUrlArgs();
589589
«ELSE»
590590
$urlArgs = $childEntity->createUrlArgs();
@@ -758,7 +758,7 @@ class AjaxController {
758758

759759
$repository = $entityFactory->getRepository($objectType);
760760
$sortableFieldMap = [
761-
«FOR entity : getAllEntities.filter[hasSortableFields]»
761+
«FOR entity : entities.filter[hasSortableFields]»
762762
'«entity.name.formatForCode»' => '«entity.getSortableFields.head.name.formatForCode»',
763763
«ENDFOR»
764764
];
@@ -887,6 +887,6 @@ class AjaxController {
887887
888888
def private needsDuplicateCheck(Application it) {
889889
entities.exists[!getUniqueFields.empty]
890-
|| (hasSluggable && !getAllEntities.filter[hasSluggableFields && slugUnique].empty)
890+
|| (hasSluggable && !entities.filter[hasSluggableFields && slugUnique].empty)
891891
}
892892
}

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/config/ConfigureCrud.xtend

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.zikula.modulestudio.generator.cartridges.symfony.controller.config
22

33
import de.guite.modulestudio.metamodel.ArrayField
44
import de.guite.modulestudio.metamodel.BooleanField
5-
import de.guite.modulestudio.metamodel.DateTimeComponents
65
import de.guite.modulestudio.metamodel.DatetimeField
76
import de.guite.modulestudio.metamodel.Entity
87
import de.guite.modulestudio.metamodel.Field
@@ -11,21 +10,23 @@ import de.guite.modulestudio.metamodel.StringRole
1110
import de.guite.modulestudio.metamodel.UserField
1211
import org.zikula.modulestudio.generator.cartridges.symfony.controller.ControllerMethodInterface
1312
import org.zikula.modulestudio.generator.extensions.ControllerExtensions
13+
import org.zikula.modulestudio.generator.extensions.DateTimeExtensions
1414
import org.zikula.modulestudio.generator.extensions.FormattingExtensions
1515
import org.zikula.modulestudio.generator.extensions.ModelExtensions
1616
import org.zikula.modulestudio.generator.extensions.NamingExtensions
1717

1818
class ConfigureCrud implements ControllerMethodInterface {
1919

2020
extension ControllerExtensions = new ControllerExtensions
21+
extension DateTimeExtensions = new DateTimeExtensions
2122
extension FormattingExtensions = new FormattingExtensions
2223
extension ModelExtensions = new ModelExtensions
2324
extension NamingExtensions = new NamingExtensions
2425

2526
Iterable<DatetimeField> dateTimeFields
2627

2728
override void init(Entity it) {
28-
dateTimeFields = allEntityFields.filter(DatetimeField)
29+
dateTimeFields = getAnyDateTimeFieldsEntity
2930
}
3031

3132
override imports(Entity it) {
@@ -72,14 +73,14 @@ class ConfigureCrud implements ControllerMethodInterface {
7273
->setHelp(Crud::PAGE_INDEX, t('«documentation.replaceAll('\'', '"''))
7374
«ENDIF»
7475
«ENDIF»
75-
«IF !dateTimeFields.empty»
76-
«IF !dateTimeFields.filter[f|f.components === DateTimeComponents.DATE].empty»
76+
«IF hasAnyDateTimeFieldsEntity»
77+
«IF hasDirectDateFields»
7778
->setDateFormat(DateTimeField::FORMAT_MEDIUM)
7879
«ENDIF»
79-
«IF !dateTimeFields.filter[f|f.components === DateTimeComponents.TIME].empty»
80+
«IF hasDirectTimeFields»
8081
->setTimeFormat(DateTimeField::FORMAT_SHORT)
8182
«ENDIF»
82-
«IF !dateTimeFields.filter[f|#[DateTimeComponents.DATE_TIME, DateTimeComponents.DATE_TIME_TZ].contains(f.components)].empty»
83+
«IF hasDirectDateTimeFields»
8384
->setDateTimeFormat(DateTimeField::FORMAT_MEDIUM, DateTimeField::FORMAT_SHORT)
8485
«ENDIF»
8586
«ENDIF»

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/config/ConfigureFields.xtend

Lines changed: 9 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package org.zikula.modulestudio.generator.cartridges.symfony.controller.config
22

3-
import de.guite.modulestudio.metamodel.AbstractStringField
43
import de.guite.modulestudio.metamodel.Application
54
import de.guite.modulestudio.metamodel.ArrayField
65
import de.guite.modulestudio.metamodel.BooleanField
7-
import de.guite.modulestudio.metamodel.DateTimeComponents
6+
import de.guite.modulestudio.metamodel.DateTimeRole
87
import de.guite.modulestudio.metamodel.DatetimeField
9-
import de.guite.modulestudio.metamodel.EmailField
108
import de.guite.modulestudio.metamodel.Entity
119
import de.guite.modulestudio.metamodel.Field
1210
import de.guite.modulestudio.metamodel.IntegerField
@@ -21,7 +19,6 @@ import de.guite.modulestudio.metamodel.TextField
2119
import de.guite.modulestudio.metamodel.TextRole
2220
import de.guite.modulestudio.metamodel.UploadField
2321
import de.guite.modulestudio.metamodel.UploadNamingScheme
24-
import de.guite.modulestudio.metamodel.UrlField
2522
import de.guite.modulestudio.metamodel.UserField
2623
import java.math.BigInteger
2724
import java.util.ArrayList
@@ -234,8 +231,7 @@ class ConfigureFields implements ControllerMethodInterface {
234231
BooleanField: 'center'
235232
IntegerField: 'right'
236233
NumberField: 'right'
237-
//EmailField: 'center'
238-
//UrlField: 'center'
234+
StringField: if (#[StringRole.MAIL, StringRole.URL].contains(role)) 'center' else 'left'
239235
default: 'left'
240236
}
241237
}
@@ -250,7 +246,7 @@ class ConfigureFields implements ControllerMethodInterface {
250246
// https://symfony.com/bundles/EasyAdminBundle/current/fields/BooleanField.html
251247
def private dispatch options(BooleanField it) {
252248
var calls = commonOptions
253-
if (!ajaxTogglability) {
249+
if (!renderAsSwitch) {
254250
calls += '->renderAsSwitch(false)'
255251
}
256252
calls
@@ -318,14 +314,17 @@ class ConfigureFields implements ControllerMethodInterface {
318314
calls
319315
}
320316

317+
// see https://symfony.com/bundles/EasyAdminBundle/current/fields.html#field-types
321318
def private dispatch fieldType(StringField it) {
322319
if (role === StringRole.COLOUR) 'Color' else
323320
if (role === StringRole.COUNTRY) 'Country' else
324321
if (role === StringRole.CURRENCY) 'Currency' else
325322
if (role === StringRole.LANGUAGE) 'Language' else
326323
if (role === StringRole.LOCALE) 'Locale' else
324+
if (role === StringRole.MAIL) 'Email' else
327325
if (role === StringRole.PHONE_NUMBER) 'Telephone' else
328326
if (role === StringRole.TIME_ZONE) 'Timezone' else
327+
if (role === StringRole.URL) 'Url' else
329328
'Text'
330329
}
331330
def private dispatch options(StringField it) {
@@ -415,12 +414,6 @@ class ConfigureFields implements ControllerMethodInterface {
415414
calls
416415
}
417416

418-
def private dispatch fieldType(EmailField it) { 'Email' }
419-
// https://symfony.com/bundles/EasyAdminBundle/current/fields/EmailField.html
420-
421-
def private dispatch fieldType(UrlField it) { 'Url' }
422-
// https://symfony.com/bundles/EasyAdminBundle/current/fields/UrlField.html
423-
424417
def private dispatch fieldType(UploadField it) {
425418
if (isOnlyImageField) 'Image'
426419
else 'Text' // TODO
@@ -459,8 +452,8 @@ class ConfigureFields implements ControllerMethodInterface {
459452
// https://symfony.com/bundles/EasyAdminBundle/current/fields/ArrayField.html
460453

461454
def private dispatch fieldType(DatetimeField it) {
462-
if (components == DateTimeComponents.DATE) 'Date' else
463-
if (components == DateTimeComponents.TIME) '' else
455+
if (role == DateTimeRole.DATE) 'Date' else
456+
if (role == DateTimeRole.TIME) '' else
464457
'DateTime'
465458
}
466459
// https://symfony.com/bundles/EasyAdminBundle/current/fields/DateTimeField.html
@@ -583,9 +576,6 @@ class ConfigureFields implements ControllerMethodInterface {
583576
def private dispatch titleAttribute(StringField it) '''«IF #[StringRole.COLOUR, StringRole.COUNTRY, StringRole.CURRENCY, StringRole.DATE_INTERVAL, StringRole.LANGUAGE, StringRole.LOCALE, StringRole.TIME_ZONE].contains(role)»Choose the «name.formatForDisplay»«ELSE»Enter the «name.formatForDisplay»«ENDIF» of the «entity.name.formatForDisplay».'''
584577
def private dispatch additionalAttributes(StringField it) '''
585578
'maxlength' => «length»,
586-
«IF null !== regexp && !regexp.empty && !regexpOpposite»
587-
'pattern' => '«regexWithoutLeadingAndTrailingSlashes»',
588-
«ENDIF»
589579
'''
590580
def private dispatch additionalOptions(StringField it) '''
591581
«IF !mandatory && #[StringRole.COUNTRY, StringRole.CURRENCY, StringRole.LANGUAGE, StringRole.LOCALE, StringRole.TIME_ZONE].contains(role)»
@@ -637,35 +627,16 @@ class ConfigureFields implements ControllerMethodInterface {
637627
*/»«ELSEIF role == StringRole.TIME_ZONE»
638628
'choice_translation_locale' => $this->requestStack->getCurrentRequest()->getLocale(),
639629
'intl' => true,
630+
«ELSEIF role == StringRole.URL»«/*'default_protocol' => 'http'*/»
640631
«ELSEIF role == StringRole.WEEK»
641632
'input' => 'string',
642633
«ENDIF»
643634
'''
644635

645636
def private dispatch additionalAttributes(TextField it) '''
646637
'maxlength' => «length»,
647-
«IF null !== regexp && !regexp.empty && !regexpOpposite»
648-
'pattern' => '«regexWithoutLeadingAndTrailingSlashes»',
649-
«ENDIF»
650638
'''
651639

652-
def private dispatch additionalAttributes(EmailField it) '''
653-
'maxlength' => «length»,
654-
«IF null !== regexp && !regexp.empty && !regexpOpposite»
655-
'pattern' => '«regexWithoutLeadingAndTrailingSlashes»',
656-
«ENDIF»
657-
'''
658-
659-
def private dispatch additionalAttributes(UrlField it) '''
660-
'maxlength' => «length»,
661-
«IF null !== regexp && !regexp.empty && !regexpOpposite»
662-
'pattern' => '«regexWithoutLeadingAndTrailingSlashes»',
663-
«ENDIF»
664-
'''
665-
def private dispatch additionalOptions(UrlField it) '''«/*'default_protocol' => 'http'*/»'''
666-
667-
def private regexWithoutLeadingAndTrailingSlashes(AbstractStringField it) '''«regexp.replaceAll('\'', '').replaceAll('^/+', '').replaceAll('/+$', '''''
668-
669640
// TODO UploadField
670641
def private dispatch customFormType(UploadField it) '''«IF !isOnlyImageField»Upload«ENDIF»'''
671642
def private dispatch additionalAttributes(UploadField it) '''

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/di/DependencyInjection.xtend

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class DependencyInjection {
4646
imports.add(appNamespace + '\\EventListener\\EntityLifecycleListener')
4747
}
4848
if (hasTranslatable || needsApproval || hasStandardFieldEntities) {
49-
for (entity : getAllEntities.filter[hasEditAction]) {
49+
for (entity : entities.filter[hasEditAction]) {
5050
imports.add(appNamespace + '\\Form\\Handler\\' + entity.name.formatForCodeCapital + '\\EditHandler as Edit' + entity.name.formatForCodeCapital + 'Handler')
5151
}
5252
}
@@ -114,7 +114,7 @@ class DependencyInjection {
114114
;
115115
«ENDIF»
116116
«IF hasTranslatable || needsApproval || hasStandardFieldEntities»
117-
«FOR entity : getAllEntities.filter[hasEditAction]»
117+
«FOR entity : entities.filter[hasEditAction]»
118118
$container->getDefinition(Edit«entity.name.formatForCodeCapital»Handler::class)
119119
->setArgument('$moderationConfig', $config['moderation']);
120120
«ENDFOR»

bundles/org.zikula.modulestudio.generator/src/org/zikula/modulestudio/generator/cartridges/symfony/controller/formtype/field/AutoCompletionRelationType.xtend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class AutoCompletionRelationType {
6363

6464
$view->vars['create_url'] = '';
6565
«IF hasEditActions»
66-
if (true === $options['allow_editing'] && in_array($options['object_type'], ['«getAllEntities.filter[hasEditAction].map[name.formatForCode].join('\', \'''])) {
66+
if (true === $options['allow_editing'] && in_array($options['object_type'], ['«entities.filter[hasEditAction].map[name.formatForCode].join('\', \'''])) {
6767
$view->vars['create_url'] = $this->router->generate('«appName.formatForDB»_' . strtolower($options['object_type']) . '_edit');
6868
}
6969
«ENDIF»

0 commit comments

Comments
 (0)