Ejemplo n.º 1
0
from corehq.apps.callcenter.utils import sync_user_cases, bootstrap_callcenter
from corehq.apps.domain.signals import commcare_domain_post_save
from corehq.apps.users.signals import commcare_user_post_save


def sync_user_cases_signal(sender, **kwargs):
    return sync_user_cases(kwargs["couch_user"])

commcare_user_post_save.connect(sync_user_cases_signal)


def bootstrap_callcenter_domain_signal(sender, **kwargs):
    return bootstrap_callcenter(kwargs['domain'])


commcare_domain_post_save.connect(bootstrap_callcenter_domain_signal)
Ejemplo n.º 2
0
    if requisition_cases and requisition_cases[0].requisition_status == RequisitionStatus.RECEIVED:
        requisition_receipt.send(sender=None, requisitions=requisition_cases)

    if requisition_cases and requisition_cases[0].requisition_status == RequisitionStatus.REQUESTED:
        requisition_modified.send(sender=None, cases=requisition_cases)


def raise_supply_point_events(xform, cases):
    supply_points = [SupplyPointCase.wrap(c._doc) for c in cases if c.type == const.SUPPLY_POINT_CASE_TYPE]
    case_updates = get_case_updates(xform)
    for sp in supply_points:
        created = any(filter(lambda update: update.id == sp._id and update.creates_case(), case_updates))
        supply_point_modified.send(sender=None, supply_point=sp, created=created)


def supply_point_processing(sender, xform, cases, **kwargs):
    if is_supply_point_form(xform):
        attach_locations(xform, cases)
        raise_supply_point_events(xform, cases)


cases_received.connect(supply_point_processing)


def bootstrap_commtrack_settings_if_necessary_signal(sender, **kwargs):
    bootstrap_commtrack_settings_if_necessary(kwargs["domain"])


commcare_domain_post_save.connect(bootstrap_commtrack_settings_if_necessary_signal)
successful_form_received.connect(process_stock_signal_catcher)
Ejemplo n.º 3
0
logger = logging.getLogger(__name__)


def sync_user_cases_signal(sender, **kwargs):
    return sync_user_cases(kwargs["couch_user"])


commcare_user_post_save.connect(sync_user_cases_signal)


def bootstrap_callcenter_domain_signal(sender, **kwargs):
    return bootstrap_callcenter(kwargs['domain'])


commcare_domain_post_save.connect(bootstrap_callcenter_domain_signal)

_module = __name__.rsplit('.', 1)[0]


def catch_signal(app, **kwargs):
    app_name = app.__name__.rsplit('.', 1)[0]
    if app_name == _module:

        def _log(msg):
            if not settings.DEBUG:
                logging.exception(msg)
            else:
                print(msg, file=sys.stderr)

        try:
Ejemplo n.º 4
0
from __future__ import absolute_import
from corehq.apps.cachehq.invalidate import invalidate_document
from corehq.apps.domain.signals import commcare_domain_post_save
from corehq.apps.users.signals import couch_user_post_save


def invalidate_cached_domain(sender, domain, **kwargs):
    invalidate_document(domain)


def invalidate_cached_user(sender, couch_user, **kwargs):
    invalidate_document(couch_user)


commcare_domain_post_save.connect(invalidate_cached_domain)
couch_user_post_save.connect(invalidate_cached_user)
Ejemplo n.º 5
0
        SupplyPointCase.wrap(c._doc) for c in cases
        if c.type == const.SUPPLY_POINT_CASE_TYPE
    ]
    case_updates = get_case_updates(xform)
    for sp in supply_points:
        created = any(
            filter(
                lambda update: update.id == sp._id and update.creates_case(),
                case_updates))
        supply_point_modified.send(sender=None,
                                   supply_point=sp,
                                   created=created)


def supply_point_processing(sender, xform, cases, **kwargs):
    if is_supply_point_form(xform):
        attach_locations(xform, cases)
        raise_supply_point_events(xform, cases)


cases_received.connect(supply_point_processing)


def bootstrap_commtrack_settings_if_necessary_signal(sender, **kwargs):
    bootstrap_commtrack_settings_if_necessary(kwargs['domain'])


commcare_domain_post_save.connect(
    bootstrap_commtrack_settings_if_necessary_signal)
successful_form_received.connect(process_stock_signal_catcher)