Implement ticket tracker creation

This commit is contained in:
Drew DeVault 2020-04-02 13:41:46 -04:00
parent e3cae053b9
commit c2b3216250
2 changed files with 17 additions and 1 deletions

View File

@ -48,7 +48,13 @@ def new_POST(owner, project_name):
owner, project = get_project(owner, project_name, ProjectAccess.write)
valid = Validation(request)
if "create" in valid:
assert False # TODO
remote_tracker = todo.create_tracker(owner, valid)
trackers = todo.get_trackers(owner)
trackers = sorted(trackers, key=lambda r: r["updated"], reverse=True)
if not valid.ok:
return render_template("tracker-new.html",
view="new-resource", owner=owner, project=project,
trackers=trackers, **valid.kwargs)
else:
tracker_name = None
for field in valid.source:

View File

@ -121,6 +121,16 @@ class TodoService(SrhtService):
raise Exception(r.json())
return r.json()
def create_tracker(self, user, valid):
name = valid.require("name")
description = valid.optional("description")
if not valid.ok:
return None
return self.post(user, valid, f"{_todosrht}/api/trackers", {
"name": name,
"description": description,
})
def delete_tracker(self, user, tracker_name):
r = self.session.delete(f"{_todosrht}/api/trackers/{tracker_name}",
headers=get_authorization(user))