コード例 #1
0
ファイル: filters.py プロジェクト: yc-hu/dm_apps
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     labels = get_labels(models.Collection)
     user_choices = [(u.id, u.get_full_name()) for u in User.objects.filter(collection__isnull=False).distinct()]
     fy_choices = [(obj.id, str(obj)) for obj in FiscalYear.objects.filter(collections__isnull=False).distinct()]
     self.filters["contact_users"] = django_filters.ChoiceFilter(field_name="contact_users", choices=user_choices, label=labels["contact_users"])
     self.filters["fiscal_year"] = django_filters.ChoiceFilter(field_name="fiscal_year", choices=fy_choices, label=labels["fiscal_year"])
コード例 #2
0
ファイル: views.py プロジェクト: yc-hu/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['role_choices'] = [
         dict(text=c[1], value=c[0]) for c in self.model.role_choices
     ]
     return Response(data)
コード例 #3
0
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['choices'] = [
         dict(text=item.choice_display, value=item.id)
         for item in self.model.objects.all()
     ]
     return Response(data)
コード例 #4
0
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['om_category_choices'] = [
         dict(text=item.id, value=str(item))
         for item in models.OMCategory.objects.all()
     ]
     return Response(data)
コード例 #5
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['assay_choices'] = [
         dict(text=str(item), value=item.id)
         for item in models.Assay.objects.all()
     ]
     return Response(data)
コード例 #6
0
ファイル: views.py プロジェクト: yc-hu/dm_apps
 def get(self, request):
     data = dict()
     data['cost_choices'] = [
         dict(text=item.tname, value=item.id)
         for item in models.Cost.objects.all()
     ]
     data['labels'] = get_labels(self.model)
     return Response(data)
コード例 #7
0
ファイル: views.py プロジェクト: yc-hu/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     # we want to get a list of filters for which there has been no SpeciesObservations
     data['species_choices'] = [
         dict(text=str(item), value=item.id)
         for item in models.Species.objects.all()
     ]
     return Response(data)
コード例 #8
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['sample_type_choices'] = [
         dict(text=item.name, value=item.id)
         for item in models.SampleType.objects.all()
     ]
     # data['sample_choices'] = [dict(text=str(item), value=item.id, has_filter=item.filters.exists()) for item in
     #                           models.Sample.objects.all()]
     return Response(data)
コード例 #9
0
 def get_data(self):
     data = dict()
     model = self.get_model()
     data['labels'] = get_labels(model)
     for field in model._meta.get_fields():
         if hasattr(field, "choices") and getattr(field, "choices"):
             data[f'{field.name}_choices'] = [
                 dict(text=c[1], value=c[0])
                 for c in getattr(field, "choices")
             ]
     return data
コード例 #10
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     qp = request.query_params
     if qp.get("crab"):
         data['choices'] = [dict(text=item.choice_display, value=item.id) for item in self.model.objects.filter(green_crab_monitoring=True)]
     elif qp.get("bycatch"):
         data['choices'] = [dict(text=item.choice_display, value=item.id) for item in self.model.objects.filter(green_crab_monitoring=False)]
     else:
         data['choices'] = [dict(text=item.choice_display, value=item.id) for item in self.model.objects.all()]
     return Response(data)
コード例 #11
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['filtration_type_choices'] = [
         dict(text=item.name, value=item.id)
         for item in models.FiltrationType.objects.all()
     ]
     data['sample_choices'] = [
         dict(text=item.full_display, value=item.id)
         for item in models.Sample.objects.all()
     ]
     return Response(data)
コード例 #12
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['role_choices'] = [
         dict(text=item.tname, value=item.id)
         for item in models.Role.objects.all()
     ]
     data['org_choices'] = [
         dict(text=item.tfull, value=item.tfull)
         for item in Organization.objects.filter(is_dfo=True)
     ]
     return Response(data)
コード例 #13
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     # we want to get a list of filters for which there has been no PCRs
     data['extract_choices'] = [
         dict(text=item.full_display, value=item.id)
         for item in models.DNAExtract.objects.all()
     ]
     data['master_mix_choices'] = [
         dict(text=str(item), value=item.id)
         for item in models.MasterMix.objects.all()
     ]
     return Response(data)
コード例 #14
0
ファイル: views.py プロジェクト: yc-hu/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['filtration_type_choices'] = [
         dict(text=item.name, value=item.id)
         for item in models.FiltrationType.objects.all()
     ]
     data['sample_choices'] = [
         dict(text=item.unique_sample_identifier,
              value=item.id,
              has_filter=item.filters.exists())
         for item in models.Sample.objects.all()
     ]
     return Response(data)
コード例 #15
0
ファイル: views.py プロジェクト: dfo-mar-odis/dm_apps
    def get(self, request):
        data = dict()
        data['labels'] = get_labels(self.model)
        # we want to get a list of filters for which there has been no PCRs
        data['filter_choices'] = [
            dict(text=item.full_display,
                 value=item.id,
                 has_extract=hasattr(item, 'extract'))
            for item in models.Filter.objects.all()
        ]
        data['dna_extraction_protocol_choices'] = [
            dict(text=item.name, value=item.id)
            for item in models.DNAExtractionProtocol.objects.all()
        ]

        return Response(data)
コード例 #16
0
ファイル: views.py プロジェクト: yc-hu/dm_apps
    def get(self, request):
        data = dict()
        data['labels'] = get_labels(self.model)
        # we want to get a list of filters for which there has been no PCRs
        data['extract_choices'] = [
            dict(text=item.id, value=item.id, has_pcr=item.pcrs.exists())
            for item in models.DNAExtract.objects.all()
        ]

        qs = models.PCR.objects.filter(
            pcr_number_suffix__isnull=False).order_by("pcr_number_suffix")
        last_pcr_number = 0
        if qs.exists():
            last_pcr_number = qs.last().pcr_number_suffix
        data['last_pcr_number'] = last_pcr_number

        return Response(data)
コード例 #17
0
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     data['type_choices'] = [
         dict(text=item[1], value=item[0])
         for item in models.Activity.type_choices
     ]
     data['likelihood_choices'] = [
         dict(text=item[1], value=item[0])
         for item in models.Activity.likelihood_choices
     ]
     data['impact_choices'] = [
         dict(text=item[1], value=item[0])
         for item in models.Activity.impact_choices
     ]
     data['risk_rating_choices'] = [
         dict(text=item[1], value=item[0])
         for item in models.Activity.risk_rating_choices
     ]
     return Response(data)
コード例 #18
0
ファイル: views.py プロジェクト: yc-hu/dm_apps
 def get(self, request):
     data = dict()
     data['labels'] = get_labels(self.model)
     return Response(data)