Example #1
0
    def urlpatterns(self):
        '''load and decorate urls from all modules
        then store it as cached property for less loading
        '''
        if not hasattr(self, '_urlspatterns'):
            urlpatterns = []
            # load all urls
            # support .urls file and urls_conf = 'elephantblog.urls' on default module
            # decorate all url patterns if is not explicitly excluded
            for mod in leonardo.modules:
                # TODO this not work
                if is_leonardo_module(mod):

                    conf = get_conf_from_module(mod)

                    if module_has_submodule(mod, 'urls'):
                        urls_mod = import_module('.urls', mod.__name__)
                        if hasattr(urls_mod, 'urlpatterns'):
                            # if not public decorate all

                            if conf['public']:
                                urlpatterns += urls_mod.urlpatterns
                            else:
                                _decorate_urlconf(urls_mod.urlpatterns,
                                                  require_auth)
                                urlpatterns += urls_mod.urlpatterns
            # avoid circural dependency
            # TODO use our loaded modules instead this property
            from django.conf import settings
            for urls_conf, conf in six.iteritems(getattr(settings, 'MODULE_URLS', {})):
                # is public ?
                try:
                    if conf['is_public']:
                        urlpatterns += \
                            patterns('',
                                     url(r'', include(urls_conf)),
                                     )
                    else:
                        _decorate_urlconf(
                            url(r'', include(urls_conf)),
                            require_auth)
                        urlpatterns += patterns('',
                                                url(r'', include(urls_conf)))
                except Exception as e:
                    raise Exception('raised %s during loading %s' %
                                    (str(e), urls_conf))

            self._urlpatterns = urlpatterns

        return self._urlpatterns
Example #2
0
    def urlpatterns(self):
        '''load and decorate urls from all modules
        then store it as cached property for less loading
        '''
        if not hasattr(self, '_urlspatterns'):
            urlpatterns = []
            # load all urls
            # support .urls file and urls_conf = 'elephantblog.urls' on default module
            # decorate all url patterns if is not explicitly excluded
            for mod in leonardo.modules:
                # TODO this not work
                if is_leonardo_module(mod):

                    conf = get_conf_from_module(mod)

                    if module_has_submodule(mod, 'urls'):
                        urls_mod = import_module('.urls', mod.__name__)
                        if hasattr(urls_mod, 'urlpatterns'):
                            # if not public decorate all

                            if conf['public']:
                                urlpatterns += urls_mod.urlpatterns
                            else:
                                _decorate_urlconf(urls_mod.urlpatterns,
                                                  require_auth)
                                urlpatterns += urls_mod.urlpatterns
            # avoid circural dependency
            # TODO use our loaded modules instead this property
            from django.conf import settings
            for urls_conf, conf in six.iteritems(
                    getattr(settings, 'MODULE_URLS', {})):
                # is public ?
                try:
                    if conf['is_public']:
                        urlpatterns += \
                            patterns('',
                                     url(r'', include(urls_conf)),
                                     )
                    else:
                        _decorate_urlconf(url(r'', include(urls_conf)),
                                          require_auth)
                        urlpatterns += patterns('',
                                                url(r'', include(urls_conf)))
                except Exception as e:
                    raise Exception('raised %s during loading %s' %
                                    (str(e), urls_conf))

            self._urlpatterns = urlpatterns

        return self._urlpatterns
from django.conf.urls import url
from .views import EpicEditorView

from constance import config

urlpatterns = [
    url(r"^epiceditor/$",
        EpicEditorView.as_view(), name="epiceditor"),
]

if not config.LEONARDO_EPICEDITOR_PUBLIC:
    from leonardo.decorators import _decorate_urlconf
    _decorate_urlconf(urlpatterns)
Example #4
0
from __future__ import absolute_import

from django.conf.urls import include, patterns, url
from horizon_contrib.forms.views import CreateView, UpdateView
from horizon_contrib.generic.views import GenericIndexView
from leonardo.decorators import _decorate_urlconf, staff_member

# override native horizon-contrib views
GenericIndexView.template_name = "leonardo/common/_index.html"
CreateView.template_name = "leonardo/common/modal.html"
UpdateView.template_name = "leonardo/common/modal.html"


urlpatterns = patterns('',
                       url(r'^page/', include('leonardo.module.web.page.urls')),
                       url(r'^widget/', include('leonardo.module.web.widgets.urls')),
                       )

# mark all edit view as staff member required
_decorate_urlconf(urlpatterns, staff_member)
Example #5
0
from constance import config
from django.conf.urls import url

from leonardo_keeweb.views import KeewebView

urlpatterns = [
    url(r'^%s$' % config.LEONARDO_KEEWEB_PATH,
        KeewebView.as_view())
]

if not config.LEONARDO_KEEWEB_PUBLIC:
    from leonardo.decorators import _decorate_urlconf
    _decorate_urlconf(urlpatterns)
Example #6
0
from __future__ import absolute_import

from django.conf.urls import include, patterns, url
from horizon_contrib.forms.views import CreateView, UpdateView
from horizon_contrib.generic.views import GenericIndexView
from leonardo.decorators import _decorate_urlconf, staff_member

# override native horizon-contrib views
GenericIndexView.template_name = "leonardo/common/_index.html"
CreateView.template_name = "leonardo/common/modal.html"
UpdateView.template_name = "leonardo/common/modal.html"

urlpatterns = patterns(
    '',
    url(r'^page/', include('leonardo.module.web.page.urls')),
    url(r'^widget/', include('leonardo.module.web.widgets.urls')),
)

# mark all edit view as staff member required
_decorate_urlconf(urlpatterns, staff_member)