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', ), {}])
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',), {}])
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)
# 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)
def test_create_render_bool_template_tag_invalid_value(self): func = flag_utils.create_render_bool_template_tag({}) self.assertEqual(func("some value"), " ")
"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)
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)
# 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)
}, 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)
# # 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)
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)
# # 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)