Compare commits
2 Commits
599742b3e3
...
ee4218c901
Author | SHA1 | Date |
---|---|---|
Ales (Shagi) Zabala Alava | ee4218c901 | |
Ales (Shagi) Zabala Alava | 8ae1df31d7 |
|
@ -119,7 +119,17 @@ ul.actions li {
|
||||||
.form-control {
|
.form-control {
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||||
}
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox .form-control {
|
||||||
|
min-width: auto;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox label {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
.errorlist {
|
.errorlist {
|
||||||
display: block;;
|
display: block;;
|
||||||
|
@ -151,7 +161,7 @@ textarea {
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-inline .form-group {
|
.form-inline .form-group {
|
||||||
vertical-align: middle;
|
vertical-align: top;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
@ -160,14 +170,6 @@ textarea {
|
||||||
min-width: 15em;
|
min-width: 15em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-inline .checkbox .form-control {
|
|
||||||
min-width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-inline .checkbox label {
|
|
||||||
padding-right: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-inline .form-control.select2 {
|
.form-inline .form-control.select2 {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,20 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block actions %}
|
||||||
|
{% if actions %}
|
||||||
|
<ul class="actions">
|
||||||
|
{% for target_url, icon, label in actions %}
|
||||||
|
{% if icon %}
|
||||||
|
<li><a href="{{ target_url }}"><i class="fas {{ icon }}" title="{{ label }}"></i></a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ target_url }}">{{ label }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -15,8 +15,10 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block extra_form %}{% endblock %}
|
||||||
|
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
{% block actions %}
|
{% block form_actions %}
|
||||||
{% if not is_popup %}
|
{% if not is_popup %}
|
||||||
<li><a href="{{ view.get_success_url }}">{% trans "Cancel" %}</a></li>
|
<li><a href="{{ view.get_success_url }}">{% trans "Cancel" %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -26,8 +28,8 @@
|
||||||
{% if not is_popup %}
|
{% if not is_popup %}
|
||||||
<li><button name="save_and_continue" type="submit">{% trans "Save and continue" %}</button>
|
<li><button name="save_and_continue" type="submit">{% trans "Save and continue" %}</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% block extra_actions %}{% endblock %}
|
{% block extra_form_actions %}{% endblock %}
|
||||||
{% endblock actions %}
|
{% endblock form_actions %}
|
||||||
</ul>
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -4,16 +4,6 @@
|
||||||
{% load form_tags %}
|
{% load form_tags %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% block actions %}
|
|
||||||
{% if actions %}
|
|
||||||
<ul class="actions">
|
|
||||||
{% for target_url, icon, label in actions %}
|
|
||||||
<li><a href="{{ target_url }}"><i class="fas {{ icon }}" title="{{ label }}"></i></a></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block filter_form %}
|
{% block filter_form %}
|
||||||
{% if filter_form %}
|
{% if filter_form %}
|
||||||
<form class="filter-form form-inline" action="." method="GET">
|
<form class="filter-form form-inline" action="." method="GET">
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
{% if field.field.required %} required{% endif %}
|
{% if field.field.required %} required{% endif %}
|
||||||
{% if field.errors %} has-error{% endif %}
|
{% if field.errors %} has-error{% endif %}
|
||||||
">
|
">
|
||||||
<label>{{ field.label }}</label>
|
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
||||||
{% add_widget_attrs field placeholder=field.label %}
|
{% add_widget_attrs field placeholder=field.label %}
|
||||||
{{ field }}
|
{{ field }}
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,13 @@ from django.urls import reverse
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
|
|
||||||
def base_form_field(field, css='form-control', container_class='', add_another_url=None, field_template=None):
|
def base_form_field(field, css=None, container_class='', add_another_url=None, field_template=None):
|
||||||
if field.is_hidden:
|
if field.is_hidden:
|
||||||
return str(field)
|
return str(field)
|
||||||
|
|
||||||
|
|
||||||
classes = field.field.widget.attrs.get('class', '').split(' ')
|
classes = field.field.widget.attrs.get('class', '').split(' ')
|
||||||
|
classes.append('form-control')
|
||||||
if css:
|
if css:
|
||||||
classes.append(css)
|
classes.append(css)
|
||||||
|
|
||||||
|
|
10
gas/views.py
10
gas/views.py
|
@ -44,6 +44,7 @@ class GASMixin:
|
||||||
help_text = ''
|
help_text = ''
|
||||||
success_message = _("Operation successful.")
|
success_message = _("Operation successful.")
|
||||||
breadcrumbs = []
|
breadcrumbs = []
|
||||||
|
actions = None
|
||||||
|
|
||||||
def dispatch(self, *args, **kwargs):
|
def dispatch(self, *args, **kwargs):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
|
@ -93,6 +94,9 @@ class GASMixin:
|
||||||
" Returns a list of (url, label) tuples for the breadcrumbs "
|
" Returns a list of (url, label) tuples for the breadcrumbs "
|
||||||
return self.breadcrumbs
|
return self.breadcrumbs
|
||||||
|
|
||||||
|
def get_actions(self):
|
||||||
|
return self.actions or []
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
ctx = super().get_context_data(**kwargs)
|
ctx = super().get_context_data(**kwargs)
|
||||||
ctx.update({
|
ctx.update({
|
||||||
|
@ -101,6 +105,7 @@ class GASMixin:
|
||||||
'title': self.get_title(),
|
'title': self.get_title(),
|
||||||
'help_text': self.get_help_text(),
|
'help_text': self.get_help_text(),
|
||||||
'breadcrumbs': self.get_breadcrumbs(),
|
'breadcrumbs': self.get_breadcrumbs(),
|
||||||
|
'actions': self.get_actions(),
|
||||||
'gas_title': gas_settings.TITLE,
|
'gas_title': gas_settings.TITLE,
|
||||||
'logo_static_url': gas_settings.LOGO,
|
'logo_static_url': gas_settings.LOGO,
|
||||||
'css': gas_settings.MEDIA['css'],
|
'css': gas_settings.MEDIA['css'],
|
||||||
|
@ -112,7 +117,6 @@ class GASMixin:
|
||||||
class GASListView(GASMixin, ListView):
|
class GASListView(GASMixin, ListView):
|
||||||
""" ListView, permite indicar un formulario para filtrar contenido. """
|
""" ListView, permite indicar un formulario para filtrar contenido. """
|
||||||
filter_form_class = None
|
filter_form_class = None
|
||||||
actions = None
|
|
||||||
|
|
||||||
def get_filter_form(self):
|
def get_filter_form(self):
|
||||||
if self.filter_form_class is None:
|
if self.filter_form_class is None:
|
||||||
|
@ -131,14 +135,10 @@ class GASListView(GASMixin, ListView):
|
||||||
qs = super().get_queryset()
|
qs = super().get_queryset()
|
||||||
return self.filter_queryset(qs)
|
return self.filter_queryset(qs)
|
||||||
|
|
||||||
def get_actions(self):
|
|
||||||
return self.actions or []
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
ctx = super().get_context_data(**kwargs)
|
ctx = super().get_context_data(**kwargs)
|
||||||
ctx.update({
|
ctx.update({
|
||||||
'filter_form': self.filter_form,
|
'filter_form': self.filter_form,
|
||||||
'actions': self.get_actions(),
|
|
||||||
})
|
})
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue