Free and open source ticket system written in python

fix team mails

+14 -15
+2 -2
core/models.py
··· 43 43 template = cls.objects.filter(event=event, language='en').first() 44 44 return template 45 45 46 - def send_mail(self, to, context): 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 - [to], 52 + to_list, 53 53 fail_silently=False, 54 54 ) 55 55 except Exception as e:
+12 -13
ticketing/models.py
··· 148 148 return None 149 149 150 150 if not instance.category or not instance.category.team: 151 - mail_template = MailTemplate.get_template('ticket_assigned') 152 - if not mail_template: 153 - return None 154 - #TODO send mail to all supporters 155 - return None 156 - 157 - # assign team to ticket 158 - instance.assigned_team = instance.category.team 159 - instance.save() 151 + team_addresses = list(Team.objects.filter(access_non_category_tickets=True).values_list('members__email', flat=True)) 152 + 153 + else: 154 + # assign team to ticket 155 + instance.assigned_team = instance.category.team 156 + instance.save() 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 - mail_template.send_mail(instance.category.team.members.values_list('email', flat=True), { 162 + 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 - mail_template.send_mail(instance.user.email, { 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 - mail_template.send_mail(instance.user.email, { 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 - mail_template.send_mail(instance.ticket.user.email, { 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