diff --git a/apps/common/forms.py b/apps/common/forms.py index b05465eb6d..76b0c30d27 100644 --- a/apps/common/forms.py +++ b/apps/common/forms.py @@ -6,18 +6,7 @@ from django.conf import settings from django.template.defaultfilters import capfirst from common.utils import return_attrib - - -class MultiItemForm(forms.Form): - def __init__(self, *args, **kwargs): - actions = kwargs.pop('actions', []) - super(MultiItemForm, self).__init__(*args, **kwargs) - choices = [('', '------')] - choices.extend([(action[0], capfirst(action[1])) for action in actions]) - self.fields['action'].choices = choices - - action = forms.ChoiceField(label=_(u'Multi item action')) - + class DetailSelectMultiple(forms.widgets.SelectMultiple): def __init__(self, queryset=None, *args, **kwargs): diff --git a/apps/common/templates/generic_list.html b/apps/common/templates/generic_list.html index 4ea2143b03..8f0c35f702 100644 --- a/apps/common/templates/generic_list.html +++ b/apps/common/templates/generic_list.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load i18n %} -{% load navigation %} +{% load navigation_tags %} {% block title %} :: {% blocktrans %}List of {{ title }}{% endblocktrans %}{% endblock %} {#{% block secondary_links %}{{ secondary_links|safe }}{% endblock %}#} diff --git a/apps/common/templates/generic_list_subtemplate.html b/apps/common/templates/generic_list_subtemplate.html index 9eaf5303ed..64fadee451 100644 --- a/apps/common/templates/generic_list_subtemplate.html +++ b/apps/common/templates/generic_list_subtemplate.html @@ -1,7 +1,7 @@ {% load i18n %} {% load attribute_tags %} {% load pagination_tags %} -{% load navigation %} +{% load navigation_tags %} {% load non_breakable %} {% if side_bar %} diff --git a/apps/common/templatetags/attribute_tags.py b/apps/common/templatetags/attribute_tags.py index cea6f1a49c..0b7df5eb17 100644 --- a/apps/common/templatetags/attribute_tags.py +++ b/apps/common/templatetags/attribute_tags.py @@ -3,7 +3,7 @@ from django.template.defaultfilters import stringfilter from django.template import Library, Node, Variable, VariableDoesNotExist from common.utils import return_attrib -from common.api import model_list_columns +from navigation.api import model_list_columns register = Library() diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index 8456c477e5..2cf939ed29 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -3,7 +3,7 @@ import tempfile from django.utils.translation import ugettext_lazy as _ from django.core.urlresolvers import reverse -from common.api import register_links, register_menu, \ +from navigation.api import register_links, register_menu, \ register_model_list_columns, register_multi_item_links from common.utils import pretty_size from common.conf import settings as common_settings diff --git a/apps/main/__init__.py b/apps/main/__init__.py index 81a2dc928e..34b64f63aa 100644 --- a/apps/main/__init__.py +++ b/apps/main/__init__.py @@ -1,6 +1,6 @@ from django.utils.translation import ugettext_lazy as _ -from common.api import register_menu +from navigation.api import register_menu #from permissions import role_list #TODO: Disabled until issue #4 is fixed diff --git a/apps/main/templates/base.html b/apps/main/templates/base.html index 42dee395b9..91212b5e7b 100644 --- a/apps/main/templates/base.html +++ b/apps/main/templates/base.html @@ -1,7 +1,7 @@ {% extends "web_theme_base.html" %} {% load i18n %} {% load project_tags %} -{% load navigation %} +{% load navigation_tags %} {% load settings %} {% load search_tags %} {% load main_settings_tags %} diff --git a/apps/navigation/__init__.py b/apps/navigation/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/common/api.py b/apps/navigation/api.py similarity index 100% rename from apps/common/api.py rename to apps/navigation/api.py diff --git a/apps/navigation/forms.py b/apps/navigation/forms.py new file mode 100644 index 0000000000..f7441b7bcc --- /dev/null +++ b/apps/navigation/forms.py @@ -0,0 +1,13 @@ +from django import forms +from django.utils.translation import ugettext as _ + + +class MultiItemForm(forms.Form): + def __init__(self, *args, **kwargs): + actions = kwargs.pop('actions', []) + super(MultiItemForm, self).__init__(*args, **kwargs) + choices = [('', '------')] + choices.extend([(action[0], capfirst(action[1])) for action in actions]) + self.fields['action'].choices = choices + + action = forms.ChoiceField(label=_(u'Multi item action')) diff --git a/apps/navigation/models.py b/apps/navigation/models.py new file mode 100644 index 0000000000..71a8362390 --- /dev/null +++ b/apps/navigation/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/apps/common/templates/generic_navigation.html b/apps/navigation/templates/generic_navigation.html similarity index 100% rename from apps/common/templates/generic_navigation.html rename to apps/navigation/templates/generic_navigation.html diff --git a/apps/navigation/templatetags/__init__.py b/apps/navigation/templatetags/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/common/templatetags/navigation.py b/apps/navigation/templatetags/navigation_tags.py similarity index 98% rename from apps/common/templatetags/navigation.py rename to apps/navigation/templatetags/navigation_tags.py index 21abd348e6..71d1cfba55 100644 --- a/apps/common/templatetags/navigation.py +++ b/apps/navigation/templatetags/navigation_tags.py @@ -10,9 +10,9 @@ from django.template import TemplateSyntaxError, Library, \ from django.utils.text import unescape_string_literal from django.utils.translation import ugettext as _ -from common.api import object_navigation, multi_object_navigation, \ +from navigation.api import object_navigation, multi_object_navigation, \ menu_links as menu_navigation -from common.forms import MultiItemForm +from navigation.forms import MultiItemForm register = Library() diff --git a/apps/navigation/tests.py b/apps/navigation/tests.py new file mode 100644 index 0000000000..2247054b35 --- /dev/null +++ b/apps/navigation/tests.py @@ -0,0 +1,23 @@ +""" +This file demonstrates two different styles of tests (one doctest and one +unittest). These will both pass when you run "manage.py test". + +Replace these with more appropriate tests for your application. +""" + +from django.test import TestCase + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.failUnlessEqual(1 + 1, 2) + +__test__ = {"doctest": """ +Another way to test that 1 + 1 is equal to 2. + +>>> 1 + 1 == 2 +True +"""} + diff --git a/apps/navigation/views.py b/apps/navigation/views.py new file mode 100644 index 0000000000..60f00ef0ef --- /dev/null +++ b/apps/navigation/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/apps/ocr/__init__.py b/apps/ocr/__init__.py index 14670d8424..5f22710a51 100644 --- a/apps/ocr/__init__.py +++ b/apps/ocr/__init__.py @@ -4,7 +4,7 @@ from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext from django.db.utils import DatabaseError -from common.api import register_links, register_menu, register_multi_item_links +from navigation.api import register_links, register_menu, register_multi_item_links from permissions.api import register_permissions from documents.models import Document diff --git a/apps/permissions/__init__.py b/apps/permissions/__init__.py index 0f9503c1ef..ccd9f70768 100644 --- a/apps/permissions/__init__.py +++ b/apps/permissions/__init__.py @@ -3,7 +3,7 @@ from django.db.models.signals import post_save from django.core.exceptions import ObjectDoesNotExist from django.utils.translation import ugettext_lazy as _ -from common.api import register_links, register_menu, \ +from navigation.api import register_links, register_menu, \ register_model_list_columns from permissions.conf.settings import DEFAULT_ROLES diff --git a/apps/web_theme/templatetags/theme_tags.py b/apps/web_theme/templatetags/theme_tags.py index 4661008f31..a9f4b3c23f 100644 --- a/apps/web_theme/templatetags/theme_tags.py +++ b/apps/web_theme/templatetags/theme_tags.py @@ -7,7 +7,6 @@ from django.template import TemplateSyntaxError, Library, \ VariableDoesNotExist, Node, Variable from django.utils.text import unescape_string_literal -#from common.api import object_navigation from web_theme.conf import settings as web_theme_settings register = Library() diff --git a/settings.py b/settings.py index 1a3b99dc9d..ef65b98fde 100644 --- a/settings.py +++ b/settings.py @@ -119,6 +119,7 @@ INSTALLED_APPS = ( 'django.contrib.messages', 'django.contrib.admin', 'django.contrib.admindocs', + 'navigation', 'web_theme', 'main', 'common', @@ -136,7 +137,7 @@ INSTALLED_APPS = ( 'sentry.client', 'sentry.client.celery', 'filesystem_serving', - 'storage', + 'storage', ) TEMPLATE_CONTEXT_PROCESSORS = (