Exemplo n.º 1
0
    def __init__(self, **kwargs):
        user = kwargs.get("user")
        super().__init__(user)
        fields = self.get_field_names()

        self.genome_builds = list(GenomeBuild.builds_with_annotation())
        if len(self.genome_builds) == 1:  # No need to show
            genome_build_colmodel = self._overrides.get('genome_build', {})
            genome_build_colmodel['hidden'] = True
            self._overrides['genome_build'] = genome_build_colmodel
        user_grid_config = UserGridConfig.get(user, self.caption)
        if user_grid_config.show_group_data:
            qs = Analysis.filter_for_user(user)
        else:
            qs = Analysis.objects.filter(user=user)
        qs = qs.filter(genome_build__in=self.genome_builds)
        qs = qs.filter(visible=True,
                       template_type__isnull=True)  # Hide templates
        q_last_lock = Q(analysislock=F("last_lock")) | Q(
            analysislock__isnull=True)
        qs = qs.annotate(last_lock=Max("analysislock__pk")).filter(q_last_lock)
        self.queryset = qs.values(*fields)
        self.extra_config.update({'sortname': 'modified', 'sortorder': 'desc'})
Exemplo n.º 2
0
 def get_user_queryset(self, user):
     qs = Analysis.filter_for_user(user)
     if template_type := self.forwarded.get('template_type', None):
         qs = qs.filter(template_type=template_type)