# The hardcoded entries cannot be inferred from the models. To get rid of in the long run
# 

from .xosbase import XOSBase,XOSBaseManager,XOSBaseDeletionManager,PlModelMixIn,ModelLink
from .contenttype import ContentType
from .site import Site
from .dashboardview import DashboardView
from .user import User
from .user import UserDashboardView

{% for m in proto.messages -%}
{% if not m.options.skip_init -%}
from .{{ m.name | lower }} import {{ m.name }} 
{% endif -%}
{% endfor -%}
