home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

10 rows where issue = 1397084281 sorted by updated_at descending

✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: created_at (date), updated_at (date)

user 1

  • simonw 10

issue 1

  • If user can see table but NOT database/instance nav links should not display · 10 ✖

author_association 1

  • OWNER 10
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
1278198700 https://github.com/simonw/datasette/issues/1831#issuecomment-1278198700 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5ML8Os simonw 9599 2022-10-13T21:29:09Z 2022-10-13T21:29:09Z OWNER

I'm going to commit the code now, but then I need to add some extra tests to ensure the breadcrumb permission display logic works correctly.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1278198145 https://github.com/simonw/datasette/issues/1831#issuecomment-1278198145 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5ML8GB simonw 9599 2022-10-13T21:28:30Z 2022-10-13T21:28:30Z OWNER

This has turned into a full refactor of how breadcrumbs work.

I'm using my first ever Jinja macro for this - I import that at the top of base.html so that it will be available everywhere else:

html+jinja {% import "_crumbs.html" as crumbs with context %}<!DOCTYPE html> The with context bit is needed so the macro can see the new crumb_items() function that I'm adding to the global template rendering scope.

Here's the full content of _crumbs.html:

```html+jinja {% macro nav(request, database=None, table=None) -%} {% set items=crumb_items(request=request, database=database, table=table) %} {% if items %}

{% for item in items %} {{ item.label }} {% if not loop.last %} / {% endif %} {% endfor %}

{% endif %} {%- endmacro %} `` This means custom template authors can use their own_crumbs.html` template to do something different with the breadcrumbs.

In the actual templates I display breadcrumbs like this:

html+jinja {% block crumbs %} {{ crumbs.nav(request=request, database=database) }} {% endblock %} Pass database= to get home / database_name - pass table= as well to get home / database_name / table_name - if you just send request= you just get home.

I've also made the default base template show the home breadcrumbs - other pages such as table.html and row.html can then over-ride {% block crumbs %} to get different breadcrumbs.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1278175798 https://github.com/simonw/datasette/issues/1831#issuecomment-1278175798 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5ML2o2 simonw 9599 2022-10-13T21:02:52Z 2022-10-13T21:02:52Z OWNER

This patch to default_permissions.py made debugging easier: https://gist.github.com/simonw/daddf022e75a98ea6246ac1e12dc8759

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276882359 https://github.com/simonw/datasette/issues/1831#issuecomment-1276882359 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MG623 simonw 9599 2022-10-13T00:36:09Z 2022-10-13T00:36:19Z OWNER

It's important that, however this works, it supports custom templates changing how the breadcrumbs are displayed. Probably needs a _crumbs.html template.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276856836 https://github.com/simonw/datasette/issues/1831#issuecomment-1276856836 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MG0oE simonw 9599 2022-10-12T23:57:28Z 2022-10-12T23:57:28Z OWNER

As part of this I think I want request to always be available in the template context, which will remove the need for https://datasette.io/plugins/datasette-template-request

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276706181 https://github.com/simonw/datasette/issues/1831#issuecomment-1276706181 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MGP2F simonw 9599 2022-10-12T20:34:00Z 2022-10-12T23:43:39Z OWNER

Maybe new template functions: table_crumbs(table, database) and database_crumbs(database) and instance_crumbs() - which know how to both check the permissions and display the <ul> full of links.

Or just crumbs(table=table, database=database) where both of those are optional. Maybe accept actor= or request= too.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276848084 https://github.com/simonw/datasette/issues/1831#issuecomment-1276848084 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MGyfU simonw 9599 2022-10-12T23:39:02Z 2022-10-12T23:39:02Z OWNER

Made some notes on the Jinja documentation while thinking about the best way to do this: - https://github.com/simonw/public-notes/issues/4

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276696138 https://github.com/simonw/datasette/issues/1831#issuecomment-1276696138 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MGNZK simonw 9599 2022-10-12T20:25:39Z 2022-10-12T20:25:39Z OWNER

Related issue:

  • 1829

I'd like a code design for this that helps solve both these issues at once.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276694152 https://github.com/simonw/datasette/issues/1831#issuecomment-1276694152 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MGM6I simonw 9599 2022-10-12T20:23:44Z 2022-10-12T20:23:44Z OWNER

The fact that this code is inconsistent already (urls.instance() v.s. base_url for example) suggests that properly refactoring this is well overdue already.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  
1276693475 https://github.com/simonw/datasette/issues/1831#issuecomment-1276693475 https://api.github.com/repos/simonw/datasette/issues/1831 IC_kwDOBm6k_c5MGMvj simonw 9599 2022-10-12T20:23:01Z 2022-10-12T20:23:01Z OWNER

Here are all the places that display that navigation bar at the moment:

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/row.html#L18-L25

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/table.html#L19-L25

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/query.html#L21-L27

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/error.html#L5-L10

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/database.html#L12-L17

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/show_json.html#L7-L12

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/permissions_debug.html#L25-L30

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/permissions_debug.html#L25-L30t

Interesting to note that failing to include that super() call means the nav menu itself will not be rendered:

https://github.com/simonw/datasette/blob/b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9/datasette/templates/base.html#L20-L49

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
If user can see table but NOT database/instance nav links should not display 1397084281  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
, [performed_via_github_app] TEXT);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Queries took 19.612ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows