Improve organizer page and tabs

This commit is contained in:
Raphael Michel
2017-01-27 12:06:55 +01:00
parent ba455a3630
commit a3cd8d151d
3 changed files with 31 additions and 8 deletions

View File

@@ -22,7 +22,7 @@
{% endif %}
{% for title, content in tabs %}
<li>
<a href="#tab-{{ forloop.index }}" data-toggle="tab">
<a href="#tab-{{ forloop.counter }}" data-toggle="tab">
{{ title }}
</a>
</li>
@@ -149,7 +149,7 @@
</div>
{% endif %}
{% for title, content in tabs %}
<div class="tab-pane" id="tab-{{ forloop.index }}">
<div class="tab-pane" id="tab-{{ forloop.counter }}">
<div class="tab-inner">
{{ content }}
</div>

View File

@@ -61,14 +61,26 @@ class OrganizerDetail(OrganizerPermissionRequiredMixin, DetailView):
form=OrganizerPermissionForm,
can_delete=True, can_order=False, extra=0
)
return fs(data=self.request.POST if self.request.method == "POST" else None,
prefix="formset",
queryset=OrganizerPermission.objects.filter(organizer=self.request.organizer))
return fs(
data=(
self.request.POST
if self.request.method == "POST" and 'id_formset-TOTAL_FORMS' in self.request.POST
else None
),
prefix="formset",
queryset=OrganizerPermission.objects.filter(organizer=self.request.organizer)
)
@cached_property
def add_form(self):
return OrganizerPermissionCreateForm(data=self.request.POST if self.request.method == "POST" else None,
prefix="add")
return OrganizerPermissionCreateForm(
data=(
self.request.POST
if self.request.method == "POST" and 'id_formset-TOTAL_FORMS' in self.request.POST
else None
),
prefix="add"
)
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
@@ -107,6 +119,9 @@ class OrganizerDetail(OrganizerPermissionRequiredMixin, DetailView):
if not self.request.orgaperm.can_change_permissions:
raise PermissionDenied(_("You have no permission to do this."))
if 'id_formset-TOTAL_FORMS' not in self.request.POST:
return self.get(*args, **kwargs)
if self.formset.is_valid() and self.add_form.is_valid():
if self.add_form.has_changed():
logdata = {

View File

@@ -84,7 +84,15 @@ $(function () {
$('.collapsible').collapse();
$('[data-toggle="tooltip"]').tooltip()
$('[data-toggle="tooltip"]').tooltip();
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
}
$('a[data-toggle="tab"]').on('click', function (e) {
window.location.hash = e.target.hash;
});
// Question editor
if ($("#answer-options").length) {