Ejemplo n.º 1
0
  def get(self):
    user_email = self.request.get('email').lower()
    logging.info("AddUserAsFriend "+user_email)
    user = User.query(ndb.GenericProperty('email_address') == user_email).get()
    if not user:
          user = User.query(ndb.GenericProperty('email_address') == user_email).get()

    if user.get_id() == self.user_id:
      self.response.out.write("EMAIL TO SELF")
      return
    if user:
      InviteInternal.add_invite(self.user_id, user.key.id())
      self.response.out.write("FOUND")
    else:
      self.response.out.write("NOT FOUND")
Ejemplo n.º 2
0
 def get(self):
   """
   get the users friends
   :return:
   """
   friends_data = []
   if config['all_are_friends']:
     for user in User.query():
       if user.get_id() == self.user_id:
         continue  # don't add myself again
       friends_data.append(self.user_id)
   else:
     assert False
     #TODO: check friends
     prof = user.profile()
     for friend in prof.friends:
       friends_data.append(friend.userId)
   json.dump(friends_data, self.response.out, default=json_serial)
   return
Ejemplo n.º 3
0
 def post(self):
     if is_administrator():
         try:
             logging.info("SyncToProd")
             seed_user = None
             for u in User.query():
                 if 'pegah' in u.auth_ids:
                     seed_user = u.key
                     break
             if seed_user:
                 logging.info("SyncToProd seed user")
                 url = 'https://rayv-app.appspot.com/admin/put_place_api'
                 place_list = json.loads(self.request.params['list'])
                 for place in place_list:
                     it = Item.get_by_id(place)
                     logging.info("SyncToProd sending " + it.place_name)
                     form_fields = place.id_to_json()
                     vote = Vote.query(Vote.voter == seed_user,
                                       Vote.item == it.key).get()
                     if vote:
                         form_fields['myComment'] = vote.comment
                         form_fields['voteScore'] = vote.vote
                     else:
                         form_fields['voteScore'] = VoteValue.VOTE_LIKED
                         form_fields['myComment'] = ""
                     form_data = urllib.urlencode(form_fields)
                     result = urlfetch.fetch(
                         url=url,
                         payload=form_data,
                         method=urlfetch.POST,
                         headers={
                             'Content-Type':
                             'application/x-www-form-urlencoded'
                         })
             else:
                 self.response.out.write('No Seed User')
         except Exception:
             logging.error('admin.SyncToProd', exc_info=True)
     logging.info("Sync Done to Prod")
     self.response.out.write("OK")
Ejemplo n.º 4
0
    def post(self):
        username = self.request.get('username').lower()
        user = User.query(
            google.appengine.ext.ndb.GenericProperty('email_address') ==
            username).get()
        # #user = self.user_model.get_by_auth_id(username)
        if not user:
            logging.info('Could not find any userId entry for username %s',
                         username)
        else:
            try:
                if user.blocked:
                    logging.info('ForgotPasswordHandler: Blocked user ' +
                                 username)
                    self.abort(403)
            except:
                pass
            user_id = user.get_id()
            token = self.user_model.create_signup_token(user_id)

            verification_url = self.uri_for('verification',
                                            type='p',
                                            user_id=user_id,
                                            signup_token=token,
                                            _full=True)

            msg = 'Please visit this link to reset your password\n%s' % verification_url
            mail_wrapper.send_mail(sender=settings.config['system_email'],
                                   to=user.email_address,
                                   subject="Password Reset",
                                   body=msg)
            logging.info("Reset email sent to %s" % user.email_address)

        params = {
            'message2':
            "If that account exists, an email was sent. "
            "Please read it for instructions"
        }
        self.render_template('login.html', params)
Ejemplo n.º 5
0
 def post(self):
   #https://cloud.google.com/appengine/docs/python/
   # appidentity/#Python_Asserting_identity_to_other_App_Engine_apps
   logging.debug("UpdateItemFromAnotherAppAPI")
   #TODO: Security
   #if app_identity.get_application_id() != settings.API_TARGET_APP_ID:
   #  logging.debug("UpdateItemFromAnotherAppAPI 403: %s != %s"%\
   # (app_identity.get_application_id(),settings.API_TARGET_APP_ID))
   #  self.abort(403)
   #app_id = self.request.headers.get('X-Appengine-Inbound-Appid', None)
   #logging.info('UpdateItemFromAnotherAppAPI: from app %s'%app_id)
   #if app_id in settings.ALLOWED_APP_IDS:
   if True:
     seed_user = None
     for u in User.query():
       if 'pegah' in u.auth_ids:
         seed_user = u.key.id()
         break
     if seed_user:
       logging.debug("UpdateItemFromAnotherAppAPI user:"******""
       for k in self.request.params:
         params += '"%s": "%s"'%(k, self.request.params[k])
       logging.debug("UpdateItemFromAnotherAppAPI params: "+params)
       if update_item_internal(self, seed_user, allow_update=False):
         logging.debug("UpdateItemFromAnotherAppAPI Done ")
       else:
         logging.debug("UpdateItemFromAnotherAppAPI Existed ")
       self.response.out.write("OK")
     else:
       logging_ext.error("UpdateItemFromAnotherAppAPI - couldn't get seed user",
                     exc_info=True)
       self.abort(500)
   else:
     logging.debug("UpdateItemFromAnotherAppAPI not allowed")
     self.abort(403)
Ejemplo n.º 6
0
 def add_blocked_to_user(self):
   users = User.query()
   for u in users:
     if not u.blocked:
       u.blocked = False
       u.put()