def test_new_format_second_default(self): class NewCaseGenerator(BasePayloadGenerator): format_name = 'rubbish' format_label = 'XML' def get_payload(self, repeat_record, payload_doc): return self.payload with self.assertRaises(DuplicateFormatException): RegisterGenerator.get_collection(CaseRepeater).add_new_format(NewCaseGenerator, is_default=True)
def setUpClass(cls): super(IgnoreDocumentTest, cls).setUpClass() class NewFormGenerator(BasePayloadGenerator): format_name = 'new_format' format_label = 'XML' def get_payload(self, repeat_record, payload_doc): raise IgnoreDocument RegisterGenerator.get_collection(FormRepeater).add_new_format(NewFormGenerator)
def setUpClass(cls): super(TestRepeaterFormat, cls).setUpClass() cls.payload = 'some random case' class NewCaseGenerator(BasePayloadGenerator): format_name = 'new_format' format_label = 'XML' deprecated_format_names = ('new_format_alias',) def get_payload(self, repeat_record, payload_doc): return cls.payload RegisterGenerator.get_collection(CaseRepeater).add_new_format(NewCaseGenerator) cls.new_generator = NewCaseGenerator
def __init__(self, *args, **kwargs): self.domain = kwargs.pop('domain') self.repeater_class = kwargs.pop('repeater_class') self.formats = RegisterGenerator.all_formats_by_repeater(self.repeater_class, for_domain=self.domain) super(GenericRepeaterForm, self).__init__(*args, **kwargs) self.set_extra_django_form_fields() self._initialize_crispy_layout()
def get_payload_generator(self, payload_format): from corehq.apps.repeaters.repeater_generators import RegisterGenerator gen = RegisterGenerator.generator_class_by_repeater_format(self.__class__, payload_format) return gen(self)
def format_or_default_format(self): from corehq.apps.repeaters.repeater_generators import RegisterGenerator return self.format or RegisterGenerator.default_format_by_repeater(self.__class__)