def do_get_flags(parser, token): """ Get flags for an object. Syntax: {% get_flags for [object] by [user] type [type-slug] as [varname] %} Example: {% get_flags for object by user type "favorites" as flag %} """ tags = parse_ttag(token, ['for', 'by', 'type', 'as']) if len(tags) != 5: raise template.TemplateSyntaxError, '%r tag has invalid arguments' % tags['tag_name'] return GetFlags(object_name=tags['for'], user=tags['by'], slug=tags['type'], varname=tags['as'])
def do_get_messages(parser, token): """ Get messages for an object. Syntax: {% get_messages for [object] as [varname] %} Example: {% get_messages for object as message_list %} """ tags = parse_ttag(token, ['for', 'as']) if len(tags) != 3: raise template.TemplateSyntaxError, '%r tag has invalid arguments' % tags['tag_name'] return GetMessages(object_name=tags['for'], varname=tags['as'])
def do_unflag_url(parser, token): """ Return URL for unflagging an object. Syntax: {% unflag_url for [object] and [slug] %} Usage: {% unflag_url for entry and 'offensive' %} """ tags = parse_ttag(token, ['for', 'and']) if len(tags) != 3: raise template.TemplateSyntaxError, '%r tag has invalid arguments' % tags['tag_name'] return GetFlagUrl('unflag', object_name=tags['for'], slug=tags['and'])
def do_get_flag_types(parser, token): """ Return flagging types for an object Syntax: {% get_flag_types for [object] as [varname] %} Usage: {% get_flag_types for entry as flag_type_list %} """ tags = parse_ttag(token, ['for', 'as']) if len(tags) != 3: raise template.TemplateSyntaxError, '%r tag has invalid arguments' % tags['tag_name'] return GetFlagTypeNode(object_name=tags['for'], varname=tags['as'])
def render_template(parser, token): """ Returns the proper template based on the objects content_type. If an template doesn't exist it'll fallback to default.html. Syntax: {% render_template for [object] in [path to templates] %} Usage: {% render_template for entry in "includes/lists" %} """ tags = parse_ttag(token, ['for', 'in']) if len(tags) != 3: raise template.TemplateSyntaxError, '%r tag has invalid arguments' % tags['tag_name'] return RenderTemplateNode(object_name=tags['for'], template_dir=tags['in'])
def do_get_flags(parser, token): """ Get flags for an object. Syntax: {% get_flags for [object] by [user] type [type-slug] as [varname] %} Example: {% get_flags for object by user type "favorites" as flag %} """ tags = parse_ttag(token, ['for', 'by', 'type', 'as']) if len(tags) != 5: raise template.TemplateSyntaxError, '%r tag has invalid arguments' % tags[ 'tag_name'] return GetFlags(object_name=tags['for'], user=tags['by'], slug=tags['type'], varname=tags['as'])