def add_tag(ticket_id, body, user):
""" Add ticket tag
"""
try:
tag = Tag.objects.get(**body)
ticket = Ticket.objects.get(id=ticket_id)
if ticket.__class__.__name__ != tag.tagType:
raise BadRequest('Invalid tag for ticket')
ticket.tags.add(tag)
ticket.save()
database.log_action_on_ticket(
ticket=ticket,
action='add_tag',
user=user,
tag_name=tag.name
)
except MultipleObjectsReturned:
raise BadRequest('Please use tag id')
except (KeyError, FieldError, IntegrityError, ObjectDoesNotExist, ValueError):
raise NotFound('Tag or ticket not found')
return {'message': 'Tag successfully added'}
评论列表
文章目录