def post(self, request, form_code): manager = get_database_manager(request.user) feeds_dbm = get_feeds_database(request.user) project_id = request.GET["project_id"] project = Project.load(manager.database, project_id) form_model = get_form_model_by_code(manager, form_code) user_profile = NGOUserProfile.objects.get(user=request.user) organization = Organization.objects.get(org_id=user_profile.org_id) submission_importer = SubmissionImporter( manager, feeds_dbm, request.user, form_model, project, SubmissionQuotaService(organization)) response = submission_importer.import_submission(request) return HttpResponse( json.dumps({ "success": self._successful(response), "question_map": self._get_question_code_map(form_model, request), "success_submissions": response.saved_entries, "errored_submission_details": response.errored_entrie_details, "message": response.message, "total_submissions": response.total_submissions, "quota_over": self._is_submission_quota_over(response) }))
def test_should_update_datasender_id_with_logged_in_user_for_a_project_submitted_by_a_non_user( self): submission_importer = SubmissionImporter(None, None, None, None, None) rows = [{}, {}] user_profile = MagicMock() user_profile.reporter_id = 'rep123' submission_importer._add_reporter_id_for_datasender( parsed_rows=rows, user_profile=user_profile, is_organization_user=False) self.assertEquals(rows[0]['dsid'], 'rep123') self.assertEquals(rows[1]['dsid'], 'rep123')
def test_should_update_datasender_id_with_logged_in_user_for_a_summary_project_submitted_by_a_user_with_no_explicit_datasender_entry( self): submission_importer = SubmissionImporter(None, None, None, None, None, None) rows = [{'eid': ''}, {'eid': 'rep276'}] user_profile = MagicMock() user_profile.reporter_id = 'rep123' submission_importer._add_reporter_id_for_datasender( parsed_rows=rows, user_profile=user_profile, is_organization_user=True, is_summary_project=True) self.assertEquals(rows[0]['eid'], 'rep123') self.assertEquals(rows[1]['eid'], 'rep276')
def test_should_not_update_datasender_id_with_logged_in_user_for_a_individual_project( self): submission_importer = SubmissionImporter(None, None, None, None, None, None) rows = [{}, {}] user_profile = MagicMock() user_profile.reporter_id = 'rep123' submission_importer._add_reporter_id_for_datasender( parsed_rows=rows, user_profile=user_profile, is_organization_user=False, is_summary_project=False) self.assertFalse('eid' in rows[0]) self.assertFalse('eid' in rows[1])