def save(self, *args, **kwargs): email = not self.id super(AssignmentComment, self).save(*args, **kwargs) if email: for user in self.assignment.involved.exclude( pk=self.created_by.pk): c = {'comment': self, 'user': user} send_mail_from_template(user.email, 'assignment_comment', c)
def save(self, *args, **kwargs): email = not self.id super(StatusHistory, self).save(*args, **kwargs) if email: for user in self.assignment.involved.exclude(pk=self.user.pk): c = {'assignment': self.assignment, 'user': user} send_mail_from_template(user.email, 'assignment_status_change', c)
def add_assignment(request, slug): top_categories = models.Category.objects.filter(top_category=True) category = get_object_or_404(top_categories, slug=slug) initial = { 'pub_date': datetime.date.today().strftime('%Y-%m-%d'), 'responsible': request.user.pk, 'involved': [request.user.pk], } kwargs = form_kwargs(request) kwargs['category'] = category form = forms.AssignmentForm(initial=initial, **kwargs) properties_form = forms.AssignmentPropertiesForm(**kwargs) details_form = forms.AssignmentDetailsForm(**kwargs) if (form.is_valid() and properties_form.is_valid() and details_form.is_valid()): obj = form.save(commit=False) obj.created_by = request.user obj.save() form.save_m2m() properties_form.instance = obj details_form.instance = obj properties_form.save() details_form.save() # Send emails for user in obj.involved.exclude(pk=request.user.pk): c = {'assignment': obj, 'user': user} send_mail_from_template(user.email, 'new_assignment', c) return HttpResponseRedirect(obj.get_absolute_url()) c = { 'form': form, 'properties_form': properties_form, 'details_form': details_form, 'category': category, } return direct_to_template(request, 'newsroom/add_assignment.html', c)