def post(self): self.response.headers['Content-Type'] = 'text/html' user = users.get_current_user() myuser_key = ndb.Key('MyUser', user.email()) myuser = myuser_key.get() board_id = self.request.get('id') invited_user = self.request.get('invited_user') getBoard = TaskBoard.get_by_id(board_id) board_name = getBoard.tb_name get_member = MyUser.get_by_id(invited_user) action = self.request.get('button') if action == 'invite': newMember = TaskBoardProperty(tb_name=board_name, tb_id=board_id) get_member.myuser_board.append(newMember) get_member.put() getBoard.tb_member.append(invited_user) getBoard.put() self.redirect('/') elif action == 'cancel': self.redirect('/view_board?id=' + board_id)
def post(self): self.response.headers['Content-Type'] = 'text/html' # GET USER KEY user = users.get_current_user() myuser_key = ndb.Key('MyUser', user.user_id()) user_info = MyUser.get_by_id(myuser_key.id()) action = self.request.get('button') # CREATE New Gallery if action == 'Create New Gallery': # GET NEW GALLERY NAME gallery_name = self.request.get('gallery_name') # CREATE NEW GALLERY new_gallery = Gallery(creator=myuser_key, gallery_name=gallery_name) new_gallery.put() # We also have to pass the details of this gallery to the MyUser datastore associate_gallery_to_user = MyUser.get_by_id(myuser_key.id()) associate_gallery_to_user.gallery_key.append(new_gallery.key) associate_gallery_to_user.put() self.redirect('/dashboard') elif action == 'Edit Gallery': # GET CURRENT GALLERY DETAILS gallery_key = int(self.request.get('gallery_key')) current_gallery = Gallery.get_by_id(gallery_key) # GET NEW GALLERY NAME new_gallery_name = self.request.get('edit_gallery_name') current_gallery.gallery_name = new_gallery_name current_gallery.put() self.redirect('/') elif action == 'Yes': # DELETE GALLERY gall_id = int(self.request.get('delete_gallery_id')) current_gallery = Gallery.get_by_id(gall_id) user_info.gallery_key.remove(current_gallery.key) user_info.put() current_gallery.key.delete() self.redirect('/')
def post(self): boardId = self.request.get('id') getBoard = TaskBoard.get_by_id(boardId) board_name = getBoard.tb_name board_members = getBoard.tb_member board_tasks = list(getBoard.tb_task) user = users.get_current_user() myuser_key = ndb.Key('MyUser', user.email()) myuser = myuser_key.get() action = self.request.get('button') if action == 'remove_user': selected_user = self.request.get('selected_user') getUser = MyUser.get_by_id(selected_user) userBoards = getUser.myuser_board if (userBoards == selected_user): self.redirect('/') for a in board_members: if (selected_user == a): board_members.remove(a) getBoard.put() for b in list(userBoards): if (b.tb_name == board_name): userBoards.remove(b) getUser.put() for i in board_tasks: if (i.assigned_user == selected_user): i.assigned_user = '******' getBoard.put() self.redirect('/view_board?id=' + boardId) elif action == 'cancel': self.redirect('/view_board?id=' + boardId) template_values = { 'myuser': myuser, 'board_id': boardId, 'board_members': board_members } template = JINJA_ENVIRONMENT.get_template('delete_user.html') self.response.write(template.render(template_values))
def get(self): self.response.headers['Content-Type'] = 'text/html' url = '' welcome = '' login_status = '' user = users.get_current_user() if user: url = users.create_logout_url('/') login_status = 'Logout' myuser_key = ndb.Key('MyUser', user.user_id()) myuser = myuser_key.get() if myuser == None: myuser = MyUser(id=user.user_id(), email=user.email()) myuser.put() user_info = MyUser.get_by_id(myuser_key.id()) user_galleries = user_info.gallery_key all_imgs_in_gallery = [] all_gallery_names = [] multiple_results = [] for i in user_galleries: aa = [] gallery_deets = Gallery.get_by_id(i.id()).image_key for g in gallery_deets: aa.append(Image.get_by_id(g.id()).image_name) all_imgs_in_gallery.append(aa) all_gallery_names.append(Gallery.get_by_id(i.id()).gallery_name) # self.response.write(all_imgs_in_gallery) dic = defaultdict(list) for i, x in enumerate(all_imgs_in_gallery): for j, y in enumerate(x): dic[y].append((i, j)) for num, coords in dic.items(): if len(coords) > 1: multiple_text = "\"{0}\" appears in ".format(num) uu = [] unique_uu = [] for x in coords: jj = int(str(x)[1]) uu.append(all_gallery_names[jj]) # for q in uu: # yu = len(all_gallery_names[jj] in uu) yu = uu.count(all_gallery_names[jj]) if yu <= 1: unique_uu.append(all_gallery_names[jj]) multiple_results.append(multiple_text + ", ".join(str(x) for x in unique_uu)) else: url = users.create_login_url(self.request.uri) login_status = 'Login' template_values = { 'url': url, 'user': user, 'welcome': welcome, 'login_status': login_status, 'user_email': user.email(), 'user_galleries': user_galleries, 'myuser_key': myuser_key, 'Gallery': Gallery, 'Image': Image, 'multiple_results': multiple_results, } template = JINJA_ENVIRONMENT.get_template('dashboard.html') self.response.write(template.render(template_values))
def get(self): self.response.headers['Content-Type'] = 'text/html' url = '' welcome = '' login_status = '' user = users.get_current_user() if user: url = users.create_logout_url('/') login_status = 'Logout' myuser_key = ndb.Key('MyUser', user.user_id()) myuser = myuser_key.get() user_info = MyUser.get_by_id(myuser_key.id()) user_galleries = user_info.gallery_key else: url = users.create_login_url(self.request.uri) login_status = 'Login' url_link = self.request.get('url') url_info = ndb.Key(urlsafe=url_link) url_id = url_info.id() gallery_details = Gallery.get_by_id(url_id) pictures_in_gallery = gallery_details.image_key count = 0 duplicate_count = 0 img_in_gallery = [] duplicates = [] final_duplicates = [] for i in pictures_in_gallery: count += 1 img_in_gallery.append(Image.get_by_id(i.id()).image_name) for x in img_in_gallery: if img_in_gallery.count(x) > 1: duplicates.append(x) for y in duplicates: if y not in final_duplicates: final_duplicates.append(y) duplicate_count = len(final_duplicates) template_values = { 'url': url, 'user': user, 'welcome': welcome, 'login_status': login_status, 'user_email': user.email(), 'gallery_details': gallery_details, 'myuser_key': myuser_key, 'Gallery': Gallery, 'upload_url': blobstore.create_upload_url('/upload'), 'pictures_in_gallery': pictures_in_gallery, 'Image': Image, 'count': count, 'duplicates': duplicates, 'duplicate_count': duplicate_count, } template = JINJA_ENVIRONMENT.get_template('gallery.html') self.response.write(template.render(template_values))