def post(self, request, *args, **kwargs): shop = request.shop cookie_categories = list( GDPRCookieCategory.objects.filter(shop=shop, always_active=True)) for field, value in request.POST.items(): field_match = re.match(COOKIE_CONSENT_RE, field) if field_match and value.lower() in ["on", "1"]: cookie_category = GDPRCookieCategory.objects.filter( shop=shop, id=field_match.groups()[0]).first() if cookie_category: cookie_categories.append(cookie_category) consent_documents = [] if has_installed("shuup.simple_cms"): from shuup.simple_cms.models import Page, PageType consent_documents = Page.objects.visible(shop).filter( page_type=PageType.GDPR_CONSENT_DOCUMENT) cookie_data = get_cookie_consent_data(cookie_categories, consent_documents) if request.META.get("HTTP_REFERER"): redirect_url = request.META["HTTP_REFERER"] else: redirect_url = reverse("shuup:index") response = HttpResponseRedirect(redirect_url) add_consent_to_response_cookie(response, cookie_data) return response
def post(self, request, *args, **kwargs): shop = request.shop cookie_categories = list(GDPRCookieCategory.objects.filter(shop=shop, always_active=True)) for field, value in request.POST.items(): field_match = re.match(COOKIE_CONSENT_RE, field) if field_match and value.lower() in ["on", "1"]: cookie_category = GDPRCookieCategory.objects.filter(shop=shop, id=field_match.groups()[0]).first() if cookie_category: cookie_categories.append(cookie_category) consent_documents = [] if has_installed("shuup.simple_cms"): consent_documents = get_active_consent_pages(shop) cookie_data = get_cookie_consent_data(cookie_categories, consent_documents) if request.META.get("HTTP_REFERER"): redirect_url = request.META["HTTP_REFERER"] else: redirect_url = force_text(reverse("shuup:index")) response = HttpResponseRedirect(redirect_url) add_consent_to_response_cookie(response, cookie_data) return response