kopia lustrzana https://github.com/rtts/django-simplecms
Pixel peeping + javascript robustness
rodzic
712b542610
commit
1989615e60
17
cms/forms.py
17
cms/forms.py
|
@ -51,6 +51,8 @@ class PageForm(forms.ModelForm):
|
|||
fields = '__all__'
|
||||
|
||||
class SectionForm(forms.ModelForm):
|
||||
type = forms.ChoiceField()
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
|
@ -80,16 +82,17 @@ class SectionForm(forms.ModelForm):
|
|||
section.save()
|
||||
return section
|
||||
|
||||
core_field_names = ['title', 'type', 'number', 'content', 'image', 'video', 'href']
|
||||
|
||||
def core_fields(self):
|
||||
return [field for field in self.visible_fields() if field.name in self.core_field_names]
|
||||
|
||||
def extra_fields(self):
|
||||
return [field for field in self.visible_fields() if field.name not in self.core_field_names]
|
||||
|
||||
class Meta:
|
||||
model = Section
|
||||
exclude = ['page']
|
||||
#field_classes = {
|
||||
# 'type': forms.ChoiceField,
|
||||
#}
|
||||
|
||||
# There is definitely a bug in Django, since the above 'field_classes' gets
|
||||
# ignored entirely. Workaround to force a ChoiceField anyway:
|
||||
type = forms.ChoiceField()
|
||||
|
||||
class BaseSectionFormSet(forms.BaseInlineFormSet):
|
||||
'''If a swappable Section model defines one-to-many fields, (i.e. has
|
||||
|
|
|
@ -29,7 +29,8 @@ form.cms {
|
|||
border: 0.5px solid #ccc;
|
||||
clear: both;
|
||||
margin: 0.5em 0em;
|
||||
padding: 0.5em;
|
||||
padding: 0.25em 0.5em;
|
||||
padding-top: 0;
|
||||
border-radius: 0.25em;
|
||||
}
|
||||
|
||||
|
@ -41,7 +42,7 @@ form.cms {
|
|||
}
|
||||
|
||||
div.formfield {
|
||||
margin-bottom: 10px;
|
||||
margin: 0.25em 0;
|
||||
clear: both;
|
||||
box-sizing: border-box;
|
||||
|
||||
|
@ -54,43 +55,38 @@ form.cms {
|
|||
width: 20%;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
div.formfield.error {
|
||||
border: 2px dotted red;
|
||||
border-radius: 3px;
|
||||
padding: 0.5em;
|
||||
//margin: 10px -50px;
|
||||
background: #f001;
|
||||
|
||||
select, input, textarea {
|
||||
background: white;
|
||||
}
|
||||
}
|
||||
div.formfield.required {
|
||||
div.label {
|
||||
&.title {
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
|
||||
div.label, label {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
&.error {
|
||||
border: 2px dotted red;
|
||||
border-radius: 3px;
|
||||
padding: 0.5em;
|
||||
margin-top: 0.5em;
|
||||
background: #f001;
|
||||
|
||||
div.input {
|
||||
overflow: hidden;
|
||||
}
|
||||
select, input, textarea {
|
||||
background: white;
|
||||
}
|
||||
}
|
||||
|
||||
div.helptext, span.required {
|
||||
color: #666;
|
||||
font-size: 12px !important;
|
||||
font-weight: 400 !important;
|
||||
}
|
||||
div.label, label {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
span.required {
|
||||
font-style: italic;
|
||||
div.input {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.helptext {
|
||||
color: #666;
|
||||
font-size: 12px !important;
|
||||
font-weight: 400 !important;
|
||||
}
|
||||
}
|
||||
|
||||
input, select, textarea {
|
||||
|
@ -105,15 +101,13 @@ form.cms {
|
|||
margin: 0;
|
||||
padding: 5px 8px;
|
||||
font-family: inherit;
|
||||
font-weight: inherit;
|
||||
}
|
||||
input[type=checkbox] {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
input[name$=title] {
|
||||
font-weight: 700;
|
||||
}
|
||||
textarea {
|
||||
font-size: 1rem;
|
||||
height: 15em;
|
||||
|
|
|
@ -21,7 +21,8 @@ form.cms {
|
|||
border: 0.5px solid #ccc;
|
||||
clear: both;
|
||||
margin: 0.5em 0em;
|
||||
padding: 0.5em;
|
||||
padding: 0.25em 0.5em;
|
||||
padding-top: 0;
|
||||
border-radius: 0.25em; }
|
||||
form.cms img {
|
||||
display: block;
|
||||
|
@ -29,7 +30,7 @@ form.cms {
|
|||
width: 50px;
|
||||
cursor: pointer; }
|
||||
form.cms div.formfield {
|
||||
margin-bottom: 10px;
|
||||
margin: 0.25em 0;
|
||||
clear: both;
|
||||
box-sizing: border-box; }
|
||||
form.cms div.formfield.type, form.cms div.formfield.number, form.cms div.formfield.slug {
|
||||
|
@ -39,28 +40,27 @@ form.cms {
|
|||
form.cms div.formfield.number {
|
||||
width: 20%;
|
||||
float: right; }
|
||||
form.cms div.formfield.error {
|
||||
border: 2px dotted red;
|
||||
border-radius: 3px;
|
||||
padding: 0.5em;
|
||||
background: #f001; }
|
||||
form.cms div.formfield.error select, form.cms div.formfield.error input, form.cms div.formfield.error textarea {
|
||||
background: white; }
|
||||
form.cms div.formfield.required div.label {
|
||||
font-weight: 700; }
|
||||
form.cms div.label, form.cms label {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
margin-bottom: 2px; }
|
||||
form.cms div.input {
|
||||
overflow: hidden; }
|
||||
form.cms div.helptext, form.cms span.required {
|
||||
color: #666;
|
||||
font-size: 12px !important;
|
||||
font-weight: 400 !important; }
|
||||
form.cms span.required {
|
||||
font-style: italic; }
|
||||
form.cms div.formfield.title {
|
||||
font-weight: 700; }
|
||||
form.cms div.formfield.error {
|
||||
border: 2px dotted red;
|
||||
border-radius: 3px;
|
||||
padding: 0.5em;
|
||||
margin-top: 0.5em;
|
||||
background: #f001; }
|
||||
form.cms div.formfield.error select, form.cms div.formfield.error input, form.cms div.formfield.error textarea {
|
||||
background: white; }
|
||||
form.cms div.formfield div.label, form.cms div.formfield label {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
margin-bottom: 2px; }
|
||||
form.cms div.formfield div.input {
|
||||
overflow: hidden; }
|
||||
form.cms div.formfield div.helptext {
|
||||
color: #666;
|
||||
font-size: 12px !important;
|
||||
font-weight: 400 !important; }
|
||||
form.cms input, form.cms select, form.cms textarea {
|
||||
background: #fff6;
|
||||
color: black;
|
||||
|
@ -72,13 +72,12 @@ form.cms {
|
|||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 5px 8px;
|
||||
font-family: inherit; }
|
||||
font-family: inherit;
|
||||
font-weight: inherit; }
|
||||
form.cms input[type=checkbox] {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
vertical-align: middle; }
|
||||
form.cms input[name$=title] {
|
||||
font-weight: 700; }
|
||||
form.cms textarea {
|
||||
font-size: 1rem;
|
||||
height: 15em;
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
"admin.scss"
|
||||
],
|
||||
"names": [],
|
||||
"mappings": "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"
|
||||
"mappings": "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"
|
||||
}
|
|
@ -46,6 +46,9 @@
|
|||
for (let el of extra_form.querySelectorAll(`*[for^=id_${prefix}]`)) {
|
||||
increment(el, 'id_' + prefix, 'for');
|
||||
}
|
||||
for (let el of extra_form.querySelectorAll(`*[id^=formfield_${prefix}]`)) {
|
||||
increment(el, 'formfield_' + prefix, 'id');
|
||||
}
|
||||
|
||||
node.remove();
|
||||
parent.appendChild(extra_form);
|
||||
|
@ -82,16 +85,13 @@
|
|||
|
||||
function showRelevantFields(form, type) {
|
||||
let fields_per_type = {{fields_per_type|safe}};
|
||||
for (let field of form.querySelectorAll(`fieldset#${form.id} > div`)) {
|
||||
field.hidden = true;
|
||||
}
|
||||
for (let field of form.querySelectorAll(`fieldset#${form.id} > div.DELETE`)) {
|
||||
field.hidden = false;
|
||||
for (let field of form.querySelectorAll(`fieldset#${form.id} > div.formfield`)) {
|
||||
if (!field.id.endsWith('DELETE')) {
|
||||
field.hidden = true;
|
||||
}
|
||||
}
|
||||
for (let name of fields_per_type[type]) {
|
||||
for (let field of form.querySelectorAll(`fieldset#${form.id} > div.${name}`)) {
|
||||
field.hidden = false;
|
||||
}
|
||||
document.getElementById(`formfield_${form.id}-${name}`).hidden = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,11 +5,13 @@
|
|||
{% for field in form.hidden_fields %}
|
||||
{{field}}
|
||||
{% endfor %}
|
||||
|
||||
{% for field in form.visible_fields %}
|
||||
{% include 'cms/formfield.html' with field=field %}
|
||||
{% endfor %}
|
||||
|
||||
{% for formset in form.formsets %}
|
||||
<div id="{{formset.prefix}}" class="formset {{formset.name}}">
|
||||
<div class="formfield {{formset.name}}" id="formfield_{{formset.prefix}}">
|
||||
{{formset.management_form}}
|
||||
{% for form in formset %}
|
||||
{% include 'cms/form.html' %}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% if field.name == 'DELETE' and not form.instance.pk %}
|
||||
|
||||
{% else %}
|
||||
<div class="formfield{% if field.errors %} error{% endif %}{% if field.field.required %} required{% endif %} {{field.name}}">
|
||||
<div class="formfield {{field.name}}{% if field.errors %} error{% endif %}" id="formfield_{{field.html_name}}">
|
||||
<div class="errors">
|
||||
{{field.errors}}
|
||||
</div>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
{% block content %}
|
||||
<form method="post" class="cms" novalidate>
|
||||
<div class="wrapper">
|
||||
<div class="wrapper" style="max-width: 300px">
|
||||
{% csrf_token %}
|
||||
<fieldset>
|
||||
{{form.non_field_errors}}
|
||||
|
|
|
@ -171,9 +171,10 @@ class EditPage(UserPassesTestMixin, edit.ModelFormMixin, base.TemplateResponseMi
|
|||
return context
|
||||
|
||||
def get_object(self):
|
||||
'''Prevent 404 by serving the new object form'''
|
||||
try:
|
||||
return super().get_object()
|
||||
except:
|
||||
except Http404:
|
||||
return None
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
|
|
Ładowanie…
Reference in New Issue