示例#1
0
    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)
示例#2
0
    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('/')
示例#3
0
    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))
示例#4
0
    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))