Move diagnostics, statistics and maintenance functions from the main app into separate apps
This commit is contained in:
7
apps/diagnostics/__init__.py
Normal file
7
apps/diagnostics/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from project_tools.api import register_tool
|
||||
|
||||
from .links import diagnostics
|
||||
|
||||
register_tool(diagnostics)
|
||||
11
apps/diagnostics/api.py
Normal file
11
apps/diagnostics/api.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from common.utils import reverse_lazy
|
||||
|
||||
diagnostics = {}
|
||||
|
||||
|
||||
def register_diagnostic(namespace, title, link):
|
||||
namespace_dict = diagnostics.get(namespace, {'title': None, 'links': []})
|
||||
namespace_dict['title'] = title
|
||||
link.url = getattr(link, 'url', reverse_lazy(link.view))
|
||||
namespace_dict['links'].append(link)
|
||||
diagnostics[namespace] = namespace_dict
|
||||
7
apps/diagnostics/links.py
Normal file
7
apps/diagnostics/links.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from navigation.api import Link
|
||||
|
||||
diagnostics = Link(text=_(u'diagnostics'), view='diagnostics', sprite='pill', icon='pill.png')
|
||||
3
apps/diagnostics/models.py
Normal file
3
apps/diagnostics/models.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
5
apps/diagnostics/urls.py
Normal file
5
apps/diagnostics/urls.py
Normal file
@@ -0,0 +1,5 @@
|
||||
from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('diagnostics.views',
|
||||
url(r'^$', 'diagnostics_view', (), 'diagnostics'),
|
||||
)
|
||||
17
apps/diagnostics/views.py
Normal file
17
apps/diagnostics/views.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template import RequestContext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from permissions.models import Permission
|
||||
|
||||
from .api import diagnostics
|
||||
|
||||
|
||||
def diagnostics_view(request):
|
||||
return render_to_response('diagnostics.html', {
|
||||
'blocks': diagnostics,
|
||||
'title': _(u'Diagnostics')
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
@@ -3,11 +3,9 @@ from __future__ import absolute_import
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from navigation.api import Link, register_top_menu
|
||||
from project_tools.api import register_tool
|
||||
|
||||
from .conf.settings import SIDE_BAR_SEARCH, DISABLE_HOME_VIEW
|
||||
from .utils import register_multi_items_links
|
||||
from .links import maintenance_menu, statistics, diagnostics
|
||||
|
||||
__author__ = 'Roberto Rosario'
|
||||
__copyright__ = 'Copyright 2011 Roberto Rosario'
|
||||
@@ -46,8 +44,4 @@ def get_version():
|
||||
__version__ = get_version()
|
||||
|
||||
|
||||
register_tool(maintenance_menu)
|
||||
register_tool(statistics)
|
||||
register_tool(diagnostics)
|
||||
|
||||
register_multi_items_links()
|
||||
|
||||
@@ -1,21 +1 @@
|
||||
from common.utils import reverse_lazy
|
||||
|
||||
diagnostics = {}
|
||||
tools = {}
|
||||
|
||||
|
||||
def register_diagnostic(namespace, title, link):
|
||||
namespace_dict = diagnostics.get(namespace, {'title': None, 'links': []})
|
||||
namespace_dict['title'] = title
|
||||
link.url = getattr(link, 'url', reverse_lazy(link.view))
|
||||
namespace_dict['links'].append(link)
|
||||
diagnostics[namespace] = namespace_dict
|
||||
|
||||
|
||||
def register_maintenance_links(links, title=None, namespace=None):
|
||||
namespace_dict = tools.get(namespace, {'title': None, 'links': []})
|
||||
namespace_dict['title'] = title
|
||||
for link in links:
|
||||
link.url = getattr(link, 'url', reverse_lazy(link.view))
|
||||
namespace_dict['links'].append(link)
|
||||
tools[namespace] = namespace_dict
|
||||
|
||||
@@ -3,11 +3,3 @@ from __future__ import absolute_import
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from navigation.api import Link
|
||||
|
||||
|
||||
def is_superuser(context):
|
||||
return context['request'].user.is_staff or context['request'].user.is_superuser
|
||||
|
||||
maintenance_menu = Link(text=_(u'maintenance'), view='maintenance_menu', sprite='wrench', icon='wrench.png')
|
||||
statistics = Link(text=_(u'statistics'), view='statistics', sprite='table', icon='blackboard_sum.png', condition=is_superuser, children_view_regex=[r'statistics'])
|
||||
diagnostics = Link(text=_(u'diagnostics'), view='diagnostics', sprite='pill', icon='pill.png')
|
||||
|
||||
@@ -2,7 +2,4 @@ from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('main.views',
|
||||
url(r'^$', 'home', (), 'home'),
|
||||
url(r'^maintenance_menu/$', 'maintenance_menu', (), 'maintenance_menu'),
|
||||
url(r'^statistics/$', 'statistics', (), 'statistics'),
|
||||
url(r'^diagnostics/$', 'diagnostics_view', (), 'diagnostics'),
|
||||
)
|
||||
|
||||
@@ -2,16 +2,11 @@ from __future__ import absolute_import
|
||||
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template import RequestContext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from documents.statistics import get_statistics as documents_statistics
|
||||
from ocr.statistics import get_statistics as ocr_statistics
|
||||
from permissions.models import Permission
|
||||
|
||||
from .api import diagnostics, tools
|
||||
from .conf.settings import DISABLE_HOME_VIEW
|
||||
|
||||
|
||||
@@ -21,48 +16,3 @@ def home(request):
|
||||
else:
|
||||
return render_to_response('home.html', {},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def maintenance_menu(request):
|
||||
user_tools = {}
|
||||
for namespace, values in tools.items():
|
||||
user_tools[namespace] = {
|
||||
'title': values['title']
|
||||
}
|
||||
user_tools[namespace].setdefault('links', [])
|
||||
for link in values['links']:
|
||||
try:
|
||||
permissions = link.permissions
|
||||
Permission.objects.check_permissions(request.user, permissions)
|
||||
user_tools[namespace]['links'].append(link)
|
||||
except PermissionDenied:
|
||||
pass
|
||||
|
||||
return render_to_response('tools.html', {
|
||||
'blocks': user_tools,
|
||||
'title': _(u'maintenance menu')
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def statistics(request):
|
||||
if request.user.is_superuser or request.user.is_staff:
|
||||
blocks = []
|
||||
blocks.append(documents_statistics())
|
||||
blocks.append(ocr_statistics())
|
||||
|
||||
return render_to_response('statistics.html', {
|
||||
'blocks': blocks,
|
||||
'title': _(u'Statistics')
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
else:
|
||||
raise PermissionDenied
|
||||
|
||||
|
||||
def diagnostics_view(request):
|
||||
return render_to_response('diagnostics.html', {
|
||||
'blocks': diagnostics,
|
||||
'title': _(u'Diagnostics')
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
7
apps/maintenance/__init__.py
Normal file
7
apps/maintenance/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from project_tools.api import register_tool
|
||||
|
||||
from .links import maintenance_menu, statistics
|
||||
|
||||
register_tool(maintenance_menu)
|
||||
12
apps/maintenance/api.py
Normal file
12
apps/maintenance/api.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from common.utils import reverse_lazy
|
||||
|
||||
tools = {}
|
||||
|
||||
|
||||
def register_maintenance_links(links, title=None, namespace=None):
|
||||
namespace_dict = tools.get(namespace, {'title': None, 'links': []})
|
||||
namespace_dict['title'] = title
|
||||
for link in links:
|
||||
link.url = getattr(link, 'url', reverse_lazy(link.view))
|
||||
namespace_dict['links'].append(link)
|
||||
tools[namespace] = namespace_dict
|
||||
7
apps/maintenance/links.py
Normal file
7
apps/maintenance/links.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from navigation.api import Link
|
||||
|
||||
maintenance_menu = Link(text=_(u'maintenance'), view='maintenance_menu', sprite='wrench', icon='wrench.png')
|
||||
3
apps/maintenance/models.py
Normal file
3
apps/maintenance/models.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
5
apps/maintenance/urls.py
Normal file
5
apps/maintenance/urls.py
Normal file
@@ -0,0 +1,5 @@
|
||||
from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('maintenance.views',
|
||||
url(r'^$', 'maintenance_menu', (), 'maintenance_menu'),
|
||||
)
|
||||
29
apps/maintenance/views.py
Normal file
29
apps/maintenance/views.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template import RequestContext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .api import tools
|
||||
|
||||
|
||||
def maintenance_menu(request):
|
||||
user_tools = {}
|
||||
for namespace, values in tools.items():
|
||||
user_tools[namespace] = {
|
||||
'title': values['title']
|
||||
}
|
||||
user_tools[namespace].setdefault('links', [])
|
||||
for link in values['links']:
|
||||
try:
|
||||
permissions = link.permissions
|
||||
Permission.objects.check_permissions(request.user, permissions)
|
||||
user_tools[namespace]['links'].append(link)
|
||||
except PermissionDenied:
|
||||
pass
|
||||
|
||||
return render_to_response('tools.html', {
|
||||
'blocks': user_tools,
|
||||
'title': _(u'maintenance menu')
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
7
apps/statistics/__init__.py
Normal file
7
apps/statistics/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from project_tools.api import register_tool
|
||||
|
||||
from .links import statistics
|
||||
|
||||
register_tool(statistics)
|
||||
11
apps/statistics/links.py
Normal file
11
apps/statistics/links.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from navigation.api import Link
|
||||
|
||||
|
||||
def is_superuser(context):
|
||||
return context['request'].user.is_staff or context['request'].user.is_superuser
|
||||
|
||||
statistics = Link(text=_(u'statistics'), view='statistics', sprite='table', icon='blackboard_sum.png', condition=is_superuser, children_view_regex=[r'statistics'])
|
||||
3
apps/statistics/models.py
Normal file
3
apps/statistics/models.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
5
apps/statistics/urls.py
Normal file
5
apps/statistics/urls.py
Normal file
@@ -0,0 +1,5 @@
|
||||
from django.conf.urls.defaults import patterns, url
|
||||
|
||||
urlpatterns = patterns('statistics.views',
|
||||
url(r'^$', 'statistics', (), 'statistics'),
|
||||
)
|
||||
25
apps/statistics/views.py
Normal file
25
apps/statistics/views.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template import RequestContext
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from documents.statistics import get_statistics as documents_statistics
|
||||
from ocr.statistics import get_statistics as ocr_statistics
|
||||
|
||||
from .api import diagnostics, tools
|
||||
|
||||
|
||||
def statistics(request):
|
||||
if request.user.is_superuser or request.user.is_staff:
|
||||
blocks = []
|
||||
blocks.append(documents_statistics())
|
||||
blocks.append(ocr_statistics())
|
||||
|
||||
return render_to_response('statistics.html', {
|
||||
'blocks': blocks,
|
||||
'title': _(u'Statistics')
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
else:
|
||||
raise PermissionDenied
|
||||
@@ -168,6 +168,8 @@ INSTALLED_APPS = (
|
||||
# Mayan EDMS
|
||||
'main',
|
||||
'installation',
|
||||
'diagnostics',
|
||||
'maintenance',
|
||||
'storage',
|
||||
'folders',
|
||||
'tags',
|
||||
@@ -186,6 +188,7 @@ INSTALLED_APPS = (
|
||||
'checkouts',
|
||||
'rest_api',
|
||||
'bootstrap',
|
||||
'statistics',
|
||||
|
||||
# Has to be last so the other apps can register it's signals
|
||||
'signaler',
|
||||
|
||||
3
urls.py
3
urls.py
@@ -37,6 +37,9 @@ urlpatterns = patterns('',
|
||||
(r'^installation/', include('installation.urls')),
|
||||
(r'^scheduler/', include('scheduler.urls')),
|
||||
(r'^bootstrap/', include('bootstrap.urls')),
|
||||
(r'^diagnostics/', include('diagnostics.urls')),
|
||||
(r'^maintenance/', include('maintenance.urls')),
|
||||
(r'^statistics/', include('statistics.urls')),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user