Include attachments in issue view when necessary
parent
bda6e7b927
commit
552421bc49
|
@ -146,7 +146,11 @@ class IssueViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin, W
|
|||
def get_queryset(self):
|
||||
qs = super().get_queryset()
|
||||
qs = qs.select_related("owner", "assigned_to", "status", "project")
|
||||
qs = attach_extra_info(qs, user=self.request.user)
|
||||
|
||||
include_attachments = "include_attachments" in self.request.QUERY_PARAMS
|
||||
qs = attach_extra_info(qs, user=self.request.user,
|
||||
include_attachments=include_attachments)
|
||||
|
||||
return qs
|
||||
|
||||
def pre_save(self, obj):
|
||||
|
|
|
@ -21,6 +21,7 @@ from taiga.base.fields import Field, MethodField
|
|||
from taiga.base.neighbors import NeighborsSerializerMixin
|
||||
|
||||
from taiga.mdrender.service import render as mdrender
|
||||
from taiga.projects.attachments.serializers import BasicAttachmentsInfoSerializerMixin
|
||||
from taiga.projects.due_dates.serializers import DueDateSerializerMixin
|
||||
from taiga.projects.mixins.serializers import OwnerExtraInfoSerializerMixin
|
||||
from taiga.projects.mixins.serializers import ProjectExtraInfoSerializerMixin
|
||||
|
@ -34,8 +35,8 @@ from taiga.projects.votes.mixins.serializers import VoteResourceSerializerMixin
|
|||
class IssueListSerializer(VoteResourceSerializerMixin, WatchedResourceSerializer,
|
||||
OwnerExtraInfoSerializerMixin, AssignedToExtraInfoSerializerMixin,
|
||||
StatusExtraInfoSerializerMixin, ProjectExtraInfoSerializerMixin,
|
||||
DueDateSerializerMixin, TaggedInProjectResourceSerializer,
|
||||
serializers.LightSerializer):
|
||||
BasicAttachmentsInfoSerializerMixin, DueDateSerializerMixin,
|
||||
TaggedInProjectResourceSerializer, serializers.LightSerializer):
|
||||
id = Field()
|
||||
ref = Field()
|
||||
severity = Field(attr="severity_id")
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from taiga.projects.attachments.utils import attach_basic_attachments
|
||||
from taiga.projects.notifications.utils import attach_watchers_to_queryset
|
||||
from taiga.projects.notifications.utils import attach_total_watchers_to_queryset
|
||||
from taiga.projects.notifications.utils import attach_is_watcher_to_queryset
|
||||
|
@ -47,7 +48,11 @@ def attach_generated_user_stories(queryset, as_field="generated_user_stories_att
|
|||
return queryset
|
||||
|
||||
|
||||
def attach_extra_info(queryset, user=None):
|
||||
def attach_extra_info(queryset, user=None, include_attachments=False):
|
||||
if include_attachments:
|
||||
queryset = attach_basic_attachments(queryset)
|
||||
queryset = queryset.extra(select={"include_attachments": "True"})
|
||||
|
||||
queryset = attach_generated_user_stories(queryset)
|
||||
queryset = attach_total_voters_to_queryset(queryset)
|
||||
queryset = attach_watchers_to_queryset(queryset)
|
||||
|
|
Loading…
Reference in New Issue