def __init__(self, *args, **kwargs): self.domain = kwargs.pop('domain') super(EmailBulkPayload, self).__init__(*args, **kwargs) self.helper = FormHelper(self) self.helper.form_class = 'form-horizontal' self.helper.label_class = 'col-sm-3 col-md-2' self.helper.field_class = 'col-sm-9 col-md-8 col-lg-10' self.helper.offset_class = 'col-sm-offset-3 col-md-offset-2' self.fields['repeater_id'].choices = \ [(repeater.get_id, '{}: {}'.format( repeater.doc_type, repeater.url, )) for repeater in get_repeaters_by_domain(self.domain)] self.helper.layout = crispy.Layout( crispy.Fieldset( _("Email Bulk Payload"), crispy.Field('repeater_id'), crispy.Field('payload_ids_file'), crispy.Field('email_id'), twbscrispy.StrictButton( _("Email Payloads"), type="submit", css_class='btn-primary', ) ) )
def __init__(self, *args, **kwargs): self.domain = kwargs.pop('domain') super(EmailBulkPayload, self).__init__(*args, **kwargs) self.helper = FormHelper(self) self.helper.form_class = 'form-horizontal' self.helper.label_class = 'col-sm-3 col-md-2' self.helper.field_class = 'col-sm-9 col-md-8 col-lg-10' self.helper.offset_class = 'col-sm-offset-3 col-md-offset-2' self.fields['repeater_id'].choices = \ [(repeater.get_id, '{}: {}'.format( repeater.doc_type, repeater.url, )) for repeater in get_repeaters_by_domain(self.domain)] self.helper.layout = crispy.Layout( crispy.Fieldset( _("Email Bulk Payload"), crispy.Field('repeater_id'), crispy.Field('payload_ids_file'), crispy.Field('email_id'), twbscrispy.StrictButton( _("Email Payloads"), type="submit", css_class='btn-primary', ) ) )
def copy_repeaters(self): from corehq.motech.repeaters.models import Repeater from corehq.motech.repeaters.utils import get_all_repeater_types from corehq.motech.repeaters.dbaccessors import get_repeaters_by_domain for repeater in get_repeaters_by_domain(self.existing_domain): self.save_couch_copy(repeater, self.new_domain) Repeater.by_domain.clear(Repeater, self.new_domain) for repeater_type in get_all_repeater_types().values(): Repeater.by_domain.clear(repeater_type, self.new_domain)
def copy_repeaters(self): from corehq.motech.repeaters.models import Repeater from corehq.motech.repeaters.utils import get_all_repeater_types from corehq.motech.repeaters.dbaccessors import get_repeaters_by_domain for repeater in get_repeaters_by_domain(self.existing_domain): self.save_couch_copy(repeater, self.new_domain) Repeater.by_domain.clear(Repeater, self.new_domain) for repeater_type in get_all_repeater_types().values(): Repeater.by_domain.clear(repeater_type, self.new_domain)
def get_repeaters_for_type_in_domain(domain, repeater_types): """ :param domain: domain to search in :param repeater_types: a tuple of repeater class types """ repeaters = get_repeaters_by_domain(domain) if repeater_types: return [ repeater for repeater in repeaters if isinstance(repeater, repeater_types) ] return repeaters
def _get_repeaters(self): return get_repeaters_by_domain(self.domain)
def test_get_repeaters_by_domain(self): repeaters = get_repeaters_by_domain(self.domain) self.assertEqual(len(repeaters), 1) self.assertEqual(repeaters[0].__class__, CaseRepeater)
def _iter_couch_docs_for_domains(self, domains): for domain in domains: for repeater in get_repeaters_by_domain(domain): yield repeater.to_json()
def _get_repeaters(self): return [ repeater for repeater in get_repeaters_by_domain(self.domain) if isinstance(repeater, self.enikshay_repeaters) ]
def _get_voucher_repeater_ids(self): return [ repeater._id for repeater in get_repeaters_by_domain(self.domain) if isinstance(repeater, (LabBETSVoucherRepeater, ChemistBETSVoucherRepeater)) ]
def _get_repeaters(self): return get_repeaters_by_domain(self.domain)