mirror of
https://github.com/Hopiu/django-fobi.git
synced 2026-04-15 10:40:59 +00:00
127 lines
4.1 KiB
Python
127 lines
4.1 KiB
Python
from __future__ import print_function
|
|
|
|
import logging
|
|
|
|
from fobi.base import (
|
|
FormCallback,
|
|
IntegrationFormCallback,
|
|
form_callback_registry,
|
|
integration_form_callback_registry,
|
|
)
|
|
from fobi.constants import (
|
|
CALLBACK_BEFORE_FORM_VALIDATION,
|
|
CALLBACK_FORM_INVALID,
|
|
CALLBACK_FORM_VALID,
|
|
CALLBACK_FORM_VALID_AFTER_FORM_HANDLERS,
|
|
CALLBACK_FORM_VALID_BEFORE_SUBMIT_PLUGIN_FORM_DATA,
|
|
)
|
|
from fobi.contrib.apps.drf_integration import UID as INTEGRATE_WITH
|
|
|
|
# from fobi.contrib.plugins.form_handlers.db_store.callbacks import (
|
|
# AutoFormDbStore
|
|
# )
|
|
# from fobi.contrib.plugins.form_handlers.mail.callbacks import (
|
|
# AutoFormMail
|
|
# )
|
|
|
|
logger = logging.getLogger("fobi")
|
|
|
|
__all__ = (
|
|
"SaveAsFooItem",
|
|
"DummyInvalidCallback",
|
|
)
|
|
|
|
# *************************************************************
|
|
# *************************************************************
|
|
# ********************** Core callbacks ***********************
|
|
# *************************************************************
|
|
# *************************************************************
|
|
|
|
# *************************************************************
|
|
# **************** Save as foo callback ***********************
|
|
# *************************************************************
|
|
|
|
|
|
class SaveAsFooItem(FormCallback):
|
|
"""Save the form as a foo item, if certain conditions are met."""
|
|
|
|
stage = CALLBACK_FORM_VALID
|
|
|
|
def callback(self, form_entry, request, form):
|
|
"""Custom callback login comes here."""
|
|
logger.debug("Great! Your form is valid!")
|
|
|
|
|
|
form_callback_registry.register(SaveAsFooItem)
|
|
|
|
# *************************************************************
|
|
# **************** Save as foo callback ***********************
|
|
# *************************************************************
|
|
|
|
|
|
class DummyInvalidCallback(FormCallback):
|
|
"""Saves the form as a foo item, if certain conditions are met."""
|
|
|
|
stage = CALLBACK_FORM_INVALID
|
|
|
|
def callback(self, form_entry, request, form):
|
|
"""Custom callback login comes here."""
|
|
logger.debug("Damn! You've made a mistake, boy!")
|
|
|
|
|
|
form_callback_registry.register(DummyInvalidCallback)
|
|
|
|
# *************************************************************
|
|
# *************************************************************
|
|
# ****************** DRF integration callbacks ****************
|
|
# *************************************************************
|
|
# *************************************************************
|
|
|
|
|
|
# *************************************************************
|
|
# **************** Save as foo callback ***********************
|
|
# *************************************************************
|
|
|
|
|
|
class DRFSaveAsFooItem(IntegrationFormCallback):
|
|
"""Save the form as a foo item, if certain conditions are met."""
|
|
|
|
stage = CALLBACK_FORM_VALID
|
|
integrate_with = INTEGRATE_WITH
|
|
|
|
def callback(self, form_entry, request, **kwargs):
|
|
"""Custom callback login comes here."""
|
|
logger.debug("Great! Your form is valid!")
|
|
|
|
|
|
integration_form_callback_registry.register(DRFSaveAsFooItem)
|
|
|
|
# *************************************************************
|
|
# **************** Save as foo callback ***********************
|
|
# *************************************************************
|
|
|
|
|
|
class DRFDummyInvalidCallback(IntegrationFormCallback):
|
|
"""Saves the form as a foo item, if certain conditions are met."""
|
|
|
|
stage = CALLBACK_FORM_INVALID
|
|
integrate_with = INTEGRATE_WITH
|
|
|
|
def callback(self, form_entry, request, **kwargs):
|
|
"""Custom callback login comes here."""
|
|
logger.debug("Damn! You've made a mistake, boy!")
|
|
|
|
|
|
integration_form_callback_registry.register(DRFDummyInvalidCallback)
|
|
|
|
# *************************************************************
|
|
# **************** Auto Form DB store callback ****************
|
|
# *************************************************************
|
|
|
|
# form_callback_registry.register(AutoFormDbStore)
|
|
|
|
# *************************************************************
|
|
# ****************** Auto Form Mail callback ******************
|
|
# *************************************************************
|
|
|
|
# form_callback_registry.register(AutoFormMail)
|