forked from rc/aircox
Compare commits
2 Commits
6ca8e7e4cc
...
529ed25d7f
Author | SHA1 | Date | |
---|---|---|---|
529ed25d7f | |||
129360f89d |
|
@ -7,13 +7,11 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block page-form-actions %}
|
{% block page-form-actions %}
|
||||||
<a class="button secondary" href="{% url 'episode-list' parent_slug=object.slug %}">{% trans "Episodes" %}</a>
|
<a class="button secondary withmargin" href="{% url 'episode-list' parent_slug=object.slug %}">{% trans "Episodes" %}</a>
|
||||||
|
<a class="button secondary withmargin" href="{% url 'program-add-episode' object.pk %}" target="_self">{% trans "New episode" %}</a>
|
||||||
<a class="button secondary" href="{% url 'program-add-episode' object.pk %}">{% trans "New episode" %}</a>
|
|
||||||
{% if object and object.pk and request.user.is_superuser %}
|
{% if object and object.pk and request.user.is_superuser %}
|
||||||
|
|
||||||
<button type="button"
|
<button type="button"
|
||||||
class="button secondary"
|
class="button secondary withmargin"
|
||||||
@click="$refs['group-users-modal'].open({id: {{ object.editors_group_id }}, name: '{{ object.editors_group.name }}' })">{% translate "Editors" %}</button>
|
@click="$refs['group-users-modal'].open({id: {{ object.editors_group_id }}, name: '{{ object.editors_group.name }}' })">{% translate "Editors" %}</button>
|
||||||
|
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
{% with request.resolver_match.view_name as view_name %}
|
{% with request.resolver_match.view_name as view_name %}
|
||||||
|
|
||||||
{% if request.path != object.get_absolute_url %}
|
{% if request.path != object.get_absolute_url %}
|
||||||
<a href="{% url view_name|detail_view page.slug %}" target="_self" title="{% translate 'View' %} {{ page }}">
|
<a href="{% url view_name|detail_view page.slug %}" target="_self" title="{% translate 'View' %} {{ page }}" class="button secondary withmargin">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fa-regular fa-eye"></i>
|
<i class="fa-regular fa-eye"></i>
|
||||||
</span>
|
</span>
|
||||||
<span>{% translate 'View' %} </span>
|
<span>{% translate 'View' %} </span>
|
||||||
</a>
|
</a>
|
||||||
{% elif can_edit %}
|
{% elif can_edit %}
|
||||||
<a href="{% url view_name|edit_view page.pk %}" target="_self" title="{% translate 'Edit' %} {{ page }}">
|
<a href="{% url view_name|edit_view page.pk %}" target="_self" title="{% translate 'Edit' %} {{ page }}" class="button secondary withmargin">
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<i class="fa-solid fa-pencil"></i>
|
<i class="fa-solid fa-pencil"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from django.contrib.auth.mixins import UserPassesTestMixin
|
from django.contrib.auth.mixins import UserPassesTestMixin
|
||||||
|
from django.http import HttpResponseRedirect
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from django.views.generic.base import View
|
||||||
|
|
||||||
from aircox.models import Episode, Program, StaticPage, Track
|
from aircox.models import Episode, Program, StaticPage, Track
|
||||||
from aircox import forms, filters, permissions
|
from aircox import forms, filters, permissions
|
||||||
|
@ -144,7 +146,15 @@ class EpisodeUpdateView(UserPassesTestMixin, VueFormDataMixin, PageUpdateView):
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
|
|
||||||
class EpisodeCreateView(EpisodeUpdateView):
|
class EpisodeCreateView(UserPassesTestMixin, View):
|
||||||
|
def get(self, request, **kwargs):
|
||||||
|
program = self.get_object()
|
||||||
|
episode = Episode.objects.create(program=program, title="%s (%s)" % (program.title, _("draft")))
|
||||||
|
return HttpResponseRedirect(reverse("episode-edit", kwargs={"pk": episode.pk}))
|
||||||
|
|
||||||
|
def test_func(self):
|
||||||
|
program = self.get_object()
|
||||||
|
return permissions.program.can(self.request.user, "update", program)
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
program = get_object_or_404(Program, pk=self.kwargs["pk"])
|
return get_object_or_404(Program, pk=self.kwargs["pk"])
|
||||||
return Episode.objects.create(program=program, title="%s (%s)" % (program.title, _("draft")))
|
|
||||||
|
|
|
@ -509,6 +509,11 @@ a.nav-item:hover {
|
||||||
color: #738EF2 !important;
|
color: #738EF2 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.withmargin {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1224px) {
|
@media screen and (max-width: 1224px) {
|
||||||
.grid.list-emissions:not(.list-home) > .list-item {width: calc(33% - 2rem) !important;;}
|
.grid.list-emissions:not(.list-home) > .list-item {width: calc(33% - 2rem) !important;;}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ Styling related context:
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% if admin and object.edit_url_name %}
|
{% if admin and object.edit_url_name %}
|
||||||
<a href="{% url object.edit_url_name pk=object.pk %}" target="_self">{% translate "Edit" %}</a>
|
<a href="{% url object.edit_url_name pk=object.pk %}" target="_self" class="button secondary withmargin">{% translate "Edit" %}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user