def post(self): if not self.auth(): self.respond('!') # not authenticated return name = self.get_post('u', '') self.out = '0' if name: # find the player's uid since I work with UIDs and not names q = User.query(User.name_lower == name.lower()) user = q.get() if not user: self.respond('0'); return # not found uid = int(user.get_id()) if uid == self.uid: self.respond('0'); return # cant add self self.out = '1' # check if not allready in friend list if self.user.friends: for f in self.user.friends: if f == uid: self.respond('1'); return; # found the friend in list, return self.user.friends.append(uid) # not found ,add self.out += str(uid) + ',' + user.name else: self.user.friends = [uid] # create list since it was None self.out += str(uid) + ',' + user.name self.user.put() # save self.respond()
def post(self, action=None): if 'find_button' in self.request.POST: find_email = self.request.POST['email'] q = User.query(User.email==find_email) user = q.get() if user: key = user.key.urlsafe() if key: form = UserOwnsForm() form.init_with_model(user) context['form'] = form context['edit_key'] = key context['player_name'] = user.name self.render_response("admin/shop_edit.html", **context) return elif 'save_button' in self.request.POST: form = UserOwnsForm(self.request.POST) if form.validate(): key = model.Key(urlsafe=self.request.POST['edit_key']) bmplayer = key.get() bmplayer.shop=['0'] form.update_model(bmplayer) bmplayer.put() form = UserFindForm() context['form'] = form self.render_response("admin/shop_index.html", **context)
def post(self): if not self.auth(): self.respond('!') # not authenticated return name = self.get_post('u', '') channel_ids = self.get_post('n', '') self.out = '0' #default is error # player wants to join/create a private channel with another player if name: # find the player's uid since I work with UIDs and not names q = User.query(User.name_lower == name.lower()) user = q.get() if not user: self.respond('0'); return # not found uid = int(user.get_id()) if uid == self.uid: self.respond('0'); return # cant PM self # first check if the channel between the two players dont exist, else create it # check for channel(s) where this user and target is in the uids and it is pm_channel q = ChatChannel.query(ChatChannel.pm_channel == True, ChatChannel.uids == uid, ChatChannel.uids == self.uid) channel = q.get() # get first result if channel: # there is a channel, update its created date so it is fresh and then send it to player channel.created = datetime.datetime.now() channel.put() self.out = '1' + str(channel.key.id()) else: # first check if requested user exist target = User.get_by_id(uid) # create the channel if target: channel = ChatChannel(pm_channel = True, uids = [uid, self.uid] ) key = channel.put() if key: self.out = '1' + str(key.id()) # player wants the names for channels elif channel_ids: sids = channel_ids.split(',') cids = [int(s) for s in sids if s] channels = ChatChannel.get_multi_by_id(cids) if cids else None if channels: self.out = '1' for channel in channels: # send the name as is if the channel has one if channel.name: self.out += '|' + str(channel.key.id()) + ',' + channel.name # else try and find the name it should be, prolly a player name for pm channel else: uid = 0 # find the other player's id in the list for idd in channel.uids: if idd != self.uid: uid = idd break if uid > 0: player = User.get_by_id(uid) if player: self.out += '|' + str(channel.key.id()) + ',' + player.name self.respond()