コード例 #1
0
  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)
コード例 #2
0
ファイル: test_contact.py プロジェクト: rhyolight/nupic.son
    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)
コード例 #3
0
ファイル: org_app.py プロジェクト: rhyolight/nupic.son
    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)
コード例 #4
0
ファイル: org_app.py プロジェクト: rhyolight/nupic.son
    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)
コード例 #5
0
ファイル: test_contact.py プロジェクト: rhyolight/nupic.son
  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)
コード例 #6
0
  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)
コード例 #7
0
ファイル: test_contact.py プロジェクト: rhyolight/nupic.son
    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)
コード例 #8
0
ファイル: test_contact.py プロジェクト: rhyolight/nupic.son
  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)