Exemple #1
0
def manage_recipients(request):
    if request.method == 'POST':
        form = CSVUploadForm(request.POST, request.FILES)
        if form.is_valid():
            backend = Backend.objects.get(name='javna')
            rows = form.save()
            for row in rows:
                first_name, last_name, identity = row
                contact, _ = Contact.objects.get_or_create(first_name=first_name,
                                                           last_name=last_name)
                if form.cleaned_data['group']:
                    contact.group_recipients.add(form.cleaned_data['group'])
                conn, _ = Connection.objects.get_or_create(identity=identity,
                                                           backend=backend)
                conn.contact = contact
                conn.save()
            msg = "Import successful"
            messages.info(request, msg)
            return HttpResponseRedirect(reverse('list_recipients'))

    else:
        form = CSVUploadForm()
    context = {
        'form': form,
    }
    return render_to_response('groups_users/recipients/csv.html', context,
                              context_instance=RequestContext(request))
Exemple #2
0
def manage_recipients(request):
    if request.method == 'POST':
        form = CSVUploadForm(request.POST, request.FILES)
        if form.is_valid():
            backend = Backend.objects.get(name='javna')
            rows = form.save()
            for row in rows:
                first_name = row[0]
                last_name = row[1]
                identity = row[2]
                country = row[3]
                city = row[4]
                age = row[5]
                gender = row[6]
                comment = row[7]
                contact, created = Contact.objects.get_or_create(
                    first_name=first_name,
                    last_name=last_name
                )
                if created:
                    contact.country = country
                    contact.city = city
                    contact.age = age
                    contact.gender = gender
                    contact.comment = comment
                    try:
                        contact.save()
                    except Exception, e:
                        transaction.rollback()
                        logger.exception(e)
                        msg = "CSV import failed: %s" % e
                        messages.error(request, msg)
                        return HttpResponseRedirect(reverse('manage_recipients'))
                if form.cleaned_data['group']:
                    contact.group_recipients.add(form.cleaned_data['group'])
                conn, _ = Connection.objects.get_or_create(identity=identity,
                                                           backend=backend)
                conn.contact = contact
                conn.save()
            transaction.commit()
            msg = "Import successful"
            messages.info(request, msg)
            return HttpResponseRedirect(reverse('list_recipients'))