def post(self, id, item_id, item_type, list_position): """Add an item to a worklist. :param id: The ID of the worklist. :param item_id: The ID of the item. :param item_type: The type of the item (i.e. "story" or "task"). :param list_position: The position in the list to add the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) item = None if item_type == 'story': item = stories_api.story_get( item_id, current_user=request.current_user_id) elif item_type == 'task': item = tasks_api.task_get( item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound(_("Item %s refers to a non-existent task or " "story.") % item_id) worklists_api.add_item( id, item_id, item_type, list_position, current_user=request.current_user_id) return wmodels.WorklistItem.from_db_model( worklists_api.get_item_at_position(id, list_position))
def put(self, id, item_id, list_position, list_id=None, display_due_date=None): """Update a WorklistItem. This method also updates the positions of other items in affected worklists, if necessary. :param id: The ID of the worklist. :param item_id: The ID of the worklist_item to be moved. :param display_due_date: The ID of the due date displayed on the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) if worklists_api.get_item_by_id(item_id) is None: raise exc.NotFound(_("Item %s seems to have been deleted, " "try refreshing your page.") % item_id) worklists_api.move_item(id, item_id, list_position, list_id) if display_due_date is not None: if display_due_date == -1: display_due_date = None update_dict = { 'display_due_date': display_due_date } worklists_api.update_item(item_id, update_dict) updated = worklists_api.get_item_by_id(item_id) result = wmodels.WorklistItem.from_db_model(updated) result.resolve_due_date(updated) return result
def delete(self, id, item_id): """Remove an item from a worklist. :param id: The ID of the worklist. :param item_id: The ID of the worklist item to be removed. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) item = worklists_api.get_item_by_id(item_id) if item is None: raise exc.NotFound(_("Item %s seems to have already been deleted," " try refreshing your page.") % item_id) worklists_api.update_item(item_id, {"archived": True})
def delete(self, id, item_id): """Remove an item from a worklist. :param id: The ID of the worklist. :param item_id: The ID of the worklist item to be removed. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) item = worklists_api.get_item_by_id(item_id) if item is None: raise exc.NotFound(_("Item %s seems to have already been deleted," " try refreshing your page.") % item_id) worklists_api.update_item(item_id, {'archived': True})
def put(self, id, item_id, list_position, list_id=None, display_due_date=None): """Update a WorklistItem. This method also updates the positions of other items in affected worklists, if necessary. :param id: The ID of the worklist. :param item_id: The ID of the worklist_item to be moved. :param display_due_date: The ID of the due date displayed on the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) card = worklists_api.get_item_by_id(item_id) if card is None: raise exc.NotFound(_("Item %s seems to have been deleted, " "try refreshing your page.") % item_id) item = None if card.item_type == 'story': item = stories_api.story_get( card.item_id, current_user=request.current_user_id) elif card.item_type == 'task': item = tasks_api.task_get( card.item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound(_("Item %s refers to a non-existent task or " "story.") % item_id) worklists_api.move_item(id, item_id, list_position, list_id) if display_due_date is not None: if display_due_date == -1: display_due_date = None update_dict = { 'display_due_date': display_due_date } worklists_api.update_item(item_id, update_dict) updated = worklists_api.get_item_by_id(item_id) result = wmodels.WorklistItem.from_db_model(updated) result.resolve_due_date(updated) return result
def post(self, id, item_id, item_type, list_position): """Add an item to a worklist. :param id: The ID of the worklist. :param item_id: The ID of the item. :param item_type: The type of the item (i.e. "story" or "task"). :param list_position: The position in the list to add the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) worklists_api.add_item(id, item_id, item_type, list_position) return wmodels.WorklistItem.from_db_model( worklists_api.get_item_at_position(id, list_position))
def post(self, id, item_id, item_type, list_position): """Add an item to a worklist. Example:: TODO :param id: The ID of the worklist. :param item_id: The ID of the item. :param item_type: The type of the item (i.e. "story" or "task"). :param list_position: The position in the list to add the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) item = None if item_type == 'story': item = stories_api.story_get(item_id, current_user=request.current_user_id) elif item_type == 'task': item = tasks_api.task_get(item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound( _("Item %s refers to a non-existent task or " "story.") % item_id) card = worklists_api.add_item(id, item_id, item_type, list_position, current_user=request.current_user_id) added = { "worklist_id": id, "item_id": item_id, "item_title": item.title, "item_type": item_type, "position": card.list_position } events_api.worklist_contents_changed_event(id, user_id, added=added) return wmodels.WorklistItem.from_db_model(card)
def post(self, id, item_id, item_type, list_position): """Add an item to a worklist. Example:: TODO :param id: The ID of the worklist. :param item_id: The ID of the item. :param item_type: The type of the item (i.e. "story" or "task"). :param list_position: The position in the list to add the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) item = None if item_type == 'story': item = stories_api.story_get( item_id, current_user=request.current_user_id) elif item_type == 'task': item = tasks_api.task_get( item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound(_("Item %s refers to a non-existent task or " "story.") % item_id) card = worklists_api.add_item( id, item_id, item_type, list_position, current_user=request.current_user_id) added = { "worklist_id": id, "item_id": item_id, "item_title": item.title, "item_type": item_type, "position": card.list_position } events_api.worklist_contents_changed_event(id, user_id, added=added) return wmodels.WorklistItem.from_db_model(card)
def delete(self, id, item_id): """Remove an item from a worklist. Example:: TODO :param id: The ID of the worklist. :param item_id: The ID of the worklist item to be removed. """ user_id = request.current_user_id worklist = worklists_api.get(id) if not worklists_api.editable_contents(worklist, user_id): raise exc.NotFound(_("Worklist %s not found") % id) card = worklists_api.get_item_by_id(item_id) if card is None: raise exc.NotFound(_("Item %s seems to have already been deleted," " try refreshing your page.") % item_id) worklists_api.archive_item(item_id) item = None if card.item_type == 'story': item = stories_api.story_get( card.item_id, current_user=user_id) elif card.item_type == 'task': item = tasks_api.task_get( card.item_id, current_user=user_id) if item is None: item.title = '' removed = { "worklist_id": id, "item_id": card.item_id, "item_type": card.item_type, "item_title": item.title } events_api.worklist_contents_changed_event(id, user_id, removed=removed)
def delete(self, id, item_id): """Remove an item from a worklist. Example:: TODO :param id: The ID of the worklist. :param item_id: The ID of the worklist item to be removed. """ user_id = request.current_user_id worklist = worklists_api.get(id) if not worklists_api.editable_contents(worklist, user_id): raise exc.NotFound(_("Worklist %s not found") % id) card = worklists_api.get_item_by_id(item_id) if card is None: raise exc.NotFound( _("Item %s seems to have already been deleted," " try refreshing your page.") % item_id) worklists_api.update_item(item_id, {'archived': True}) worklists_api.normalize_positions(worklist) item = None if card.item_type == 'story': item = stories_api.story_get(card.item_id, current_user=user_id) elif card.item_type == 'task': item = tasks_api.task_get(card.item_id, current_user=user_id) if item is None: item.title = '' removed = { "worklist_id": id, "item_id": card.item_id, "item_type": card.item_type, "item_title": item.title } events_api.worklist_contents_changed_event(id, user_id, removed=removed)
def post(self, id, item_id, item_type, list_position): """Add an item to a worklist. :param id: The ID of the worklist. :param item_id: The ID of the item. :param item_type: The type of the item (i.e. "story" or "task"). :param list_position: The position in the list to add the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) item = None if item_type == "story": item = stories_api.story_get(item_id, current_user=request.current_user_id) elif item_type == "task": item = tasks_api.task_get(item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound(_("Item %s refers to a non-existent task or " "story.") % item_id) worklists_api.add_item(id, item_id, item_type, list_position, current_user=request.current_user_id) return wmodels.WorklistItem.from_db_model(worklists_api.get_item_at_position(id, list_position))
def put(self, id, item_id, list_position, list_id=None, display_due_date=None): """Update a WorklistItem. Example:: TODO This method also updates the positions of other items in affected worklists, if necessary. :param id: The ID of the worklist. :param item_id: The ID of the worklist_item to be moved. :param display_due_date: The ID of the due date displayed on the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) card = worklists_api.get_item_by_id(item_id) if card is None: raise exc.NotFound( _("Item %s seems to have been deleted, " "try refreshing your page.") % item_id) item = None if card.item_type == 'story': item = stories_api.story_get(card.item_id, current_user=request.current_user_id) elif card.item_type == 'task': item = tasks_api.task_get(card.item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound( _("Item %s refers to a non-existent task or " "story.") % item_id) old = { "worklist_id": card.list_id, "item_id": card.item_id, "item_title": item.title, "item_type": card.item_type, "position": card.list_position, "due_date_id": card.display_due_date } new = { "item_id": card.item_id, "item_title": item.title, "item_type": card.item_type } if list_position != card.list_position and list_position is not None: new['position'] = list_position if list_id != card.list_id and list_id is not None: new['worklist_id'] = list_id worklists_api.move_item(id, item_id, list_position, list_id) if display_due_date is not None: if display_due_date == -1: display_due_date = None update_dict = {'display_due_date': display_due_date} worklists_api.update_item(item_id, update_dict) new['due_date_id'] = display_due_date updated = {"old": old, "new": new} events_api.worklist_contents_changed_event(id, user_id, updated=updated) updated = worklists_api.get_item_by_id(item_id) result = wmodels.WorklistItem.from_db_model(updated) result.resolve_due_date(updated) return result
def put(self, id, item_id, list_position, list_id=None, display_due_date=None): """Update a WorklistItem. Example:: TODO This method also updates the positions of other items in affected worklists, if necessary. :param id: The ID of the worklist. :param item_id: The ID of the worklist_item to be moved. :param display_due_date: The ID of the due date displayed on the item. """ user_id = request.current_user_id if not worklists_api.editable_contents(worklists_api.get(id), user_id): raise exc.NotFound(_("Worklist %s not found") % id) card = worklists_api.get_item_by_id(item_id) if card is None: raise exc.NotFound(_("Item %s seems to have been deleted, " "try refreshing your page.") % item_id) item = None if card.item_type == 'story': item = stories_api.story_get( card.item_id, current_user=request.current_user_id) elif card.item_type == 'task': item = tasks_api.task_get( card.item_id, current_user=request.current_user_id) if item is None: raise exc.NotFound(_("Item %s refers to a non-existent task or " "story.") % item_id) old = { "worklist_id": card.list_id, "item_id": card.item_id, "item_title": item.title, "item_type": card.item_type, "position": card.list_position, "due_date_id": card.display_due_date } new = { "item_id": card.item_id, "item_title": item.title, "item_type": card.item_type } if list_position != card.list_position and list_position is not None: new['position'] = list_position if list_id != card.list_id and list_id is not None: new['worklist_id'] = list_id worklists_api.move_item(item_id, list_position, list_id) if display_due_date is not None: if display_due_date == -1: display_due_date = None update_dict = { 'display_due_date': display_due_date } worklists_api.update_item(item_id, update_dict) new['due_date_id'] = display_due_date updated = { "old": old, "new": new } events_api.worklist_contents_changed_event(id, user_id, updated=updated) updated = worklists_api.get_item_by_id(item_id) result = wmodels.WorklistItem.from_db_model(updated) result.resolve_due_date(updated) return result