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 sub in Subscription.all().filter("user ==", user).filter("deleted ==", False): if sub.source.key() == cl.key(): helpers.createResponse(self, 'message_already_subscribed.html', {'old_checklist': cl}) sub = Subscription( user=user, source=cl, deleted=False, ) sub.put() for item in cl.item_set: subItem = SubscribedItem( subscription=sub, original=item, finished=False, deleted=False, ) subItem.put() helpers.createResponse(self, 'message_subscribed.html')
def post(self): subItem = SubscribedItem.get(Key(self.request.get('key'))) subItem.finished = (self.request.get('finished') == 'finished') subItem.put() total, finished = 0, 0 sub = subItem.subscription for subItem in sub.subscribeditem_set: total += 1 if subItem.finished: finished += 1 sub.progress = finished*100/total sub.put()
def post(self): cl = Checklist.get(Key.from_path('Checklist', long(self.request.get('cl_id')))) subscribe = self.request.get('subscribe') if not helpers.checkPermissionAndRespond(self, cl=cl, edit=False): return user = users.get_current_user() if subscribe == 'false': for sub in Subscription.all().filter("user ==", user).filter("deleted ==", False): if sub.source.key() == cl.key(): for subItem in sub.subscribeditem_set: subItem.delete() sub.delete() cl.subscribers = cl.subscribers - 1 self.response.write("unsubscribed") else: sub = Subscription( user=user, source=cl, deleted=False, ) sub.put() for item in cl.item_set.filter("deleted ==", False): subItem = SubscribedItem( subscription=sub, original=item, finished=False, deleted=False, ) subItem.put() cl.subscribers = cl.subscribers + 1 self.response.write("subscribed") cl.put()
def post(self): item = Item.get(Key(self.request.get("key"))) for sub in item.checklist.subscription_set: new_sub = SubscribedItem(subscription=sub, original=item, finished=False, deleted=False) new_sub.put()