Add edit button on page website view
This commit is contained in:
		@ -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,18 @@ 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' }}">
 | 
			
		||||
    <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. """
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user