tangled
alpha
login
or
join now
aottr.dev
/
paw
0
fork
atom
Free and open source ticket system written in python
0
fork
atom
overview
issues
pulls
pipelines
fix team mails
aottr.dev
2 years ago
c6eb13fa
536cfa30
+14
-15
2 changed files
expand all
collapse all
unified
split
core
models.py
ticketing
models.py
+2
-2
core/models.py
reviewed
···
43
43
template = cls.objects.filter(event=event, language='en').first()
44
44
return template
45
45
46
46
-
def send_mail(self, to, context):
46
46
+
def send_mail(self, to_list: list[str], context):
47
47
try:
48
48
send_mail(
49
49
self.subject.format(**context),
50
50
self.content.format(**context),
51
51
settings.DEFAULT_FROM_EMAIL,
52
52
-
[to],
52
52
+
to_list,
53
53
fail_silently=False,
54
54
)
55
55
except Exception as e:
+12
-13
ticketing/models.py
reviewed
···
148
148
return None
149
149
150
150
if not instance.category or not instance.category.team:
151
151
-
mail_template = MailTemplate.get_template('ticket_assigned')
152
152
-
if not mail_template:
153
153
-
return None
154
154
-
#TODO send mail to all supporters
155
155
-
return None
156
156
-
157
157
-
# assign team to ticket
158
158
-
instance.assigned_team = instance.category.team
159
159
-
instance.save()
151
151
+
team_addresses = list(Team.objects.filter(access_non_category_tickets=True).values_list('members__email', flat=True))
152
152
+
153
153
+
else:
154
154
+
# assign team to ticket
155
155
+
instance.assigned_team = instance.category.team
156
156
+
instance.save()
157
157
+
team_addresses = list(instance.category.team.members.values_list('email', flat=True))
160
158
161
159
mail_template = MailTemplate.get_template('ticket_assigned')
162
160
if not mail_template:
163
161
return None
164
164
-
mail_template.send_mail(instance.category.team.members.values_list('email', flat=True), {
162
162
+
163
163
+
mail_template.send_mail(team_addresses, {
165
164
'ticket_id': instance.id, 'ticket_title': instance.title, 'ticket_description': instance.description,
166
165
'ticket_priority': instance.get_priority(), 'ticket_category': instance.category.name if instance.category else _('General'),
167
166
'ticket_creator_username': instance.user.username})
···
174
173
mail_template = MailTemplate.get_template('new_ticket', instance.user.language)
175
174
if not mail_template:
176
175
return None
177
177
-
mail_template.send_mail(instance.user.email, {
176
176
+
mail_template.send_mail([instance.user.email], {
178
177
'ticket_id': instance.id, 'ticket_creator_username': instance.user.username, 'ticket_title': instance.title,
179
178
'ticket_description': instance.description, 'ticket_category': instance.category.name if instance.category else _('General')})
180
179
···
191
190
mail_template = MailTemplate.get_template('ticket_status_change', instance.user.language)
192
191
if not mail_template:
193
192
return None
194
194
-
mail_template.send_mail(instance.user.email, {
193
193
+
mail_template.send_mail([instance.user.email], {
195
194
'ticket_id': instance.id, 'ticket_creator_username': instance.user.username, 'ticket_status': instance.get_status(),
196
195
'ticket_status_old': old_instance.get_status(), 'ticket_title': instance.title
197
196
})
···
219
218
mail_template = MailTemplate.get_template('new_comment', instance.user.language)
220
219
if not mail_template:
221
220
return None
222
222
-
mail_template.send_mail(instance.ticket.user.email, {
221
221
+
mail_template.send_mail([instance.ticket.user.email], {
223
222
'ticket_id': instance.ticket.id, 'ticket_title': instance.ticket.title, 'ticket_creator_username': instance.user.username,
224
223
'comment_text': instance.text})
225
224