Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Python by slawek ( 16 years ago )
"""
Registers components.
Note: Do not forget to add new post syncdb signals for new components.
"""
from django.db.models import signals
from cms.components.models import Component
from cms.components.pages import models as page_models
from cms.components.treemenus import models as treemenu_models
from cms.components.grappelli import models as grappelli_models
from cms.components.filebrowser import models as filebrowser_models
from cms.components.posts import models as post_models
def register_component(app, created_models, verbosity, **kwargs):
"""
Registers components.
Note: Go to Component model to see its attrs.
"""
# todo: differ components (mutable, immutable)
# component = Component(name=app, area=0, is_mutable=False)
component = Component(name=app)
component.save()
# you can add here post syncdb signal for you new components, do not forget
# about imports of a top of this file
# these components are immutable, you can not change its area, index (position)
# or active status (visibility)
signals.post_syncdb.connect(register_component, sender=page_models)
signals.post_syncdb.connect(register_component, sender=treemenu_models)
signals.post_syncdb.connect(register_component, sender=grappelli_models)
signals.post_syncdb.connect(register_component, sender=filebrowser_models)
# mutable components, you can change its attributes
signals.post_syncdb.connect(register_component, sender=post_models)
Revise this Paste