Merge pull request '#14: bouton « éditer » depuis la partie publique ?' (#28) from fix-1.0-14 into develop-1.0
Reviewed-on: #28
This commit is contained in:
commit
8281c1a4c9
|
@ -56,6 +56,10 @@ Usefull context:
|
|||
{% endfor %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="navbar-end">
|
||||
{% block top-nav-tools %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "aircox/basepage_detail.html" %}
|
||||
{% load static i18n humanize honeypot %}
|
||||
{% load static i18n humanize honeypot aircox %}
|
||||
{% comment %}
|
||||
Base template used to display a Page
|
||||
|
||||
|
@ -14,6 +14,19 @@ Context:
|
|||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block top-nav-tools %}
|
||||
{% has_perm page "change" as can_edit %}
|
||||
{% if can_edit %}
|
||||
<a class="navbar-item" href="{{ page|admin_url:'change' }}"
|
||||
target="new">
|
||||
<span class="icon is-small">
|
||||
<i class="fa fa-pen"></i>
|
||||
</span>
|
||||
<span>{% trans "Edit" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{{ block.super }}
|
||||
|
||||
|
|
|
@ -2,6 +2,8 @@ import random
|
|||
import json
|
||||
|
||||
from django import template
|
||||
from django.contrib.admin.templatetags.admin_urls import admin_urlname
|
||||
from django.urls import reverse
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
from aircox.models import Page, Diffusion, Log
|
||||
|
@ -10,6 +12,12 @@ random.seed()
|
|||
register = template.Library()
|
||||
|
||||
|
||||
@register.filter(name='admin_url')
|
||||
def do_admin_url(obj, arg, pass_id=True):
|
||||
""" Reverse admin url for object """
|
||||
name = admin_urlname(obj._meta, arg)
|
||||
return reverse(name, args=(obj.id,)) if pass_id else reverse(name)
|
||||
|
||||
@register.filter(name='get_tracks')
|
||||
def do_get_tracks(obj):
|
||||
""" Get a list of track for the provided log, diffusion, or episode """
|
||||
|
@ -20,6 +28,14 @@ def do_get_tracks(obj):
|
|||
obj = obj.episode
|
||||
return obj.track_set.all()
|
||||
|
||||
@register.simple_tag(name='has_perm', takes_context=True)
|
||||
def do_has_perm(context, obj, perm, user=None):
|
||||
""" Return True if ``user.has_perm('[APP].[perm]_[MODEL]')`` """
|
||||
if user is None:
|
||||
user = context['request'].user
|
||||
return user.has_perm('{}.{}_{}'.format(
|
||||
obj._meta.app_label, perm, obj._meta.model_name))
|
||||
|
||||
@register.filter(name='is_diffusion')
|
||||
def do_is_diffusion(obj):
|
||||
""" Return True if object is a Diffusion. """
|
||||
|
|
Loading…
Reference in New Issue
Block a user