Exemple #1
0
    def test_create_render_bool_template_tag_loads_template(self, mock_loader):
        mock_loader.get_template.return_value = DjangoTemplate(
            Template("Hello: {{ str }}"), mock_loader)

        func = flag_utils.create_render_bool_template_tag(
            {
                1: {
                    "str": "person"
                },
                2: {
                    "str": "animal"
                }
            }, "test.html")
        self.assertEqual(func(1), "Hello: person")
        self.assertEqual(func(2), "Hello: animal")

        # check that loader was called with our "custom" template
        self.assertEqual(mock_loader.get_template.call_count, 1)
        self.assertEqual(mock_loader.get_template.call_args,
                         [('test.html', ), {}])

        # check default template name
        func = flag_utils.create_render_bool_template_tag({
            1: {
                "str": "person"
            },
            2: {
                "str": "animal"
            }
        })
        self.assertEqual(mock_loader.get_template.call_count, 2)
        self.assertEqual(mock_loader.get_template.call_args,
                         [('inboxen/flags/bool.html', ), {}])
Exemple #2
0
    def test_create_render_bool_template_tag_loads_template(self, mock_loader):
        mock_loader.get_template.return_value = DjangoTemplate(Template("Hello: {{ str }}"), mock_loader)

        func = flag_utils.create_render_bool_template_tag({1: {"str": "person"}, 2: {"str": "animal"}}, "test.html")
        self.assertEqual(func(1), "Hello: person")
        self.assertEqual(func(2), "Hello: animal")

        # check that loader was called with our "custom" template
        self.assertEqual(mock_loader.get_template.call_count, 1)
        self.assertEqual(mock_loader.get_template.call_args, [('test.html',), {}])

        # check default template name
        func = flag_utils.create_render_bool_template_tag({1: {"str": "person"}, 2: {"str": "animal"}})
        self.assertEqual(mock_loader.get_template.call_count, 2)
        self.assertEqual(mock_loader.get_template.call_args, [('inboxen/flags/bool.html',), {}])
Exemple #3
0
 def test_create_render_bool_template_tag_invalid_value(self):
     func = flag_utils.create_render_bool_template_tag({})
     self.assertEqual(func("some value"), " ")
    False: {
        "title": ugettext_lazy("Domain disabled"),
        "str": ugettext_lazy("Disabled"),
        "class": "label-default",
    },
}

REQUEST_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Granted request"),
        "str": ugettext_lazy("Granted"),
        "class": "label-primary",
    },
    False: {
        "title": ugettext_lazy("Rejected request"),
        "str": ugettext_lazy("Rejected"),
        "class": "label-default",
    },
    None: {
        "title": ugettext_lazy("Request pending"),
        "str": ugettext_lazy("Pending"),
        "class": "label-danger",
    },
}

render_domain = create_render_bool_template_tag(DOMAIN_TO_TAGS)
register.filter("render_domain", render_domain)

render_request = create_render_bool_template_tag(REQUEST_TO_TAGS)
register.filter("render_request", render_request)
Exemple #5
0
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with Inboxen.  If not, see <http://www.gnu.org/licenses/>.
##
from __future__ import unicode_literals

from django import template
from django.utils.translation import ugettext_lazy

from inboxen.utils.flags import create_render_bool_template_tag

register = template.Library()

DRAFT_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Draft post"),
        "str": ugettext_lazy("Draft"),
        "class": "label-primary",
    },
    False: {
        "title": ugettext_lazy("Live post"),
        "str": ugettext_lazy("Live"),
        "class": "label-default",
    },
}

render_draft = create_render_bool_template_tag(DRAFT_TO_TAGS)
register.filter("render_draft", render_draft)
Exemple #6
0
 def test_create_render_bool_template_tag_invalid_value(self):
     func = flag_utils.create_render_bool_template_tag({})
     self.assertEqual(func("some value"), "&nbsp;")
Exemple #7
0
        "class": "label-primary",
    },
    False: {
        "title": ugettext_lazy("Draft post"),
        "str": ugettext_lazy("Draft"),
        "class": "label-default",
    },
}

IN_MENU_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Page will appear in menu"),
        "str": ugettext_lazy("In menu"),
        "class": "label-primary",
    },
}


@register.simple_tag(takes_context=True)
def app_url(context, viewname, *args, **kwargs):
    request = context['request']

    return app_reverse(request.page, viewname, args, kwargs)


render_live = create_render_bool_template_tag(LIVE_TO_TAGS)
register.filter("render_live", render_live)

render_in_menu = create_render_bool_template_tag(IN_MENU_TO_TAGS)
register.filter("render_in_menu", render_in_menu)
Exemple #8
0
STATUS = {k: v for k, v in Question.STATUS_CHOICES}


