Add edit button on page website view
This commit is contained in:
		@ -56,6 +56,10 @@ Usefull context:
 | 
				
			|||||||
                            {% endfor %}
 | 
					                            {% endfor %}
 | 
				
			||||||
                            {% endblock %}
 | 
					                            {% endblock %}
 | 
				
			||||||
                        </div>
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div class="navbar-end">
 | 
				
			||||||
 | 
					                            {% block top-nav-tools %}
 | 
				
			||||||
 | 
					                            {% endblock %}
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            </nav>
 | 
					            </nav>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
{% extends "aircox/basepage_detail.html" %}
 | 
					{% extends "aircox/basepage_detail.html" %}
 | 
				
			||||||
{% load static i18n humanize honeypot %}
 | 
					{% load static i18n humanize honeypot aircox %}
 | 
				
			||||||
{% comment %}
 | 
					{% comment %}
 | 
				
			||||||
Base template used to display a Page
 | 
					Base template used to display a Page
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -14,6 +14,18 @@ Context:
 | 
				
			|||||||
{% endif %}
 | 
					{% endif %}
 | 
				
			||||||
{% endblock %}
 | 
					{% 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 main %}
 | 
				
			||||||
{{ block.super }}
 | 
					{{ block.super }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,8 @@ import random
 | 
				
			|||||||
import json
 | 
					import json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import template
 | 
					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 django.utils.safestring import mark_safe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from aircox.models import Page, Diffusion, Log
 | 
					from aircox.models import Page, Diffusion, Log
 | 
				
			||||||
@ -10,6 +12,12 @@ random.seed()
 | 
				
			|||||||
register = template.Library()
 | 
					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')
 | 
					@register.filter(name='get_tracks')
 | 
				
			||||||
def do_get_tracks(obj):
 | 
					def do_get_tracks(obj):
 | 
				
			||||||
    """ Get a list of track for the provided log, diffusion, or episode """
 | 
					    """ Get a list of track for the provided log, diffusion, or episode """
 | 
				
			||||||
@ -20,6 +28,14 @@ def do_get_tracks(obj):
 | 
				
			|||||||
        obj = obj.episode
 | 
					        obj = obj.episode
 | 
				
			||||||
    return obj.track_set.all()
 | 
					    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')
 | 
					@register.filter(name='is_diffusion')
 | 
				
			||||||
def do_is_diffusion(obj):
 | 
					def do_is_diffusion(obj):
 | 
				
			||||||
    """ Return True if object is a Diffusion. """
 | 
					    """ Return True if object is a Diffusion. """
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user