You have access control on views, but you also want to apply the same checks in templates in a maintainable way.
This kicked off my solution: https://stackoverflow.com/questions/43904784/reuse-the-decorator-of-a-view-from-a-template
import { documentToReactComponents } from '@contentful/rich-text-react-renderer'; | |
import { graphql } from 'gatsby'; | |
import React from 'react'; | |
// Custom renderer for embedded content which accepts `body` / `references` from the graphql query. | |
// Search `references` for the embedded object ID for full access to nested content. | |
const rendererOptions = (references) => ({ | |
renderNode: { | |
[BLOCKS.EMBEDDED_ASSET]: (node) => { | |
const imageID = node.data.target.sys.id; |
#!/bin/bash | |
# Check out STEAM Powered (https://steampoweredshow.com/) where I have conversations | |
# with women in STEAM to learn a bit about what they do and who they are. | |
# https://steampoweredshow.com/learn-more/ | |
# Usage | |
# ===== | |
# | |
# Execute script in the directory containing the video and srts files, or modify to take |
const visit = require(`unist-util-visit`); | |
const remove = require(`unist-util-remove`); | |
const HTMLParser = require('node-html-parser'); | |
const matches = (classes, value) => { | |
const fragment = HTMLParser.parse(value); | |
if (!fragment.firstChild.classList) { | |
return false; | |
} |
### | |
# WARNING: This config is for development use only. | |
# | |
# It was created using https://slurm.schedmd.com/configurator.html and modified | |
# enough for use on Docker kaldiasr/kaldi with slurm 16.05.9-1+deb9u. | |
# | |
# slurm < 20.02.7 is no longer available due to a security vulnerability. | |
# See: https://www.schedmd.com/archives.php | |
# Get the latest version and use the configurator from there. | |
### |
# Source: https://github.com/yourlabs/django-autocomplete-light/blob/master/test_project/select2_generic_foreign_key/admin.py | |
import json | |
from django.contrib import admin | |
from django.contrib.admin.options import IS_POPUP_VAR, TO_FIELD_VAR | |
from django.contrib.contenttypes.models import ContentType | |
from django.template.response import TemplateResponse | |
from .forms import TForm |
""" | |
Check out STEAM Powered (https://steampoweredshow.com/) where I have conversations | |
with women in STEAM to learn a bit about what they do and who they are. | |
https://steampoweredshow.com/learn-more/ | |
""" | |
""" | |
Requirements | |
************ |
You have access control on views, but you also want to apply the same checks in templates in a maintainable way.
This kicked off my solution: https://stackoverflow.com/questions/43904784/reuse-the-decorator-of-a-view-from-a-template
# YMMV | |
from django.conf import settings | |
from django.contrib.auth.models import Group, Permission | |
from django.core.management.sql import emit_post_migrate_signal | |
from django.db import migrations, models | |
import django.db.models.deletion | |
import logging | |
// If you have multiple rules in your workflow that need to update token data. | |
function (user, context, callback) { | |
user.app_metadata = user.app_metadata || {}; | |
const token_namespace = 'https://your-domain.com/app_metadata'; | |
// assumes your metadata object is shallow | |
const addCustomerId = stripe_customer_id => ({ | |
...context.idToken[token_namespace], |