STATUS_TO_TAGS = {
    Question.NEW: {
        "title": ugettext_lazy("New question"),
        "str": STATUS[Question.NEW],
        "class": "label-primary",
    },
    Question.IN_PROGRESS: {
        "title": ugettext_lazy("In progress"),
        "str": STATUS[Question.IN_PROGRESS],
        "class": "label-info",
    },
    Question.NEED_INFO: {
        "title": ugettext_lazy("Need more info from user"),
        "str": STATUS[Question.NEED_INFO],
        "class": "label-warning",
    },
    Question.RESOLVED: {
        "title": ugettext_lazy("Resolved question"),
        "str": STATUS[Question.RESOLVED],
        "class": "label-default",
    },
}


render_status = create_render_bool_template_tag(STATUS_TO_TAGS)
register.filter("render_status", render_status)
Exemple #9
0
#    You should have received a copy of the GNU Affero General Public License
#    along with Inboxen.  If not, see <http://www.gnu.org/licenses/>.
##
from __future__ import unicode_literals

from django import template
from django.utils.translation import ugettext_lazy

from inboxen.utils.flags import create_render_bool_template_tag


register = template.Library()


DOMAIN_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Domain enabled"),
        "str": ugettext_lazy("Enabled"),
        "class": "label-primary",
    },
    False: {
        "title": ugettext_lazy("Domain disabled"),
        "str": ugettext_lazy("Disabled"),
        "class": "label-default",
    },
}


render_domain = create_render_bool_template_tag(DOMAIN_TO_TAGS)
register.filter("render_domain", render_domain)
Exemple #10
0
    },
    False: {
        "title": ugettext_lazy("Draft post"),
        "str": ugettext_lazy("Draft"),
        "class": "label-default",
    },
}

IN_MENU_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Page will appear in menu"),
        "str": ugettext_lazy("In menu"),
        "class": "label-primary",
    },
}


@register.simple_tag(takes_context=True)
def app_url(context, viewname, *args, **kwargs):
    request = context['request']

    return app_reverse(request.page, viewname, args, kwargs)


render_live = create_render_bool_template_tag(LIVE_TO_TAGS)
register.filter("render_live", render_live)


render_in_menu = create_render_bool_template_tag(IN_MENU_TO_TAGS)
register.filter("render_in_menu", render_in_menu)
Exemple #11
0
#
#    You should have received a copy of the GNU Affero General Public License
#    along with Inboxen.  If not, see <http://www.gnu.org/licenses/>.
##

from django import template
from django.utils.translation import ugettext_lazy

from inboxen.utils.flags import create_render_bool_template_tag


register = template.Library()


DRAFT_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Draft post"),
        "str": ugettext_lazy("Draft"),
        "class": "label-primary",
    },
    False: {
        "title": ugettext_lazy("Live post"),
        "str": ugettext_lazy("Live"),
        "class": "label-default",
    },
}


render_draft = create_render_bool_template_tag(DRAFT_TO_TAGS)
register.filter("render_draft", render_draft)
Exemple #12
0
STATUS = {k: v for k, v in Question.STATUS_CHOICES}


STATUS_TO_TAGS = {
    Question.NEW: {
        "title": ugettext_lazy("New question"),
        "str": STATUS[Question.NEW],
        "class": "label-primary",
    },
    Question.IN_PROGRESS: {
        "title": ugettext_lazy("In progress"),
        "str": STATUS[Question.IN_PROGRESS],
        "class": "label-info",
    },
    Question.NEED_INFO: {
        "title": ugettext_lazy("Need more info from user"),
        "str": STATUS[Question.NEED_INFO],
        "class": "label-warning",
    },
    Question.RESOLVED: {
        "title": ugettext_lazy("Resolved question"),
        "str": STATUS[Question.RESOLVED],
        "class": "label-default",
    },
}


render_status = create_render_bool_template_tag(STATUS_TO_TAGS)
register.filter("render_status", render_status)
Exemple #13
0
#
#    You should have received a copy of the GNU Affero General Public License
#    along with Inboxen.  If not, see <http://www.gnu.org/licenses/>.
##

from django import template
from django.utils.translation import ugettext_lazy

from inboxen.utils.flags import create_render_bool_template_tag


register = template.Library()


DOMAIN_TO_TAGS = {
    True: {
        "title": ugettext_lazy("Domain enabled"),
        "str": ugettext_lazy("Enabled"),
        "class": "label-primary",
    },
    False: {
        "title": ugettext_lazy("Domain disabled"),
        "str": ugettext_lazy("Disabled"),
        "class": "label-default",
    },
}


render_domain = create_render_bool_template_tag(DOMAIN_TO_TAGS)
register.filter("render_domain", render_domain)