@@ -50,6 +50,9 @@ class CMSFrontendComponent(forms.Form):
5050 _admin_form = None
5151 _model = None
5252 _plugin = None
53+ META_FIELDS = ["is_local" , "disable_edit" , "disable_child_plugins" , "show_plugin_add_form" ,
54+ "frontend_editable_fields" , "link_fieldset_position" , "require_parent" ,
55+ "parent_classes" ]
5356
5457 @classmethod
5558 def admin_form_factory (cls , ** kwargs ) -> type :
@@ -138,17 +141,17 @@ def plugin_factory(cls) -> type:
138141 "module" : getattr (cls ._component_meta , "module" , _ ("Components" )),
139142 "model" : cls .plugin_model_factory (),
140143 "form" : cls .admin_form_factory (),
141- "allow_children" : getattr (cls ._component_meta , "allow_children" , False ) or slots ,
142- "require_parent" : getattr (cls ._component_meta , "require_parent" , False ),
144+ "allow_children" : slots or getattr (cls ._component_meta , "allow_children" , False ),
143145 "child_classes" : getattr (cls ._component_meta , "child_classes" , []) + list (slots .keys ()),
144- "parent_classes" : getattr (cls ._component_meta , "parent_classes" , []),
145146 "render_template" : getattr (cls ._component_meta , "render_template" , CMSUIPluginBase .render_template ),
146147 "fieldsets" : getattr (cls , "fieldsets" , cls ._generate_fieldset ()),
147148 "change_form_template" : "djangocms_frontend/admin/base.html" ,
148149 "slots" : slots ,
149- "frontend_editable_fields" : getattr (cls ._component_meta , "frontend_editable_fields" , []),
150150 "save_model" : cls .save_model ,
151- "link_fieldset_position" : getattr (cls ._component_meta , "link_fieldset_position" , 1 ),
151+ ** {
152+ field : getattr (cls ._component_meta , field ) for field in cls .META_FIELDS
153+ if hasattr (cls ._component_meta , field )
154+ },
152155 ** (
153156 {
154157 "get_render_template" : cls .get_render_template ,
0 commit comments