assign ticket to project's tech manager by default (#11146)
This commit is contained in:
parent
d785fa7e09
commit
f30b4bb2a0
|
@ -8,12 +8,14 @@ import uuid
|
|||
import smtplib
|
||||
import subprocess
|
||||
|
||||
import redmine
|
||||
from redmine import Redmine
|
||||
|
||||
REDMINE_URL = os.environ.get('REDMINE_URL', 'https://dev.entrouvert.org')
|
||||
REDMINE_KEY = os.environ.get('REDMINE_KEY')
|
||||
TRACKER_ID = os.environ.get('REDMINE_TRACKER', '3')
|
||||
PROJECT_ID = os.environ.get('PROJECT')
|
||||
TECH_MANAGER_ROLE_ID = os.environ.get('TECH_MANAGER_ROLE_ID', 10)
|
||||
FALLBACK_EMAIL = os.environ.get('FALLBACK_EMAIL', 'support@entrouvert.com')
|
||||
|
||||
|
||||
|
@ -80,11 +82,25 @@ def create_ticket(mail):
|
|||
body = data.get_payload(decode=True)
|
||||
body = unicode(body, data.get_content_charset('utf-8')).encode('utf-8')
|
||||
|
||||
# get project tech manager
|
||||
tech_manager = None
|
||||
for membership in r.project_membership.filter(project_id=PROJECT_ID):
|
||||
try:
|
||||
tech_manager = membership.roles.get(TECH_MANAGER_ROLE_ID)
|
||||
if tech_manager:
|
||||
break
|
||||
except redmine.resources.ResourceAttrError:
|
||||
continue
|
||||
|
||||
issue = r.issue.create(project_id=PROJECT_ID,
|
||||
subject=parse_header(mail['Subject']),
|
||||
tracker_id=TRACKER_ID,
|
||||
description=body,
|
||||
uploads=attachments)
|
||||
if tech_manager:
|
||||
issue.assigned_to_id = tech_manager.id
|
||||
issue.save()
|
||||
|
||||
message = u"""Bonjour,
|
||||
|
||||
Votre demande a bien été prise en compte et enregistrée dans notre système sous
|
||||
|
|
Loading…
Reference in New Issue