def enable(self, value=None):
        if value is None:
            value = {'active': True}

        ProjectOption.objects.set_value(
            project=self.project,
            key='filters:{}'.format(self.id),
            value='1' if value.get('active', False) else '0',
        )

        if value:
            inbound_filter_toggled.send(project=self.project, sender=self)
Exemplo n.º 2
0
    def enable(self, value=None):
        if value is None:
            value = {'active': True}

        ProjectOption.objects.set_value(
            project=self.project,
            key=u'filters:{}'.format(self.id),
            value='1' if value.get('active', False) else '0',
        )

        if value:
            inbound_filter_toggled.send(project=self.project, sender=self)
Exemplo n.º 3
0
def set_filter_state(filter_id, project, state):
    flt = _filter_from_filter_id(filter_id)
    if flt is None:
        raise FilterNotRegistered(filter_id)

    if flt == _legacy_browsers_filter:
        if state is None:
            state = {}

        option_val = '0'
        if 'active' in state:
            if state['active']:
                option_val = '1'
        elif 'subfilters' in state and len(state['subfilters']) > 0:
            option_val = set(state['subfilters'])

        ProjectOption.objects.set_value(
            project=project,
            key=u'filters:{}'.format(filter_id),
            value=option_val,
        )

        return option_val

    else:
        # all boolean filters
        if state is None:
            state = {'active': True}

        ProjectOption.objects.set_value(
            project=project,
            key=u'filters:{}'.format(filter_id),
            value='1' if state.get('active', False) else '0',
        )

        if state:
            inbound_filter_toggled.send(project=project, sender=flt)

        return state.get('active', False)
Exemplo n.º 4
0
def set_filter_state(filter_id, project, state):
    flt = _filter_from_filter_id(filter_id)
    if flt is None:
        raise FilterNotRegistered(filter_id)

    if flt == _legacy_browsers_filter:
        if state is None:
            state = {}

        option_val = "0"
        if "active" in state:
            if state["active"]:
                option_val = "1"
        elif "subfilters" in state and len(state["subfilters"]) > 0:
            option_val = set(state["subfilters"])

        ProjectOption.objects.set_value(project=project,
                                        key=u"filters:{}".format(filter_id),
                                        value=option_val)

        return option_val

    else:
        # all boolean filters
        if state is None:
            state = {"active": True}

        ProjectOption.objects.set_value(
            project=project,
            key=u"filters:{}".format(filter_id),
            value="1" if state.get("active", False) else "0",
        )

        if state:
            inbound_filter_toggled.send(project=project, sender=flt)

        return state.get("active", False)
Exemplo n.º 5
0
 def test_inbound_filters(self):
     inbound_filter_toggled.send(project=self.project,
                                 sender=type(self.project))
     feature_complete = FeatureAdoption.objects.get_by_slug(
         organization=self.organization, slug="inbound_filters")
     assert feature_complete
Exemplo n.º 6
0
 def test_inbound_filters(self):
     inbound_filter_toggled.send(project=self.project, sender=type(self.project))
     feature_complete = FeatureAdoption.objects.get_by_slug(
         organization=self.organization, slug="inbound_filters"
     )
     assert feature_complete