def get(self): user = users.get_current_user() checklist_q = Checklist.all().filter("user ==", user).filter("deleted ==", False).order("title"); cursor = self.request.get('cursor_cl') if cursor: checklist_q = checklist_q.with_cursor(cursor) checklists = checklist_q.fetch(10) checklist_q = checklist_q.with_cursor(checklist_q.cursor()) subs_by_cl = [] for cl in checklists: subs = [] for sub in cl.subscription_set: subs.append(sub) subs_by_cl.append(subs) subs_q = Subscription.all().filter("user ==", user).filter("deleted ==", False); cursor = self.request.get('cursor_sub') if cursor: subs_q = subs_q.with_cursor(cursor) subs = subs_q.fetch(10) subs_q = subs_q.with_cursor(subs_q.cursor()) helpers.createResponse(self, 'dashboard_cls.html', {'checklists': checklists, 'cursor_cl': checklist_q.cursor(), 'subs_by_cl': subs_by_cl, 'subs': subs, 'cursor_sub': subs_q.cursor(), 'more_subs': subs_q.count(1) == 1, 'more_cls': checklist_q.count(1) == 1, })
def get(self): user = users.get_current_user() checklists, user_url, cl_cursor, item_cursors, items = None, None, None, None, None if not user: user_url = users.create_login_url(self.request.uri) else: user_url = users.create_logout_url("/") q = Checklist.all().filter("user ="******"title") checklists = q.fetch(5) item_queries = [ cl.listitem_set for cl in checklists ] items = [ q.fetch(10) for q in item_queries ] cl_cursor = q.cursor() item_cursors = [ q.cursor() for q in item_queries ] template = jinja_environment.get_template('templates/index.html') template_values = { 'checklists': checklists, 'cl_cursor': cl_cursor, 'items': items, 'item_cursors': item_cursors, 'user': user, 'user_url': user_url } self.response.out.write(template.render(template_values))
def get(self): user = users.get_current_user() checklist_q = Checklist.all().filter("user ==", user).filter("deleted ==", False).order("title"); cursor = self.request.get('cursor_cl') if cursor: checklist_q = checklist_q.with_cursor(cursor) checklists = checklist_q.fetch(20) cursor_cl = checklist_q.cursor() checklist_q = checklist_q.with_cursor(cursor_cl) subs_q = Subscription.all().filter("user ==", user).filter("deleted ==", False); cursor = self.request.get('cursor_sub') if cursor: subs_q = subs_q.with_cursor(cursor) subs = subs_q.fetch(20) cursor_sub = subs_q.cursor() subs_q = subs_q.with_cursor(cursor_sub) helpers.createResponse(self, 'dashboard_cls.html', {'checklists': checklists, 'cursor_cl': cursor_cl, 'subs': subs, 'cursor_sub': cursor_sub, 'more_subs': subs_q.count(1) == 1, 'more_cls': checklist_q.count(1) == 1, })
def get(self): for item in Item.all().filter("deleted ==", True): if item.item_set.count(1) == 0: item.delete() for cl in Checklist.all().filter("deleted ==", True): if cl.checklist_set.count(1) == 0: cl.delete()
def get(self): user = users.get_current_user() checklist_q = Checklist.all().filter("user ="******"deleted ==", False).order("title") cursor = self.request.get('cursor') if cursor: checklist_q = checklist_q.with_cursor(cursor) checklists = checklist_q.fetch(7) helpers.createResponse(self, 'list_cls.html', {'checklists': checklists, 'checklists_cursor': checklist_q.cursor()})
def post(self): cl = Checklist.get(Key.from_path('Checklist', long(self.request.get('cl_id')))) if not helpers.checkPermissionAndRespond(self, cl=cl, edit=False): return user = users.get_current_user() for checklist in Checklist.all().filter("user ==", user): if checklist.source.key() == cl.key(): helpers.createResponse(self, 'message_already_subscribed.html', {'old_checklist': cl, 'my_checklist': checklist}) return new_cl = Checklist( title = cl.title, description = cl.description, user = user, progress = cl.progress, public = cl.public, source = cl, deleted = cl.deleted, ) new_cl.put() for item in cl.item_set: new_item = Item( title = item.title, description = item.description, progress = item.progress, progress_description = item.progress_description, difficulty = item.difficulty, original = item, checklist = new_cl, deleted = item.deleted, ) new_item.put() helpers.pushNotification(cl, "subscribed to your Checklist", user, cl.user, True) helpers.createResponse(self, 'message_subscribed.html')