Beispiel #1
0
  def get(self):
    response = fetch( \
      "https://rpxnow.com/api/v2/auth_info",
      payload = "apiKey=%s&token=%s" % \
    (
      "c53e2281f9009394b91c66e3a1914209b69cb4cd",
      self.request.get('token')
        ),
      method = POST
    )
    obj = parse_json(response.content)
    if response.status_code != 200 or obj['stat'] == 'fail':
      self.response.out.write("Fail! " + response.content)
      return


    if self.user:
      if 'identifier' in obj['profile']:
        user = User.all().filter('identifier', obj['profile']['identifier']).get()
	if user:
          self.render_error('already_exists', {'user' : user })
	  return
      self.user.verified = True
      self.user.update_from_profile(obj['profile'])
    else:
      self.user = User.from_profile(obj['profile'])

    self.generate_authenticity_token()
      
    self.redirect('/')
def index():
    if not authenticated(session):
        abort(401)

    conn = connection()
    users = User.all(conn)

    return render_template("user/index.html", users=users)
Beispiel #3
0
    def test_inserting_duplicate_username(self):
        u = User(username = '******', password = "******", email =
                '*****@*****.**')
        User.save_to_db(u);
        u2 = User(username = '******', password = "******", email =
                '*****@*****.**')

        assert User.save_to_db(u2) == False
        assert len(User.all()) == 1
Beispiel #4
0
 def get(self):
   values = {
     'sent': self.user.bets_sent,#.filter('better_status != ', 'withdrawn'),#.order('-updated_at'),
     'received': self.user.bets_received,#.filter('bettee_status != ', 'rejected'),#.order('-updated_at'),
     'owe': self.user.debts,
     'own': self.user.moneys,
     'title': "Virtual Economies Online",
     'users': User.all().filter('__key__ !=', self.user),
     'form': BetForm(user = self.user)
   }
   self.render('home', values)
Beispiel #5
0
    def test_find_all(self):
        u = User(username = '******', password = "******", email =
                '*****@*****.**')
        User.save_to_db(u)
        u = User(username = '******', password = "******", email =
                '*****@*****.**')
        User.save_to_db(u)
        u = User(username = '******', password = "******", email =
                '*****@*****.**')
        User.save_to_db(u)

        assert len(User.all()) == 3
Beispiel #6
0
 def read(raw_token, app):
     token_info = decode_token(raw_token)
     if token_info[0]:
         current_user = User(**token_info[1])
         try:
             if current_user.obtener_rol() == 'Administrador':
                 user = User.all()
                 return handler_response(app, 200, user.serialize())
             else:
                 return handler_response(
                     app, 403, "El usuario no es un administrador")
         except Exception as e:
             return handler_response(app, 400, str(e))
     return handler_response(app, 403, "Envie un token valido.")
Beispiel #7
0
  def post(self):
    email = self.request.get('email')
    bettee = User.all().filter('email', email).get()

    if bettee:
      self.redirect("/user/%s" % bettee.key())
      return

    bettee = User(
      displayName = self.request.get('bettee'),
      email = email,
      claim_token = str(uuid()),
      verified = False
    )
    bettee.put()

    bet = Bet(
      better = self.user,
      bettee = bettee,
      better_amount = self.request.get('better_amount'),
      bettee_amount = self.request.get('bettee_amount'),
      description = self.request.get('description')
    )
    bet.put()

    mail.send_mail(sender = "'%s (%s)' <%s>" % (self.user, self.host, "'Glenn Murray (creator of vconomy)' <*****@*****.**>"),
                   to = bettee.email,
                   subject="%s: %s bet you $%s that '%s'" % (self.host, self.user, bet.better_amount, bet.description),
                   body="""
Hello from %s!

%s [via %s] (http://%s/user/%s) has bet you %s virtual dollars that "%s".

To respond to this bet, go here http://%s/claim/%s and respond!

Creating an account is simple, we support logging in via Google, Facebook,
Yahoo, Twitter and OpenID.

Hope to see you online,

 - %s (via %s)
""" % (self.host, self.user, self.user.providerName, self.host,
       self.user.key(), bet.better_amount, bet.description,
       self.host, bettee.claim_token, 
       self.user, self.host))

    self.redirect('/user/%s' % bettee.key())
Beispiel #8
0
  def get(self, token):
    if self.user:
      self.render_error('already_logged_in')
      return

    user = User.all().filter("claim_token", token).get()

    if not user:
      self.error(404)
      self.render_error('404')
      return

    user.verifiedEmail = user.email
    user.put()

    self.user = user
    self.render("login", {
      'bets' : user.bets_received
    })
Beispiel #9
0
 def __init__(self, *args, **kwargs):
   choices = [(u.key(),u) for u in User.all().filter('__key__ !=', kwargs.pop('user'))]
   super(BetForm, self).__init__(*args, **kwargs)
   self.fields['bettee'] = ChoiceField(choices = choices)
Beispiel #10
0
 def get_base_logic(self):
     honeybadger.notify(error_class='Exception', error_message='Test Message')
     return {
         "hello": "world",
         "count": len(User.all())
     }
Beispiel #11
0
 def get(self):
   self.render('users', {'users': User.all()})
Beispiel #12
0
class TestUsers(unittest.TestCase):
    def setUp(self):
        self.user_obj = User()
        self.user = {}

    def tearDown(self):
        self.user_obj.destroy()

    def test_create_user(self):
        user_info = {
            "email": "*****@*****.**",
            "password": "******",
            "role_id": 2
        }

        user = self.user_obj.get(user_info["email"])

        if not user:
            user = self.user_obj.create(user_info)
        self.assertIsNotNone(user)

    def test_select_users(self):
        self.user_obj = User()
        users = self.user_obj.all()
        self.assertIsNotNone(users)

    def test_remove_existent_user(self):
        email = "*****@*****.**"
        self.user_obj = User()
        user = self.user_obj.get(email)
        if user:
            user = self.user_obj.delete(email)
            self.assertTrue(user)
        else:
            self.assertFalse(user)

    def test_edit_user_password(self):
        self.user_obj = User()
        user_info = {"email": "*****@*****.**", "password": "******"}
        user = self.user_obj.edit(user_info)
        self.assertIsNotNone(user)
        self.assertEqual(
            user, {
                'id': 38,
                'email': '*****@*****.**',
                'password': '',
                'role_id': 2
            })
        self.user['password'] = user["password"]

    def test_edit_user_role(self):
        self.user_obj = User()
        user_info = {"email": "*****@*****.**", "role_id": 1}
        user = self.user_obj.edit(user_info)
        self.assertEqual(
            user, {
                'id': 38,
                'email': '*****@*****.**',
                'password': '',
                'role_id': 1
            })

    def test_edit_user_role_password(self):
        self.user_obj = User()
        user_info = {
            "email": "*****@*****.**",
            "password": "******",
            "role_id": 2
        }
        user = self.user_obj.edit(user_info)
        self.assertEqual(
            user, {
                'id': 38,
                'email': '*****@*****.**',
                'password': '',
                'role_id': 2
            })
 def get(self):
     return User.all(), 200
Beispiel #14
0
 def test_empty_password(self):
     u = User(username = '******', password = "", email =
             '*****@*****.**')
     assert User.save_to_db(u) == False
     assert len(User.all()) == 0
     
Beispiel #15
0
 def test_empty_username(self):
     u = User(username = '', password = "******", email =
             '*****@*****.**')
     assert User.save_to_db(u) == False
     assert len(User.all()) == 0