def get(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # look up user's groups groups = GroupMembers.get_user_groups(user_info.key) # create an object with group_id and member counts group_count = {} for group in groups: # get the member counts count = GroupMembers.get_group_user_count(group.key) group_count[group.key.id()] = count # setup channel to do page refresh channel_token = user_info.key.urlsafe() refresh_channel = channel.create_channel(channel_token) # params build out params = { 'groups': groups, 'group_count': group_count, 'refresh_channel': refresh_channel, 'channel_token': channel_token } return self.render_template('groups/groups.html', **params)
def get(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # load token and produce form page or show instructions if self.request.get('token'): self.form.token.data = self.request.get('token') # group choices pulldown self.form.group.choices = [] # add list of user's groups, if any groups = GroupMembers.get_user_groups(user_info.key) for group in groups: self.form.group.choices.insert(0, (group.key.id(), group.name)) # public group self.form.group.choices.insert(0, ('public', "Public")) # render new appliance page parms = { 'gform': self.gform, 'appliance_token': self.request.get('token') } return self.render_template('appliance/new.html', **parms) else: # render instructions return self.render_template('appliance/instructions.html')
def get(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # look up user's groups groups = GroupMembers.get_user_groups(user_info.key) # create an object with group_id and member counts group_count = {} for group in groups: # get the member counts count = GroupMembers.get_group_user_count(group.key) group_count[group.key.id()] = count # setup channel to do page refresh channel_token = user_info.key.urlsafe() refresh_channel = channel.create_channel(channel_token) # params build out params = { 'groups': groups, 'group_count': group_count, 'refresh_channel': refresh_channel, 'channel_token': channel_token } return self.render_template('groups/list.html', **params)
def get(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # load token and produce form page or show instructions if self.request.get("token"): self.form.token.data = self.request.get("token") # group choices pulldown self.form.group.choices = [] # add list of user's groups, if any groups = GroupMembers.get_user_groups(user_info.key) for group in groups: self.form.group.choices.insert(0, (group.key.id(), group.name)) # public group self.form.group.choices.insert(0, ("public", "Public")) # render new appliance page parms = {"gform": self.gform, "appliance_token": self.request.get("token")} return self.render_template("appliance/new.html", **parms) else: # render instructions return self.render_template("appliance/instructions.html")
def get(self, appliance_id=None): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # lookup the appliance appliance = Appliance.get_by_id(long(appliance_id)) # group choices pulldown self.form.group.choices = [] # add list of user's groups, if any groups = GroupMembers.get_user_groups(user_info.key) for group in groups: self.form.group.choices.insert(0, (group.key.id(), group.name)) # public group self.form.group.choices.insert(0, ("public", "Public")) self.form.name.data = appliance.name self.form.token.data = appliance.token # hacking the form pulldown with javascript because I'm in a hurry if appliance.group: group_id = appliance.group.get().key.id() else: group_id = "public" # this should work, but doesn't - see javascript in appliance_edit.html self.form.group.data = group_id # render new appliance page parms = {"appliance": appliance, "group_id": group_id, "gform": self.gform} return self.render_template("appliance/edit.html", **parms)
def get(self, appliance_id = None): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # lookup the appliance appliance = Appliance.get_by_id(long(appliance_id)) # group choices pulldown self.form.group.choices=[] # add list of user's groups, if any groups = GroupMembers.get_user_groups(user_info.key) for group in groups: print group.key.id() self.form.group.choices.insert(0, (group.key.id(), group.name)) # public group self.form.group.choices.insert(0, ('public', "Public")) self.form.name.data = appliance.name self.form.token.data = appliance.token # hacking the form pulldown with javascript because I'm in a hurry if appliance.group: group_id = appliance.group.get().key.id() else: group_id = "public" # this should work, but doesn't - see javascript in appliance_edit.html self.form.group.data = group_id # render new appliance page parms = { 'appliance': appliance, 'group_id': group_id, 'gform': self.gform } return self.render_template('appliance/appliance_edit.html', **parms)
def post(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # initialize form choices for group self.form.group.choices = [] # add list of user's groups, if any groups = GroupMembers.get_user_groups(user_info.key) for group in groups: self.form.group.choices.insert(0, (str(group.key.id()), group.name)) # public group self.form.group.choices.insert(0, ('public', "Public")) # check if we are getting a custom group entry if self.form.group.data == "custom": # check if the group exists if Group.get_by_name(self.form.custom.data.strip()): self.add_message("A group with that name already exists!", "error") return self.redirect_to('account-appliances') # make the new group group = Group(name=self.form.custom.data.strip(), owner=user_info.key) group.put() group_key = group.key # create the group member entry groupmember = GroupMembers( group=group_key, member=user_info.key, invitor=user_info.key, # same same active=True) groupmember.put() # hack the form with new group self.form.group.choices.insert(0, ('custom', "Custom")) else: # grab an existing group if self.form.group.data.strip() == 'public': # no group for public appliances group_key = None else: # check membership group = Group.get_by_id(int(self.form.group.data.strip())) if GroupMembers.is_member(user_info.key, group.key): group_key = group.key else: group_key = None # check what was returned from the rest of the form validates if not self.form.validate(): self.add_message("The new appliance form did not validate.", "error") return self.get() # load form values name = self.form.name.data.strip() token = self.form.token.data.strip() # check if we have it already - all that work bitches? if Appliance.get_by_token(token): self.add_message("An appliance with that token already exists!", "error") return self.redirect_to('account-appliances') # save the new appliance in our database appliance = Appliance(name=name, token=token, group=group_key, owner=user_info.key) appliance.put() # log to alert self.add_message("Appliance %s successfully created!" % name, "success") # give it a few seconds to update db, then redirect time.sleep(1) return self.redirect_to('account-appliances')
def post(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # initialize form choices for group self.form.group.choices = [] # add list of user's groups, if any groups = GroupMembers.get_user_groups(user_info.key) for group in groups: self.form.group.choices.insert(0, (str(group.key.id()), group.name)) # public group self.form.group.choices.insert(0, ("public", "Public")) # check if we are getting a custom group entry if self.form.group.data == "custom": # check if the group exists if Group.get_by_name(self.form.custom.data.strip()): self.add_message("A group with that name already exists!", "error") return self.redirect_to("account-appliances") # make the new group group = Group(name=self.form.custom.data.strip(), owner=user_info.key) group.put() group_key = group.key # create the group member entry groupmember = GroupMembers( group=group_key, member=user_info.key, invitor=user_info.key, active=True # same same ) groupmember.put() # hack the form with new group self.form.group.choices.insert(0, ("custom", "Custom")) else: # grab an existing group if self.form.group.data.strip() == "public": # no group for public appliances group_key = None else: # check membership group = Group.get_by_id(int(self.form.group.data.strip())) if GroupMembers.is_member(user_info.key, group.key): group_key = group.key else: group_key = None # check what was returned from the rest of the form validates if not self.form.validate(): self.add_message("The new appliance form did not validate.", "error") return self.get() # load form values name = self.form.name.data.strip() token = self.form.token.data.strip() # check if we have it already - all that work bitches? if Appliance.get_by_token(token): self.add_message("An appliance with that token already exists!", "error") return self.redirect_to("account-appliances") # save the new appliance in our database appliance = Appliance(name=name, token=token, group=group_key, owner=user_info.key) appliance.put() # log to alert self.add_message("Appliance %s successfully created!" % name, "success") # give it a few seconds to update db, then redirect time.sleep(1) return self.redirect_to("account-appliances")