def __call__(self, request):
        response = self.get_response(request)

        if not is_cookie_consent_enabled(request):
            return response
        cookie_dic = get_cookie_dict_from_request(request)
        for cookie_group in all_cookie_groups().values():
            if not cookie_group.is_deletable:
                continue
            group_version = cookie_dic.get(cookie_group.varname, None)
            for cookie in cookie_group.cookie_set.all():
                if cookie.name not in request.COOKIES:
                    continue

                if not group_version:
                    if not settings.COOKIE_CONSENT_OPT_OUT:
                        response.delete_cookie(smart_str(cookie.name),
                                               cookie.path, cookie.domain)
                    continue

                if group_version == settings.COOKIE_CONSENT_DECLINE:
                    response.delete_cookie(smart_str(cookie.name), cookie.path,
                                           cookie.domain)
                if group_version < cookie.get_version(
                ) and not settings.COOKIE_CONSENT_OPT_OUT:
                    response.delete_cookie(smart_str(cookie.name), cookie.path,
                                           cookie.domain)
        return response
Пример #2
0
def get_accepted_cookies(request):
    """
    Returns all accepted cookies.
    """
    cookie_dic = get_cookie_dict_from_request(request)
    accepted_cookies = []
    for cookie_group in all_cookie_groups().values():
        version = cookie_dic.get(cookie_group.varname, None)
        if not version or version == settings.COOKIE_CONSENT_DECLINE:
            continue
        for cookie in cookie_group.cookie_set.all():
            if version >= cookie.get_version():
                accepted_cookies.append(cookie)
    return accepted_cookies
Пример #3
0
def get_accepted_cookies(request):
    """
    Returns all accepted cookies.
    """
    cookie_dic = get_cookie_dict_from_request(request)
    accepted_cookies = []
    for cookie_group in all_cookie_groups().values():
        version = cookie_dic.get(cookie_group.varname, None)
        if not version or version == settings.COOKIE_CONSENT_DECLINE:
            continue
        for cookie in cookie_group.cookie_set.all():
            if version >= cookie.get_version():
                accepted_cookies.append(cookie)
    return accepted_cookies
 def process_response(self, request, response):
     if not is_cookie_consent_enabled(request):
         return response
     cookie_dic = get_cookie_dict_from_request(request)
     for cookie_group in all_cookie_groups().values():
         if not cookie_group.is_deletable:
             continue
         group_version = cookie_dic.get(cookie_group.varname, None)
         for cookie in cookie_group.cookie_set.all():
             if cookie.name not in request.COOKIES:
                 continue
             if group_version == settings.COOKIE_CONSENT_DECLINE:
                 response.delete_cookie(smart_str(cookie.name),
                                        cookie.path, cookie.domain)
             if group_version < cookie.get_version():
                 if not settings.COOKIE_CONSENT_OPT_OUT:
                     response.delete_cookie(smart_str(cookie.name),
                                            cookie.path, cookie.domain)
     return response
Пример #5
0
def get_cookie_groups(varname=None):
    if not varname:
        return all_cookie_groups().values()
    keys = varname.split(",")
    return [g for k, g in all_cookie_groups().items() if k in keys]
Пример #6
0
def get_cookie_groups(varname=None):
    if not varname:
        return all_cookie_groups().values()
    keys = varname.split(",")
    return [g for k, g in all_cookie_groups().items() if k in keys]