Exemple #1
0
        def __init__(self, *args, **kwargs):
            sample_choices = services.samples.find(
                location_set_id=location_set_id).with_entities(
                    models.Sample.id, models.Sample.name).all()

            kwargs['choices'] = _make_choices(sample_choices, _('Sample'))
            super().__init__(*args, **kwargs)
Exemple #2
0
        def __init__(self, *args, **kwargs):
            choices = services.participant_partners.find(
                participant_set_id=participant_set_id).with_entities(
                    ParticipantPartner.id, ParticipantPartner.name).all()

            kwargs['choices'] = _make_choices(choices, _('All Organizations'))
            super().__init__(*args, **kwargs)
Exemple #3
0
        def __init__(self, *args, **kwargs):
            choices = services.participant_roles.find(
                participant_set_id=participant_set_id).with_entities(
                    ParticipantRole.id, ParticipantRole.name).all()

            kwargs['choices'] = _make_choices(choices, _('All Roles'))

            super().__init__(*args, **kwargs)
Exemple #4
0
    def __init__(self, *args, **kwargs):
        location_set_id = kwargs.pop('location_set_id')

        kwargs['choices'] = _make_choices(
            [(i.id, i.name) for i in LocationType.query.filter(
                LocationType.location_set_id == location_set_id)],
            _('All Types')
        )
        super(LocationTypeFilter, self).__init__(*args, **kwargs)
Exemple #5
0
def make_submission_list_filter(event, form):
    attributes = {}
    form._populate_field_cache()

    if form.data and form.data.get('groups'):
        if form.form_type == 'INCIDENT':
            option_fields = [
                f for f in form._field_cache.values() if f['type'] == 'select'
            ]
            for field in option_fields:
                choices = _make_choices(
                    sorted(((v, '{} - {}'.format(field['tag'], k))
                            for k, v in field['options'].items()),
                           key=itemgetter(0)), field['tag'])
                attributes[field['tag']] = FieldOptionFilter(choices=choices)

        for group in form.data.get('groups'):
            field_name = '{}__{}'.format(form.id, group['slug'])
            choices = [('', _('%(group)s Status', group=group['name'])),
                       ('1', _('%(group)s Partial', group=group['name'])),
                       ('2', _('%(group)s Missing', group=group['name'])),
                       ('3', _('%(group)s Complete', group=group['name'])),
                       ('4', _('%(group)s Conflict', group=group['name']))]
            attributes[field_name] = FormGroupFilter(choices=choices,
                                                     form=form,
                                                     group=group)

    if form.form_type == 'INCIDENT':
        attributes['status'] = IncidentStatusFilter()
    elif form.form_type in ['CHECKLIST', 'SURVEY']:
        attributes['quarantine_status'] = SubmissionQuarantineStatusFilter(
            choices=(
                ('', _('Quarantine Status')),
                ('A', _('Quarantine All')),
                ('R', _('Quarantine Results')),
                ('AR', _('Quarantine All + Results')),
                ('N', _('Quarantine None')),
            ),
            default='')
    attributes['sender_verification'] = SubmissionSenderVerificationFilter(
        choices=(('', _('Phone Confirmation')), ('1', _('Phone Confirmed')),
                 ('2', _('Phone Unconfirmed'))))

    attributes['participant_id'] = ParticipantIDFilter()
    attributes['location'] = make_submission_location_filter(
        event.location_set_id)()
    attributes['conjunction'] = BooleanFilter(label=_('Optional Inclusion'))
    attributes['online_status'] = OnlineStatusFilter(
        choices=(('', _('Signal Status')), ('0', _('Signal')),
                 ('1', _('No Signal'))))
    attributes['date'] = DateFilter()
    attributes['fsn'] = FormSerialNumberFilter()

    return type('SubmissionFilterSet', (make_base_submission_filter(event), ),
                attributes)
Exemple #6
0
 def __init__(self, *args, **kwargs):
     kwargs["choices"] = _make_choices(services.samples.find().scalar("id", "name"), _("Sample"))
     super(SampleFilter, self).__init__(*args, **kwargs)
Exemple #7
0
 def __init__(self, *args, **kwargs):
     kwargs["choices"] = _make_choices(
         services.location_types.find().order_by("ancestor_count").scalar("name", "name"), _("All Types")
     )
     super(LocationTypeFilter, self).__init__(*args, **kwargs)
Exemple #8
0
 def __init__(self, *args, **kwargs):
     kwargs["choices"] = _make_choices(
         services.forms.find(form_type="CHECKLIST").order_by("name").scalar("id", "name"), _("Form")
     )
     super(ChecklistFormFilter, self).__init__(*args, **kwargs)
Exemple #9
0
 def __init__(self, *args, **kwargs):
     kwargs["choices"] = _make_choices(services.participant_roles.find().scalar("id", "name"), _("All Roles"))
     super(RoleFilter, self).__init__(*args, **kwargs)
Exemple #10
0
 def __init__(self, *args, **kwargs):
     kwargs["choices"] = _make_choices(
         services.participant_partners.find().scalar("id", "name"), _("All Organizations")
     )
     super(PartnerFilter, self).__init__(*args, **kwargs)
Exemple #11
0
 def __init__(self, *args, **kwargs):
     kwargs['choices'] = _make_choices(
         services.samples.find().scalar('id', 'name'), _('Sample'))
     super(SampleFilter, self).__init__(*args, **kwargs)
Exemple #12
0
 def __init__(self, *args, **kwargs):
     kwargs['choices'] = _make_choices(
         services.location_types.find().order_by('ancestor_count').scalar(
             'name', 'name'), _('All Types'))
     super(LocationTypeFilter, self).__init__(*args, **kwargs)
Exemple #13
0
 def __init__(self, *args, **kwargs):
     kwargs['choices'] = _make_choices(
         services.forms.find(form_type='CHECKLIST').order_by('name').scalar(
             'id', 'name'), _('Form'))
     super(ChecklistFormFilter, self).__init__(*args, **kwargs)
Exemple #14
0
 def __init__(self, *args, **kwargs):
     kwargs['choices'] = _make_choices(
         services.participant_roles.find().scalar('id', 'name'),
         _('All Roles'))
     super(RoleFilter, self).__init__(*args, **kwargs)
Exemple #15
0
 def __init__(self, *args, **kwargs):
     kwargs['choices'] = _make_choices(
         services.participant_partners.find().scalar('id', 'name'),
         _('All Organizations'))
     super(PartnerFilter, self).__init__(*args, **kwargs)
Exemple #16
0
 def __init__(self, *args, **kwargs):
     kwargs['choices'] = _make_choices(
         services.samples.find().with_entities(models.Sample.id,
                                               models.Sample.name),
         _('Sample'))
     super(SampleFilter, self).__init__(*args, **kwargs)