assign ticket to project's tech manager by default (#11146)

This commit is contained in:
Serghei Mihai 2016-06-02 11:12:57 +02:00
parent d785fa7e09
commit f30b4bb2a0
1 changed files with 16 additions and 0 deletions

View File

@ -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