Esempio n. 1
0
 def context_exists(self, context):
     # Get view from 'layouts' unit test
     response = self.client.get(reverse('layouts:default_boxed'))
     try:
         return response.context[context] is not None
     except KeyError:
         return False
Esempio n. 2
0
def add_active(context, url_pattern, *args, **kwargs):
    """
    Add class ``active`` to sidebar and header navigation links based on comparison of URL pattern with current URL.

    Based on django-adminlte2 templatetags
     https://github.com/adamcharnock/django-adminlte2/tree/master/django_adminlte/templatetags.

        :param context: Current page context
        :type context: django.template.context.RequestContext

        :param url_pattern: URL pattern for ``reverse`` matching or raw URL string
        :type url_pattern: str

        :param exact_match: Toggle for exact matching, defaults to False
        :type exact_match: bool, optional

        :param not_when: Comma-separated values of string patterns
            that will render comparison as False, defaults to ''
        :type not_when: str, optional

        :param args: Positional arguments for ``reverse`` matching
        :type args: tuple

        :params kwargs: Keyword arguments for ``reverse`` matching
        :type kwargs: dict

        :return: 'active' if comparison is True, else ''
        :rtype: str
    """
    exact_match = kwargs.pop('exact_match', False)
    not_when = kwargs.pop('not_when', '').split(',')
    not_when = [nw.strip() for nw in not_when if nw.strip()]

    try:
        path = reverse(url_pattern, args=args, kwargs=kwargs)
    except NoReverseMatch:
        path = url_pattern

    class_attribute = ''
    current_path = context.request.path

    if not_when and any(nw in current_path for nw in not_when):
        pass
    elif not exact_match and current_path.startswith(path) or exact_match and current_path == path:
        class_attribute = ' active '

    return class_attribute
Esempio n. 3
0
 def get_response_invalid_adjacent_pages(self):
     return self.client.get(reverse(
         self.URL_PATTERN_INVALID_ADJACENT_PAGES))
Esempio n. 4
0
 def get_response_child(self):
     return self.client.get(reverse(self.URL_PATTERN_CHILD))
Esempio n. 5
0
 def get_response_override_page_name(self):
     return self.client.get(reverse(self.URL_PATTERN_OVERRIDE))
Esempio n. 6
0
 def get_response_invalid_rating(self):
     return self.client.get(reverse(self.URL_PATTERN_INVALID_RATING))
Esempio n. 7
0
 def get_response_invalid_default(self):
     return self.client.get(reverse(self.URL_PATTERN_INVALID_DEFAULT))
Esempio n. 8
0
 def get_response_with_auth(self):
     self.client.login(username=self.USER_USERNAME,
                       password=self.USER_PASSWORD)
     return self.client.get(reverse(self.URL_PATTERN_INDEX))
Esempio n. 9
0
 def test_default_fixed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:default_fixed')),
         const.LAYOUT_DEFAULT_FIXED)
Esempio n. 10
0
 def test_default_collapsed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:default_collapsed')),
         const.LAYOUT_DEFAULT_COLLAPSED)
Esempio n. 11
0
 def test_no_footer_top_nav(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:no_footer_top_nav')),
         const.LAYOUT_NO_FOOTER_TOP_NAV)
Esempio n. 12
0
 def test_no_footer_fixed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:no_footer_fixed')),
         const.LAYOUT_NO_FOOTER_FIXED)
Esempio n. 13
0
 def test_no_content_header_top_nav(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:no_content_header_top_nav')),
         const.LAYOUT_NO_CONTENT_HEADER_TOP_NAV)
Esempio n. 14
0
 def test_no_content_header_fixed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:no_content_header_fixed')),
         const.LAYOUT_NO_CONTENT_HEADER_FIXED)
Esempio n. 15
0
 def get_response_invalid_align(self):
     return self.client.get(reverse(self.URL_PATTERN_INVALID_ALIGN))
Esempio n. 16
0
 def test_no_breadcrumbs_top_nav(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:no_breadcrumbs_top_nav')),
         const.LAYOUT_NO_BREADCRUMBS_TOP_NAV)
Esempio n. 17
0
 def test_no_breadcrumbs_footer_collapsed(self):
     self.assertTemplateUsed(
         self.client.get(
             reverse('layouts:no_breadcrumbs_footer_collapsed')),
         const.LAYOUT_NO_BREADCRUMBS_FOOTER_COLLAPSED)
Esempio n. 18
0
 def test_default_login(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:default_login')),
         const.LAYOUT_DEFAULT_LOGIN)
Esempio n. 19
0
 def get_response_without_auth(self):
     return self.client.get(reverse(self.URL_PATTERN_INDEX))
Esempio n. 20
0
 def test_default_register(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:default_register')),
         const.LAYOUT_DEFAULT_REGISTER)
Esempio n. 21
0
 def get_response_invalid_size_min(self):
     return self.client.get(reverse(self.URL_PATTERN_INVALID_SIZE_MIN))
Esempio n. 22
0
 def test_default_top_nav(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:default_top_nav')),
         const.LAYOUT_DEFAULT_TOP_NAV)
Esempio n. 23
0
 def get_response_list(self, page):
     return self.client.get(
         reverse(self.URL_PATTERN_LIST) + '?page=' + str(page))
Esempio n. 24
0
 def test_barebones_collapsed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:barebones_collapsed')),
         const.LAYOUT_BAREBONES_COLLAPSED)
Esempio n. 25
0
 def test_barebones_fixed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:barebones_fixed')),
         const.LAYOUT_BAREBONES_FIXED)
Esempio n. 26
0
 def test_barebones_top_nav(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:barebones_top_nav')),
         const.LAYOUT_BAREBONES_TOP_NAV)
Esempio n. 27
0
 def get_response_pk(self, pk):
     return self.client.get(reverse(self.URL_PATTERN_PK, args=(pk,)))
Esempio n. 28
0
 def test_no_breadcrumbs_fixed(self):
     self.assertTemplateUsed(
         self.client.get(reverse('layouts:no_breadcrumbs_fixed')),
         const.LAYOUT_NO_BREADCRUMBS_FIXED)
Esempio n. 29
0
 def get_response_index(self):
     return self.client.get(reverse(self.URL_PATTERN_INDEX))
Esempio n. 30
0
 def get_response_page(self, page):
     return self.client.get(
         reverse(self.URL_PATTERN_INDEX) + '?page=' + str(page))