mirror of https://git.sr.ht/~sircmpwn/hub.sr.ht
Implement ticket tracker creation
This commit is contained in:
parent
e3cae053b9
commit
c2b3216250
|
@ -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:
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue