diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-04-23 19:37:36 -0700 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-04-23 19:38:28 -0700 | 
| commit | 2688e18228e15558c99f1372f003ca95e7be4523 (patch) | |
| tree | a1d820f58d228f36f60c69dd43d22ee884f41bf6 | |
| parent | d22bd9cd651c99ffc337c3516b02f84975f001a1 (diff) | |
| download | fatcat-2688e18228e15558c99f1372f003ca95e7be4523.tar.gz fatcat-2688e18228e15558c99f1372f003ca95e7be4523.zip | |
editgroup view
| -rw-r--r-- | fatcat/api.py | 2 | ||||
| -rw-r--r-- | fatcat/models.py | 1 | ||||
| -rw-r--r-- | fatcat/routes.py | 14 | ||||
| -rw-r--r-- | fatcat/templates/editgroup_view.html | 15 | ||||
| -rw-r--r-- | tests/routes.py | 3 | 
5 files changed, 34 insertions, 1 deletions
| diff --git a/fatcat/api.py b/fatcat/api.py index 6037b250..905a4317 100644 --- a/fatcat/api.py +++ b/fatcat/api.py @@ -220,6 +220,7 @@ def api_file_create():  @app.route('/v0/editgroup/<int:ident>', methods=['GET'])  def api_edit_group_get(ident):      entity = EditGroup.query.filter(EditGroup.id==ident).first_or_404() +    # TODO: fill in all the related edit types...      return edit_group_schema.jsonify(entity)  @app.route('/v0/editgroup', methods=['POST']) @@ -241,4 +242,3 @@ def api_edit_group_accept(ident):      entity = EditGroup.query.filter(EditGroup.id==ident).first_or_404()      accept_editgroup(entity)      return jsonify({'success': True}) - diff --git a/fatcat/models.py b/fatcat/models.py index ad00b62d..957c929f 100644 --- a/fatcat/models.py +++ b/fatcat/models.py @@ -249,6 +249,7 @@ class EditGroup(db.Model):      editor = db.relationship('Editor', foreign_keys='EditGroup.editor_id')      extra_json_id = db.Column(db.ForeignKey('extra_json.sha1'), nullable=True)      extra_json = db.relationship("ExtraJson") +    # TODO: changelog entry relationship  class Editor(db.Model):      __tablename__ = 'editor' diff --git a/fatcat/routes.py b/fatcat/routes.py index 2e77e7ac..3bfcf58a 100644 --- a/fatcat/routes.py +++ b/fatcat/routes.py @@ -69,6 +69,20 @@ def file_view(ident):      entity = json.loads(rv.data.decode('utf-8'))      return render_template('file_view.html', file=entity) +@app.route('/editgroup/<int:ident>', methods=['GET']) +def editgroup_view(ident): +    rv = api.api_edit_group_get(ident) +    if rv.status_code != 200: +        # TODO: better wrapping for all entities +        return abort(rv.status_code) +    entity = json.loads(rv.data.decode('utf-8')) +    return render_template('editgroup_view.html', editgroup=entity) + +@app.route('/editgroup/current', methods=['GET']) +def editgroup_current(ident): +    eg = api.get_or_create_edit_group() +    return redirect('/editgroup/{}'.format(eg.id)) +  ### Static Routes ########################################################### diff --git a/fatcat/templates/editgroup_view.html b/fatcat/templates/editgroup_view.html new file mode 100644 index 00000000..13eb2d7f --- /dev/null +++ b/fatcat/templates/editgroup_view.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} +{% block body %} + +<h1>Edit Group: {{ editgroup.id}}</h1> + +    description = db.Column(db.String) +    editor = db.relationship('Editor', foreign_keys='EditGroup.editor_id') + + +<p>Editor: <a href="/editor/{{ editgroup.editor.id }}">{{ editgroup.editor.username }}</a> +<p>Description: {{ editgroup.description }} + +<p>TODO: list edits by type...</p> + +{% endblock %} diff --git a/tests/routes.py b/tests/routes.py index 194dc865..49afc5ce 100644 --- a/tests/routes.py +++ b/tests/routes.py @@ -29,3 +29,6 @@ def test_all_views(rich_app):          rv = app.get('/v0/work/random')          rv = app.get(rv.location)          assert rv.status_code == 200 + +    rv = app.get('/editgroup/1') +    assert rv.status_code == 200 | 
