django-waffle icon indicating copy to clipboard operation
django-waffle copied to clipboard

Feature request: Add template filters for switch_is_active, flag_is_active, sample_is_active

Open MatthewEthanTam opened this issue 1 year ago • 5 comments

In my usage of Django-waffle, I found that I cannot use the switch template tag within an if statement's condition in Django templates as some blocks of code require both the switch to be active and another context variable to be set.

Please find an example of this case below:

{% switch 'switch'%}
  {% if context_variable %}
    modified message
  {% else %}
    default message
  {% endif %}
{% else %}
  default
{%endswitch%}

Suggestion: I suggest we make template filters for switch_is_active, flag_is_active, and sample_is_active, this will allow the reduction of redundant code in this scenario.

an example of this suggestion is below:

{% if 'switch'|switch_is_active and context_variable%}
  modified message
{% else %}
  default message
{% endif %}

If this is a good suggestion, I can make a PR for it.

MatthewEthanTam avatar Nov 02 '24 13:11 MatthewEthanTam

Would find use for this in my projects using django-waffle

steynvl avatar Nov 04 '24 08:11 steynvl

Hi! I'm just starting with open source and I'd love to give this a try.

ghost avatar Nov 10 '24 14:11 ghost

@clintonb @dancergraham bump

ghost avatar Nov 16 '24 09:11 ghost

Hello, I don't really use templates so I don't have an opinion on this and wouldn't be much help getting started on a PR - I would start by putting a question on the django forum to see whether anyone has a good shorthand for this using existing template features such as https://docs.djangoproject.com/en/5.1/ref/templates/builtins/#with with statements (random idea - don't know whether it is relevant.

dancergraham avatar Nov 16 '24 09:11 dancergraham

Thank you for the suggestion @dancergraham, @whoiskrtk2 I have already forked the repo and have a PR feature branch ready, I am happy to walk the PR through with you 👍🏻

MatthewEthanTam avatar Nov 17 '24 09:11 MatthewEthanTam