예제 #1
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        active_terms = TermsAndConditions.get_active_terms_list()

        if not self.request.user.is_anonymous:
            context['agreed_terms'] = TermsAndConditions.objects.filter(
                userterms__date_accepted__isnull=False,
                userterms__user=self.request.user).order_by('date_created')

            context['not_agreed_terms'] = active_terms.filter(
                Q(userterms=None) | \
                (Q(userterms__date_accepted__isnull=True) & Q(userterms__user=self.request.user)))\
                .order_by('date_created')
        else:
            context['active_terms'] = active_terms.order_by('date_created')

        context['extra_tabs'] = [{
            'login_required': False,
            'icon': 'file-contract',
            'title': "Terms and Conditions",
            'active': True,
        }]
        context['connect_fixed_tabs_with_extra_tabs'] = False

        return context
예제 #2
0
def tethys_global_settings_context(request):
    """
    Add the current Tethys app metadata to the template context.
    """
    from .models import Setting
    from termsandconditions.models import TermsAndConditions

    # Get settings
    site_globals = Setting.as_dict()

    # Get terms and conditions

    # Grrr!!! TermsAndConditions has a different interface for Python 2 and 3
    try:
        # for Python 3
        site_globals.update(
            {'documents': TermsAndConditions.get_active_terms_list()})
    except AttributeError:
        # for Python 3
        site_globals.update(
            {'documents': TermsAndConditions.get_active_list(as_dict=False)})

    context = {'site_globals': site_globals}

    return context
예제 #3
0
 def handle(self, *args, **options):
     active_terms = TermsAndConditions.get_active_terms_list()
     for term in active_terms:
         old_accepts = UserTermsAndConditions.objects.filter(
             terms__slug=term.slug).exclude(terms__pk=term.pk)
         logger.debug(
             f"About to delete these old terms accepts: {old_accepts}")
         old_accepts.delete()
예제 #4
0
    def __init__(self, *args, **kwargs):
        kwargs.pop('instance', None)

        terms_list = kwargs.get('initial', {}).get('terms', None)

        if terms_list is None:  # pragma: nocover
            terms_list = TermsAndConditions.get_active_terms_list()

        self.terms = forms.ModelMultipleChoiceField(
            terms_list, widget=forms.MultipleHiddenInput)

        super(UserTermsAndConditionsModelForm, self).__init__(*args, **kwargs)
예제 #5
0
    def __init__(self, *args, **kwargs):
        kwargs.pop("instance", None)

        terms_list = kwargs.get("initial", {}).get("terms", None)

        if terms_list is None:  # pragma: nocover
            terms_list = TermsAndConditions.get_active_terms_list()

        if terms_list is QuerySet:
            self.terms = forms.ModelMultipleChoiceField(
                terms_list, widget=forms.MultipleHiddenInput)
        else:
            self.terms = terms_list

        super().__init__(*args, **kwargs)
예제 #6
0
def tethys_global_settings_context(request):
    """
    Add the current Tethys app metadata to the template context.
    """
    from .models import Setting
    from termsandconditions.models import TermsAndConditions

    # Get settings
    site_globals = Setting.as_dict()

    # Get terms and conditions
    site_globals.update({'documents': TermsAndConditions.get_active_terms_list()})

    context = {'site_globals': site_globals}

    return context
예제 #7
0
    def __init__(self, *args, **kwargs):
        kwargs.pop('instance', None)

        terms_list = kwargs.get('initial', {}).get('terms', None)

        if terms_list is None:  # pragma: nocover
            terms_list = TermsAndConditions.get_active_terms_list()

        if terms_list is QuerySet:
            self.terms = forms.ModelMultipleChoiceField(
                terms_list,
                widget=forms.MultipleHiddenInput
            )
        else:
            self.terms = terms_list

        super(UserTermsAndConditionsModelForm, self).__init__(*args, **kwargs)
예제 #8
0
def tethys_global_settings_context(request):
    """
    Add the current Tethys app metadata to the template context.
    """
    from .models import Setting
    from termsandconditions.models import TermsAndConditions

    # Get settings
    site_globals = Setting.as_dict()

    # Get terms and conditions
    site_globals.update(
        {'documents': TermsAndConditions.get_active_terms_list()})

    context = {'site_globals': site_globals}

    return context