Example #1
0
    def _fire_post_save_signals(instance, cases):
        from casexml.apps.case.signals import case_post_save
        error_message = "Error occurred during form submission post save (%s)"
        error_details = {'domain': instance.domain, 'form_id': instance.form_id}
        results = successful_form_received.send_robust(None, xform=instance)
        has_errors = log_signal_errors(results, error_message, error_details)

        for case in cases:
            results = case_post_save.send_robust(case.__class__, case=case)
            has_errors |= log_signal_errors(results, error_message, error_details)
        if has_errors:
            raise PostSaveError
Example #2
0
    def _fire_post_save_signals(instance, cases):
        from casexml.apps.case.signals import case_post_save
        error_message = "Error occurred during form submission post save (%s)"
        error_details = {'domain': instance.domain, 'form_id': instance.form_id}
        results = successful_form_received.send_robust(None, xform=instance)
        has_errors = log_signal_errors(results, error_message, error_details)

        for case in cases:
            results = case_post_save.send_robust(case.__class__, case=case)
            has_errors |= log_signal_errors(results, error_message, error_details)
        if has_errors:
            raise PostSaveError
Example #3
0
 def process_signals(self, instance):
     feedback = successful_form_received.send_robust(None, xform=instance)
     errors = []
     for func, resp in feedback:
         if resp and isinstance(resp, Exception):
             error_message = unicode(resp)
             logging.error((
                 u"Receiver app: problem sending "
                 u"post-save signal %s for xform %s: %s: %s"
             ) % (func, instance.form_id, type(resp).__name__, error_message))
             errors.append(error_message)
     if errors:
         self.interface.xformerror_from_xform_instance(instance, ", ".join(errors))
         self.formdb.update_form_problem_and_state(instance)
     return errors
 def process_signals(self, instance):
     feedback = successful_form_received.send_robust(None, xform=instance)
     errors = []
     for func, resp in feedback:
         if resp and isinstance(resp, Exception):
             error_message = unicode(resp)
             logging.error((
                 u"Receiver app: problem sending "
                 u"post-save signal %s for xform %s: %s: %s"
             ) % (func, instance.form_id, type(resp).__name__, error_message))
             errors.append(error_message)
     if errors:
         self.interface.xformerror_from_xform_instance(instance, ", ".join(errors))
         self.formdb.update_form_problem_and_state(instance)
     return errors