Esempio n. 1
0
 def get_fields(self, **kwargs):
     field = forms.BooleanField(
         label=_(self.label),
         error_messages=dict(required=_(self.error_msg))
     )
     definition = FormFieldDefinition(name=self.key, field=field)
     return [definition]
Esempio n. 2
0
    def get_fields(self, **kwargs):
        request = kwargs.get("request", None)
        gdpr_settings = get_gdpr_settings(request)
        if not gdpr_settings:
            return []

        user_consent = None
        if request.user.is_authenticated():
            user_consent = GDPRUserConsent.get_for_user(
                request.user, request.shop)

        fields = []
        for page in get_active_consent_pages(request.shop):
            # user already has consented to this page, ignore it
            if user_consent and not user_consent.should_reconsent_to_page(
                    page):
                continue

            key = "accept_{}".format(page.id)
            field = forms.BooleanField(label=mark_safe(
                ugettext(
                    "I have read and accept the <a href='{}' target='_blank' class='gdpr_consent_doc_check'>{}</a>"
                ).format(reverse("shuup:cms_page", kwargs=dict(url=page.url)),
                         page.title)),
                                       required=True,
                                       error_messages=dict(
                                           required=self.error_message))
            definition = FormFieldDefinition(name=key, field=field)
            fields.append(definition)
        return fields
Esempio n. 3
0
    def get_fields(self, **kwargs):
        request = kwargs.get("request", None)

        if not has_installed("shuup.gdpr") or not request:
            return []

        gdpr_settings = GDPRSettings.get_for_shop(request.shop)
        if not gdpr_settings.enabled:
            return []

        fields = []
        for page in get_active_consent_pages(request.shop):
            key = "accept_{}".format(page.id)
            field = forms.BooleanField(
                label=_("I have read and accept the {}").format(page.title),
                required=True,
                help_text=_("Read the <a href='{}' target='_blank'>{}</a>.").format(
                    reverse("shuup:cms_page", kwargs=dict(url=page.url)),
                    page.title
                ),
                error_messages=dict(required=self.error_message)
            )
            definition = FormFieldDefinition(name=key, field=field)
            fields.append(definition)
        return fields
Esempio n. 4
0
 def get_fields(self, **kwargs):
     fields = []
     field = forms.BooleanField(
         label=ugettext("I want to receive marketing material"),
         required=False,
         error_messages=dict(required=self.error_message))
     definition = FormFieldDefinition(name="accept_mailchimp", field=field)
     fields.append(definition)
     return fields
Esempio n. 5
0
    def get_fields(self, **kwargs):
        request = kwargs.get("request", None)
        gdpr_settings = get_gdpr_settings(request)
        if not gdpr_settings:
            return []

        if gdpr_settings.skip_consent_on_auth:
            auth_consent_text = gdpr_settings.safe_translation_getter("auth_consent_text")
            return [
                FormFieldDefinition(
                    name="auth_consent_text",
                    field=forms.CharField(
                        label="", initial="", required=False, widget=TextOnlyWidget(attrs={"value": auth_consent_text})
                    ),
                )
            ]
        else:
            return super(GDPRAuthFieldProvider, self).get_fields(**kwargs)
Esempio n. 6
0
    def get_fields(self, **kwargs):
        request = kwargs.get("request", None)
        gdpr_settings = get_gdpr_settings(request)
        if not gdpr_settings:
            return []

        fields = []
        for page in get_active_consent_pages(request.shop):
            key = "accept_{}".format(page.id)
            field = forms.BooleanField(label=mark_safe(
                ugettext(
                    "I have read and accept the <a href='{}' target='_blank' class='gdpr_consent_doc_check'>{}</a>"
                ).format(reverse("shuup:cms_page", kwargs=dict(url=page.url)),
                         page.title)),
                                       required=True,
                                       error_messages=dict(
                                           required=self.error_message))
            definition = FormFieldDefinition(name=key, field=field)
            fields.append(definition)
        return fields