def setUp(self): self.user = User.objects.get(username='******') self.dnc = DNC(name='test_dnc', user=self.user) self.dnc.save() self.assertTrue(self.dnc.__unicode__()) self.dnc_contact = DNCContact(dnc=self.dnc, phone_number='123456') self.dnc_contact.save() self.assertTrue(self.dnc_contact.__unicode__())
class DNCModel(TestCase): """ Test DNC model """ fixtures = ['auth_user.json'] def setUp(self): self.user = User.objects.get(username='******') self.dnc = DNC( name='test_dnc', user=self.user ) self.dnc.save() self.assertTrue(self.dnc.__unicode__()) self.dnc_contact = DNCContact( dnc=self.dnc, phone_number='123456' ) self.dnc_contact.save() self.assertTrue(self.dnc_contact.__unicode__()) def test_dnc_form(self): self.assertEqual(self.dnc.name, 'test_dnc') form = DNCForm({'name': 'sample_dnc'}) obj = form.save(commit=False) obj.user = self.user obj.save() form = DNCForm(instance=self.dnc) self.assertTrue(isinstance(form.instance, DNC)) def test_dnc_contact_form(self): self.assertEqual(self.dnc_contact.dnc, self.dnc) form = DNCContactForm(self.user) form.phone_number = '123456' obj = form.save(commit=False) obj.dnc = self.dnc obj.save() form = DNCContactForm(self.user, instance=self.dnc_contact) self.assertTrue(isinstance(form.instance, DNCContact)) def test_name(self): self.assertEqual(self.dnc.name, "test_dnc") self.assertEqual(self.dnc_contact.phone_number, "123456") def teardown(self): self.dnc.delete() self.dnc_contact.delete()
class DNCModel(TestCase): """ Test DNC model """ fixtures = ['auth_user.json'] def setUp(self): self.user = User.objects.get(username='******') self.dnc = DNC( name='test_dnc', user=self.user ) self.dnc.save() self.assertTrue(self.dnc.__unicode__()) self.dnc_contact = DNCContact( dnc=self.dnc, phone_number='123456' ) self.dnc_contact.save() self.assertTrue(self.dnc_contact.__unicode__()) def test_dnc_form(self): self.assertEqual(self.dnc.name, 'test_dnc') form = DNCListForm({'name': 'sample_dnc'}) form.save(user=self.user) form = DNCListForm(instance=self.dnc) self.assertTrue(isinstance(form.instance, DNC)) def test_dnc_contact_form(self): self.assertEqual(self.dnc_contact.dnc, self.dnc) form = DNCContactForm(self.user) form.phone_number = '123456' obj = form.save(commit=False) obj.dnc = self.dnc obj.save() form = DNCContactForm(self.user, instance=self.dnc_contact) self.assertTrue(isinstance(form.instance, DNCContact)) def test_name(self): self.assertEqual(self.dnc.name, "test_dnc") self.assertEqual(self.dnc_contact.phone_number, "123456") def teardown(self): self.dnc.delete() self.dnc_contact.delete()
def setUp(self): self.user = User.objects.get(username='******') self.dnc = DNC( name='test_dnc', user=self.user ) self.dnc.save() self.assertTrue(self.dnc.__unicode__()) self.dnc_contact = DNCContact( dnc=self.dnc, phone_number='123456' ) self.dnc_contact.save() self.assertTrue(self.dnc_contact.__unicode__())
def dnc_contact_import(request): """Import CSV file of DNC Contacts for the logged in user **Attributes**: * ``form`` - DNCContact_fileImport * ``template`` - frontend/dnc/import_contact.html **Logic Description**: * Add new dnc contacts which will belong to the logged in user via csv file & get the result (upload success and failure statistics) **Important variable**: * total_rows - Total no. of records in the CSV file * retail_record_count - No. of records imported from the CSV file """ form = DNCContact_fileImport(request.user) csv_data = '' msg = '' error_msg = '' success_import_list = [] type_error_import_list = [] contact_cnt = 0 dup_contact_cnt = 0 bulk_record = [] if request.method == 'POST': form = DNCContact_fileImport(request.user, request.POST, request.FILES) if form.is_valid(): # col_no - field name # 0 - contact # To count total rows of CSV file #Get DNC Obj dnc = get_object_or_404(DNC, pk=request.POST['dnc_list'], user=request.user) records = csv.reader(request.FILES['csv_file']) total_rows = len(list(records)) BULK_SIZE = 1000 csv_data = csv.reader(request.FILES['csv_file']) #Read each Row for row in csv_data: row = striplist(row) if not row or str(row[0]) == 0: continue #Check field type try: int(row[0]) except ValueError: error_msg = _("Some of the imported data were invalid!") type_error_import_list.append(row) continue bulk_record.append( DNCContact(dnc_id=dnc.id, phone_number=row[0])) contact_cnt = contact_cnt + 1 if contact_cnt < 100: #We want to display only 100 lines of the success import success_import_list.append(row) if contact_cnt % BULK_SIZE == 0: #Bulk insert DNCContact.objects.bulk_create(bulk_record) bulk_record = [] if bulk_record: #Remaining record DNCContact.objects.bulk_create(bulk_record) bulk_record = [] #check if there is contact imported if contact_cnt > 0: msg = _('%(contact_cnt)s dnc contact(s) are uploaded successfully out of %(total_rows)s row(s) !!') \ % {'contact_cnt': contact_cnt, 'total_rows': total_rows} if dup_contact_cnt > 0: error_msg = _('Duplicate dnc contact(s) %(dup_contact_cnt)s are not inserted!!') \ % {'dup_contact_cnt': dup_contact_cnt} data = RequestContext( request, { 'form': form, 'msg': msg, 'error_msg': error_msg, 'success_import_list': success_import_list, 'type_error_import_list': type_error_import_list, 'module': current_view(request), 'dialer_setting_msg': user_dialer_setting_msg(request.user), }) template = 'frontend/dnc_contact/import_dnc_contact.html' return render_to_response(template, data, context_instance=RequestContext(request))