Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
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)