Exemple #1
0
def unique(dbm, telephone_number):
    telephone_number = remove_hyphens(telephone_number)
    try:
        find_reporter_entity(dbm, telephone_number)
    except NumberNotRegisteredException:
        return True
    return False
Exemple #2
0
 def _validate_unique_phone_number_for_reporter(self, submission):
     if submission.cleaned_data.get(ENTITY_TYPE_FIELD_CODE) == [REPORTER] and submission.form_model.is_registration_form():
         phone_number = submission.cleaned_data.get(MOBILE_NUMBER_FIELD_CODE)
         if is_empty(phone_number):
             raise MobileNumberMissing()
         actual_number = self._get_telephone_number(phone_number)
         try:
             find_reporter_entity(self.dbm, actual_number)
             raise MultipleReportersForANumberException(from_number=phone_number)
         except NumberNotRegisteredException:
             submission.cleaned_data[MOBILE_NUMBER_FIELD_CODE] = actual_number
Exemple #3
0
 def _validate_unique_phone_number_for_reporter(self, submission):
     if submission.cleaned_data.get(ENTITY_TYPE_FIELD_CODE) == [
             REPORTER
     ] and submission.form_model.is_registration_form():
         phone_number = submission.cleaned_data.get(
             MOBILE_NUMBER_FIELD_CODE)
         if is_empty(phone_number):
             raise MobileNumberMissing()
         actual_number = self._get_telephone_number(phone_number)
         try:
             find_reporter_entity(self.dbm, actual_number)
             raise MultipleReportersForANumberException(
                 from_number=phone_number)
         except NumberNotRegisteredException:
             submission.cleaned_data[
                 MOBILE_NUMBER_FIELD_CODE] = actual_number
Exemple #4
0
    def test_should_create_organization_setting_with_document_store_on_create_organization(
            self):
        c = Client()
        reg_post = dict(
            email="*****@*****.**",
            first_name="first_name",
            last_name="last",
            organization_addressline1="x",
            organization_addressline2="y",
            organization_city="city",
            organization_country="country",
            organization_name="TEST_ORG_NAME",
            organization_office_phone="",
            organization_sector="PublicHealth",
            organization_state="state",
            organization_website="",
            organization_zipcode="zip",
            password1="a",
            password2="a",
            title="",
        )
        response = c.post('/register/', reg_post)
        self.assertIsNotNone(response)

        user = User.objects.get(email='*****@*****.**')
        profile = RegistrationProfile.objects.get(user=user)
        activation_key = profile.activation_key
        response = c.post('/activate/%s/' % activation_key)
        self.assertIsNotNone(response)

        organization = Organization.objects.get(name="TEST_ORG_NAME")
        organization_settings = OrganizationSetting.objects.get(
            organization=organization)
        organization_db_name = organization_settings.document_store

        expected_org_db_name = ("hni_test_org_name_%s" %
                                (organization.org_id, )).lower()
        self.assertEqual(expected_org_db_name, organization_db_name)

        couch_server = couchdb.client.Server(settings.COUCH_DB_SERVER)

        org_db = None
        try:
            org_db = couch_server[organization_db_name]
        except Exception:
            self.fail("Organization database %s not created" %
                      (organization_db_name, ))
        self.assertIsNotNone(org_db)

        manager = get_db_manager(server=couch_server,
                                 database=organization_db_name)
        test_reporter = reporter.find_reporter_entity(
            manager, TEST_REPORTER_MOBILE_NUMBER)
        self.assertIsNotNone(test_reporter)

        #clean up the org db
        del couch_server[organization_db_name]
Exemple #5
0
 def accept(self, request):
     assert request is not None
     reporter_entity, reporter_name = reporter.find_reporter_entity(
         self.dbm, request.transport.source)
     form_code, values = self._parse(request)
     submission_response = self.submit(self.dbm, self.submission_handler,
                                       request.transport, form_code, values,
                                       reporter_entity)
     return Response(reporters=[{
         NAME_FIELD: reporter_name
     }],
                     submission_response=submission_response)
    def test_should_create_organization_setting_with_document_store_on_create_organization(self):
        c = Client()
        reg_post = dict(
            email="*****@*****.**",
            first_name="first_name",
            last_name="last",
            organization_addressline1="x",
            organization_addressline2="y",
            organization_city="city",
            organization_country="country",
            organization_name="TEST_ORG_NAME",
            organization_office_phone="",
            organization_sector="PublicHealth",
            organization_state="state",
            organization_website="",
            organization_zipcode="zip",
            password1="a",
            password2="a",
            title="",
            )
        response = c.post('/register/', reg_post)
        self.assertIsNotNone(response)

        user = User.objects.get(email='*****@*****.**')
        profile = RegistrationProfile.objects.get(user=user)
        activation_key = profile.activation_key
        response = c.post('/activate/%s/' % activation_key)
        self.assertIsNotNone(response)

        organization = Organization.objects.get(name="TEST_ORG_NAME")
        organization_settings = OrganizationSetting.objects.get(organization=organization)
        organization_db_name = organization_settings.document_store

        expected_org_db_name = ("hni_test_org_name_%s" % (organization.org_id,)).lower()
        self.assertEqual(expected_org_db_name, organization_db_name)

        couch_server = couchdb.client.Server(settings.COUCH_DB_SERVER)

        org_db = None
        try:
            org_db = couch_server[organization_db_name]
        except Exception:
            self.fail("Organization database %s not created" % (organization_db_name,))
        self.assertIsNotNone(org_db)

        manager = get_db_manager(server=couch_server, database=organization_db_name)
        test_reporter = reporter.find_reporter_entity(manager, TEST_REPORTER_MOBILE_NUMBER)
        self.assertIsNotNone(test_reporter)

        #clean up the org db
        del couch_server[organization_db_name]
Exemple #7
0
def unique(dbm, telephone_number):
    try:
        reporter_list = find_reporter_entity(dbm, telephone_number)
    except NumberNotRegisteredException:
        return True
    return False
Exemple #8
0
def unique(dbm, telephone_number):
    try:
        reporter_list = find_reporter_entity(dbm, telephone_number)
    except NumberNotRegisteredException:
        return True
    return False
Exemple #9
0
 def accept(self, request):
     assert request is not None
     reporter_entity,reporter_name = reporter.find_reporter_entity(self.dbm, request.transport.source)
     form_code, values = self._parse(request)
     submission_response = self.submit(self.dbm, self.submission_handler, request.transport, form_code, values, reporter_entity)
     return Response(reporters=[{ NAME_FIELD : reporter_name}], submission_response=submission_response)