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))
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'))