Skip to content

confirmation_forms

django_spire.contrib.form.confirmation_forms

ConfirmationForm

Bases: Form

DeleteConfirmationForm

Bases: ConfirmationForm

Source code in django_spire/contrib/form/confirmation_forms.py
def __init__(self, *args, obj = None, **kwargs):
    if obj is None:
        message = 'Passing an object to DeleteConfirmationForm is required.'
        raise ValueError(message)

    self.obj = obj

    super().__init__(*args, **kwargs)

should_delete = forms.BooleanField(required=False) class-attribute instance-attribute

obj = obj instance-attribute

save

Source code in django_spire/contrib/form/confirmation_forms.py
def save(
    self,
    user: User,
    verbs: tuple,
    delete_func: Callable | None = None,
    activity_func: Callable | None = None,
    auto_add_activity: bool = True
) -> None:
    if delete_func is not None:
        delete_func()
    else:
        self.obj.set_deleted()

    if activity_func is not None:
        activity_func()
    elif hasattr(self.obj, 'add_activity') and auto_add_activity:
        self.obj.add_activity(
            user=user,
            verb=verbs[1],
            information=f'{user.get_full_name()} {verbs[1].lower()} {self.obj._meta.verbose_name} "{self.obj}".'
        )