def read_contacts_from_file(user, input_file):
    print "in read_from_file"
    for line in input_file:
        contact_info = line.split(', ')
        contact_name = contact_info[0]
        contact_phone = contact_info[1]
        contact_email = contact_info[2]
        contact_employer = contact_info[3]
        contact_notes = contact_info[4].strip()

        if len(contact_phone) != 10:
            print "ERROR: phone number"
            print len(contact_phone)
            return
        if "@" not in contact_email:
            print "ERROR: email"
            return

        contact = Contact(name=contact_name,
                          phone_number=contact_phone,
                          email=contact_email,
                          employer=contact_employer,
                          notes=contact_notes,
                          user=user)
        contact.save()
def new_contact(request):
    print "In new contact"
    if request.method == "POST" and request.FILES:
        print "in new contact upload multiple"
        form = UploadFileForm(request.FILES)
        read_contacts_from_file(request.user, request.FILES['filep'])
        context = {'username': request.user.username}

        #return contacts(request,'all')
        return HttpResponseRedirect('/jam/contacts/all/')

    if request.method == "POST":
        form_data = request.POST

        # avoid adding contacts with the same name!
        contact_num = form_data.get('phone')
        print "contact num = " + contact_num

        contact_email = form_data.get('email')
        contact_name = form_data.get('name')
        print contact_name

        #print "contact name = " + contact_name
        ''' see whether a contact with the same name already exists
				if it does, re-render the form with an appropriate error.
				if it doesn't, go ahead with business as usual, creating the company DB record
		'''
        if len(contact_num) != 0 and request.user.contact_set.filter(
                phone_number=contact_num).exists():
            #request.user.contact_set.get(name=contact_name)
            print "INVALID NUM!!!"
            msg = "Sorry, you've already added a contact with that number!"

            # return err response to AJAX via JSON
            response = {}
            response["error"] = msg
            print "got here"
            return HttpResponseBadRequest(json.dumps(response),
                                          content_type="application/json")

        elif len(contact_email) != 0 and request.user.contact_set.filter(
                email=contact_email).exists():
            #request.user.contact_set.get(name=contact_name)
            print "INVALID EMAIL!!!"
            msg = "Sorry, you've already added a contact with that email!"

            # return err response to AJAX via JSON
            response = {}
            response["error"] = msg
            print "got here"
            return HttpResponseBadRequest(json.dumps(response),
                                          content_type="application/json")

        else:
            print "making new contact!"

            contact_notes = form_data.get('notes')
            if contact_notes == '':
                contact_notes = " "

            if len(contact_num) == 0 and len(contact_email) == 0:
                contact = Contact(name=contact_name,
                                  employer=form_data.get('company'),
                                  notes=contact_notes,
                                  user=request.user)
            elif len(contact_num) == 0:
                contact = Contact(name=contact_name,
                                  email=form_data.get('email'),
                                  employer=form_data.get('company'),
                                  notes=contact_notes,
                                  user=request.user)
            elif len(contact_email) == 0:
                contact = Contact(name=contact_name,
                                  phone_number=form_data.get('phone'),
                                  employer=form_data.get('company'),
                                  notes=contact_notes,
                                  user=request.user)
            else:
                contact = Contact(name=contact_name,
                                  phone_number=form_data.get('phone'),
                                  email=form_data.get('email'),
                                  employer=form_data.get('company'),
                                  notes=contact_notes,
                                  user=request.user)

            contact.save()
            context = {'username': request.user.username}

            return render(request, 'jam/index/index_landing_home.html',
                          context)