Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,7 @@ output/*/index.html

# Sphinx
docs/_build


# Node
/node_modules/
2 changes: 2 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
django>=1.8.0
# Additional requirements go here

-e [email protected]:avsd/django-static-precompiler.git@add_browserify#egg=django-static-precompiler
81 changes: 63 additions & 18 deletions rest_admin/sites.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,15 @@ def get_apps(self, request):

return sorted(filter(lambda itm: itm.models, app_dict.values()), key=lambda itm: itm.name)

def get_urls(self):
from django.conf.urls import url
from .views import AdminAppsView
def get_api_urls(self):
from .views import AppsViewSet
from rest_framework import routers

router = routers.DefaultRouter()
router.register('apps', AppsViewSet, 'apps')

return router.urls

# # Since this module gets imported in the application's root package,
# # it cannot import models from other applications at the module level,
# # and django.contrib.contenttypes.views imports ContentType.
Expand All @@ -103,19 +109,18 @@ def get_urls(self):
# return self.admin_view(view, cacheable)(*args, **kwargs)
# return update_wrapper(wrapper, view)

# Admin-site-wide views.
urlpatterns = [
# url(r'^$', wrap(self.index), name='index'),
url(r'^apps', AdminAppsView.as_view(), name='apps'),
# url(r'^login/$', self.login, name='login'),
# url(r'^logout/$', wrap(self.logout), name='logout'),
# url(r'^password_change/$', wrap(self.password_change, cacheable=True), name='password_change'),
# url(r'^password_change/done/$', wrap(self.password_change_done, cacheable=True),
# name='password_change_done'),
# url(r'^jsi18n/$', wrap(self.i18n_javascript, cacheable=True), name='jsi18n'),
# url(r'^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$', wrap(contenttype_views.shortcut),
# name='view_on_site'),
]
# # Admin-site-wide views.
# urlpatterns = [
# # url(r'^$', wrap(self.index), name='index'),
# # url(r'^login/$', self.login, name='login'),
# # url(r'^logout/$', wrap(self.logout), name='logout'),
# # url(r'^password_change/$', wrap(self.password_change, cacheable=True), name='password_change'),
# # url(r'^password_change/done/$', wrap(self.password_change_done, cacheable=True),
# # name='password_change_done'),
# # url(r'^jsi18n/$', wrap(self.i18n_javascript, cacheable=True), name='jsi18n'),
# # url(r'^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$', wrap(contenttype_views.shortcut),
# # name='view_on_site'),
# ]

# # Add in each model's views, and create a list of valid URLS for the
# # app_index
Expand All @@ -135,11 +140,51 @@ def get_urls(self):
# url(regex, wrap(self.app_index), name='app_list'),
# ]

return urlpatterns
# return urlpatterns

def get_schema_urls(self):
from django.conf.urls import url
from django.views.generic import RedirectView, TemplateView
return [
url('^$', RedirectView.as_view(url='/', permanent=False), name='schema-root'),
url('^index.jsx',
TemplateView.as_view(template_name='rest_admin/schema/index.jsx', content_type='text/jsx'),
name='index'),
] # TODO

def get_index_urls(self):
from django.conf.urls import url
from .views import AdminIndexView
return [
url('^$', AdminIndexView.as_view(), name='index'),
]

@property
def api_urls(self):
from django.conf.urls import url, include
urlpatterns = [url('^', include(self.get_api_urls(), namespace='api'))]
return (urlpatterns, 'rest_admin', self.name)

@property
def schema_urls(self):
from django.conf.urls import url, include
urlpatterns = [url('^', include(self.get_schema_urls(), namespace='schema'))]
return (urlpatterns, 'rest_admin', self.name)

@property
def index_urls(self):
urlpatterns = self.get_index_urls()
return (urlpatterns, 'rest_admin', self.name)

@property
def urls(self):
return self.get_urls(), 'admin', self.name
from django.conf.urls import url, include
urlpatterns = [
url('^api/', include(self.get_api_urls(), namespace='api')),
url('^schema/', include(self.get_schema_urls(), namespace='schema')),
url('^', include(self.get_index_urls())),
]
return (urlpatterns, 'rest_admin', self.name)


# To be consistent with Django admin (see `django.contrib.admin.sites`).
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading