mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Event slugs are only unique among one organizer
This commit is contained in:
@@ -52,7 +52,8 @@ class PermissionMiddleware:
|
|||||||
try:
|
try:
|
||||||
request.event = Event.objects.get(
|
request.event = Event.objects.get(
|
||||||
slug=url.kwargs['event'],
|
slug=url.kwargs['event'],
|
||||||
permitted__id__exact=request.user.id
|
permitted__id__exact=request.user.id,
|
||||||
|
organizer__slug=url.kwargs['organizer'],
|
||||||
)
|
)
|
||||||
except:
|
except Event.DoesNotExist:
|
||||||
return HttpResponseNotFound(_("The selected event was not found or you have no permission to administrate it."))
|
return HttpResponseNotFound(_("The selected event was not found or you have no permission to administrate it."))
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
{% for g in event_list %}
|
{% for g in event_list %}
|
||||||
<li class="dropdown-header">{{ g.grouper }}</li>
|
<li class="dropdown-header">{{ g.grouper }}</li>
|
||||||
{% for e in g.list %}
|
{% for e in g.list %}
|
||||||
<li><a href="{% url "control:event.index" event=e.slug %}">{{ e.name }}</a></li>
|
<li><a href="{% url "control:event.index" organizer=g.grouper.slug event=e.slug %}">{{ e.name }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{% for e in events %}
|
{% for e in events %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><a href="{% url "control:event.index" event=e.slug %}">{{ e.name }}</a></strong></td>
|
<td><strong><a href="{% url "control:event.index" organizer=e.organizer.slug event=e.slug %}">{{ e.name }}</a></strong></td>
|
||||||
<td>{{ e.organizer }}</td>
|
<td>{{ e.organizer }}</td>
|
||||||
<td>{{ e.get_date_from_display }}</td>
|
<td>{{ e.get_date_from_display }}</td>
|
||||||
<td>{{ e.get_date_to_display }}</td>
|
<td>{{ e.get_date_to_display }}</td>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from tixlcontrol.views import main
|
|||||||
|
|
||||||
urlpatterns = patterns('',
|
urlpatterns = patterns('',
|
||||||
url(r'^$', 'tixlcontrol.views.main.index', name='index'),
|
url(r'^$', 'tixlcontrol.views.main.index', name='index'),
|
||||||
url(r'^event/(?P<event>\w+)/$', 'tixlcontrol.views.event.index', name='event.index'),
|
url(r'^event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/$', 'tixlcontrol.views.event.index', name='event.index'),
|
||||||
url(r'^events/$', main.EventList.as_view(), name='events'),
|
url(r'^events/$', main.EventList.as_view(), name='events'),
|
||||||
url(r'^logout$', 'tixlcontrol.views.auth.logout', name='auth.logout'),
|
url(r'^logout$', 'tixlcontrol.views.auth.logout', name='auth.logout'),
|
||||||
url(r'^login$', 'tixlcontrol.views.auth.login', name='auth.login'),
|
url(r'^login$', 'tixlcontrol.views.auth.login', name='auth.login'),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
|
||||||
def index(request, event):
|
def index(request, organizer, event):
|
||||||
return render(request, 'tixlcontrol/event/index.html', {})
|
return render(request, 'tixlcontrol/event/index.html', {})
|
||||||
|
|||||||
Reference in New Issue
Block a user