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'})
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)