def post(self, data, check, mutator): """See base.RequestHandler.post for specification.""" form = _formToCreateOrgProfile(request_data=data, data=data.POST) if not form.is_valid(): # TODO(nathaniel): problematic self-use. return self.get(data, check, mutator) else: contact_properties = form.getContactProperties() result = contact_logic.createContact(**contact_properties) if not result: raise exception.BadRequest(message=result.extra) else: org_properties = form.getOrgProperties() org_properties['contact'] = result.extra # org_id is a special property org_id = org_properties['org_id'] del org_properties['org_id'] result = createOrganizationTxn( data, org_id, data.program.key(), org_properties, [data.ndb_profile.key, form.cleaned_data['backup_admin'].key], data.models) if not result: raise exception.BadRequest(message=result.extra) else: url = links.LINKER.organization( result.extra.key, urls.UrlNames.ORG_APPLICATION_SUBMIT) return http.HttpResponseRedirect(url)
def testValidData(self): """Tests that contact entity is created properly if all data is valid.""" result = contact_logic.createContact(email=TEST_EMAIL, web_page=TEST_WEB_PAGE, mailing_list=TEST_MAILING_LIST, irc_channel=TEST_IRC_CHANNEL, feed_url=TEST_FEED_URL, google_plus=TEST_GOOGLE_PLUS, facebook=TEST_FACEBOOK, blog=TEST_BLOG, twitter=TEST_TWITTER, phone=TEST_PHONE) self.assertTrue(result) contact = result.extra self.assertEqual(contact.email, TEST_EMAIL) self.assertEqual(contact.web_page, TEST_WEB_PAGE) self.assertEqual(contact.irc_channel, TEST_IRC_CHANNEL), self.assertEqual(contact.mailing_list, TEST_MAILING_LIST) self.assertEqual(contact.feed_url, TEST_FEED_URL) self.assertEqual(contact.google_plus, TEST_GOOGLE_PLUS) self.assertEqual(contact.facebook, TEST_FACEBOOK) self.assertEqual(contact.blog, TEST_BLOG) self.assertEqual(contact.twitter, TEST_TWITTER) self.assertEqual(contact.phone, TEST_PHONE)
def post(self, data, check, mutator): """See base.RequestHandler.post for specification.""" form = _formToCreateOrgProfile(request_data=data, data=data.POST) if not form.is_valid(): # TODO(nathaniel): problematic self-use. return self.get(data, check, mutator) else: contact_properties = form.getContactProperties() result = contact_logic.createContact(**contact_properties) if not result: raise exception.BadRequest(message=result.extra) else: org_properties = form.getOrgProperties() org_properties["contact"] = result.extra # org_id is a special property org_id = org_properties["org_id"] del org_properties["org_id"] result = createOrganizationTxn( data, org_id, data.program.key(), org_properties, [data.ndb_profile.key, form.cleaned_data["backup_admin"].key], data.models, ) if not result: raise exception.BadRequest(message=result.extra) else: url = links.LINKER.organization(result.extra.key, urls.UrlNames.ORG_APPLICATION_SUBMIT) return http.HttpResponseRedirect(url)
def post(self, data, check, mutator): """See base.RequestHandler.post for specification.""" form = _formToEditOrgProfile(request_data=data, data=data.POST) if not form.is_valid(): # TODO(nathaniel): problematic self-use. return self.get(data, check, mutator) else: contact_properties = form.getContactProperties() result = contact_logic.createContact(**contact_properties) if not result: raise exception.BadRequest(message=result.extra) else: org_properties = form.getOrgProperties() org_properties["contact"] = result.extra updateOrganizationTxn(data.url_ndb_org.key, org_properties) url = links.LINKER.organization(data.url_ndb_org.key, urls.UrlNames.ORG_PROFILE_EDIT) return http.HttpResponseRedirect(url)
def testValidData(self): """Tests that contact entity is created properly if all data is valid.""" result = contact_logic.createContact( email=TEST_EMAIL, web_page=TEST_WEB_PAGE, mailing_list=TEST_MAILING_LIST, irc_channel=TEST_IRC_CHANNEL, feed_url=TEST_FEED_URL, google_plus=TEST_GOOGLE_PLUS, facebook=TEST_FACEBOOK, blog=TEST_BLOG, twitter=TEST_TWITTER, phone=TEST_PHONE) self.assertTrue(result) contact = result.extra self.assertEqual(contact.email, TEST_EMAIL) self.assertEqual(contact.web_page, TEST_WEB_PAGE) self.assertEqual(contact.irc_channel, TEST_IRC_CHANNEL), self.assertEqual(contact.mailing_list, TEST_MAILING_LIST) self.assertEqual(contact.feed_url, TEST_FEED_URL) self.assertEqual(contact.google_plus, TEST_GOOGLE_PLUS) self.assertEqual(contact.facebook, TEST_FACEBOOK) self.assertEqual(contact.blog, TEST_BLOG) self.assertEqual(contact.twitter, TEST_TWITTER) self.assertEqual(contact.phone, TEST_PHONE)
def post(self, data, check, mutator): """See base.RequestHandler.post for specification.""" form = _formToEditOrgProfile(request_data=data, data=data.POST) if not form.is_valid(): # TODO(nathaniel): problematic self-use. return self.get(data, check, mutator) else: contact_properties = form.getContactProperties() result = contact_logic.createContact(**contact_properties) if not result: raise exception.BadRequest(message=result.extra) else: org_properties = form.getOrgProperties() org_properties['contact'] = result.extra updateOrganizationTxn(data.url_ndb_org.key, org_properties) url = links.LINKER.organization( data.url_ndb_org.key, urls.UrlNames.ORG_PROFILE_EDIT) return http.HttpResponseRedirect(url)
def testInvalidData(self): """Tests that contact entity is not created if data is not valid.""" # email is not valid result = contact_logic.createContact(email='test@example') self.assertFalse(result) # email is an URL result = contact_logic.createContact(email='http://invalid.email.com') self.assertFalse(result) # web_page is not valid result = contact_logic.createContact(web_page='invalid') self.assertFalse(result) # web_page is an email result = contact_logic.createContact(web_page='*****@*****.**') self.assertFalse(result) # feed_url is not valid result = contact_logic.createContact(feed_url='invalid') self.assertFalse(result) # feed_url is an email result = contact_logic.createContact(feed_url='*****@*****.**') self.assertFalse(result) # google_plus is not valid result = contact_logic.createContact(google_plus='invalid') self.assertFalse(result) # google_plus is an email result = contact_logic.createContact(google_plus='*****@*****.**') self.assertFalse(result) # facebook is not valid result = contact_logic.createContact(facebook='invalid') self.assertFalse(result) # facebook is an email result = contact_logic.createContact(facebook='*****@*****.**') self.assertFalse(result) # blog is not valid result = contact_logic.createContact(blog='invalid') self.assertFalse(result) # blog is an email result = contact_logic.createContact(blog='*****@*****.**') self.assertFalse(result) # twitter is not valid result = contact_logic.createContact(twitter='invalid') self.assertFalse(result) # twitter is an email result = contact_logic.createContact(twitter='*****@*****.**') self.assertFalse(result)