diff options
| author | 2019-04-15 14:56:50 +0100 | |
|---|---|---|
| committer | 2019-04-15 14:56:50 +0100 | |
| commit | f27987070e40fcf4b017f91c23c4747373e85c9d (patch) | |
| tree | 7dac1a67b2709f73add6d8ac7c15ec04c30a2b3a /pydis_site | |
| parent | Small styling fixes (diff) | |
Images sidebar work, and allow fields to be rendered without labels
Diffstat (limited to 'pydis_site')
11 files changed, 111 insertions, 152 deletions
diff --git a/pydis_site/apps/home/templatetags/wiki_extra.py b/pydis_site/apps/home/templatetags/wiki_extra.py index ae168ae3..d4e9b266 100644 --- a/pydis_site/apps/home/templatetags/wiki_extra.py +++ b/pydis_site/apps/home/templatetags/wiki_extra.py @@ -62,7 +62,7 @@ def get_unbound_field(field: BoundField):  @register.simple_tag -def render_field(field: Field): +def render_field(field: Field, render_labels: bool = True):      if isinstance(field, BoundField):          unbound_field = get_unbound_field(field)      else: @@ -75,7 +75,7 @@ def render_field(field: Field):          raise NotImplementedError(f"Unknown field type: {unbound_field.__class__}")      template_obj: Template = get_template(template_path) -    context = {"field": field, "is_markitup": is_markitup} +    context = {"field": field, "is_markitup": is_markitup, "render_labels": render_labels}      return mark_safe(template_obj.render(context)) diff --git a/pydis_site/templates/wiki/forms/fields/boolean.html b/pydis_site/templates/wiki/forms/fields/boolean.html index 9d054083..9a8470be 100644 --- a/pydis_site/templates/wiki/forms/fields/boolean.html +++ b/pydis_site/templates/wiki/forms/fields/boolean.html @@ -1,15 +1,17 @@  <div id="div_{{ field.auto_id }}" class="field is-horizontal{% if field.errors %} is-danger{% endif %}"> -  <div class="field-label"> -    <label class="label {% if field.errors %} is-danger{% endif %}"> -      {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} -    </label> +  {% if render_labels %} +    <div class="field-label"> +      <label class="label {% if field.errors %} is-danger{% endif %}"> +        {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} +      </label> -    {% if field.help_text %} -      <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> -        {{ field.help_text|safe }} -      </p> -    {% endif %} -  </div> +      {% if field.help_text %} +        <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> +          {{ field.help_text|safe }} +        </p> +      {% endif %} +    </div> +  {% endif %}    <div class="field-body">      <div class="field"> @@ -25,8 +27,13 @@                 {% if field.min_length %}minlength="{{ field.min_length }}"{% endif %}                 {% if field.empty_value %}placeholder="{{ field.empty_value }}"{% endif %}          /> +          <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> -            +          {% if not render_labels %} +            {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} +          {% else %} +              +          {% endif %}          </label>        </div> diff --git a/pydis_site/templates/wiki/forms/fields/char.html b/pydis_site/templates/wiki/forms/fields/char.html index 4c48d300..83600dae 100644 --- a/pydis_site/templates/wiki/forms/fields/char.html +++ b/pydis_site/templates/wiki/forms/fields/char.html @@ -1,5 +1,5 @@  <div id="div_{{ field.auto_id }}" class="field is-horizontal{% if field.errors %} is-danger{% endif %}"> -  {% if not is_markitup %} +  {% if render_labels and not is_markitup %}      <div class="field-label">        {% if field.label %}          <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> diff --git a/pydis_site/templates/wiki/forms/fields/image.html b/pydis_site/templates/wiki/forms/fields/image.html index 47e115fe..8591f547 100644 --- a/pydis_site/templates/wiki/forms/fields/image.html +++ b/pydis_site/templates/wiki/forms/fields/image.html @@ -1,17 +1,19 @@  <div id="div_{{ field.auto_id }}" class="field is-horizontal{% if field.errors %} is-danger{% endif %}"> -  <div class="field-label"> -    {% if field.label %} -      <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> -        IN PLACE RENDER: {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} -      </label> -    {% endif %} +  {% if render_labels %} +    <div class="field-label"> +      {% if field.label %} +        <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> +          IN PLACE RENDER: {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} +        </label> +      {% endif %} -    {% if field.help_text %} -      <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> -        {{ field.help_text|safe }} -      </p> -    {% endif %} -  </div> +      {% if field.help_text %} +        <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> +          {{ field.help_text|safe }} +        </p> +      {% endif %} +    </div> +  {% endif %}    <div class="field-body">      <div class="field"> diff --git a/pydis_site/templates/wiki/forms/fields/in_place_render.html b/pydis_site/templates/wiki/forms/fields/in_place_render.html index 47e115fe..8591f547 100644 --- a/pydis_site/templates/wiki/forms/fields/in_place_render.html +++ b/pydis_site/templates/wiki/forms/fields/in_place_render.html @@ -1,17 +1,19 @@  <div id="div_{{ field.auto_id }}" class="field is-horizontal{% if field.errors %} is-danger{% endif %}"> -  <div class="field-label"> -    {% if field.label %} -      <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> -        IN PLACE RENDER: {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} -      </label> -    {% endif %} +  {% if render_labels %} +    <div class="field-label"> +      {% if field.label %} +        <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> +          IN PLACE RENDER: {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} +        </label> +      {% endif %} -    {% if field.help_text %} -      <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> -        {{ field.help_text|safe }} -      </p> -    {% endif %} -  </div> +      {% if field.help_text %} +        <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> +          {{ field.help_text|safe }} +        </p> +      {% endif %} +    </div> +  {% endif %}    <div class="field-body">      <div class="field"> diff --git a/pydis_site/templates/wiki/forms/fields/model_choice.html b/pydis_site/templates/wiki/forms/fields/model_choice.html index c6cd53ab..58c55e04 100644 --- a/pydis_site/templates/wiki/forms/fields/model_choice.html +++ b/pydis_site/templates/wiki/forms/fields/model_choice.html @@ -1,19 +1,21 @@  {% load wiki_extra %}  <div id="div_{{ field.auto_id }}" class="field is-horizontal{% if field.errors %} is-danger{% endif %}"> -  <div class="field-label"> -    {% if field.label %} -      <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> -        {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} -      </label> -    {% endif %} +  {% if render_labels %} +    <div class="field-label"> +      {% if field.label %} +        <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> +          {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} +        </label> +      {% endif %} -    {% if field.help_text %} -      <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> -        {{ field.help_text|safe }} -      </p> -    {% endif %} -  </div> +      {% if field.help_text %} +        <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> +          {{ field.help_text|safe }} +        </p> +      {% endif %} +    </div> +  {% endif %}    <div class="field-body">      <div class="field"> diff --git a/pydis_site/templates/wiki/forms/fields/wiki_slug_render.html b/pydis_site/templates/wiki/forms/fields/wiki_slug_render.html index c87fda7a..ff5c8528 100644 --- a/pydis_site/templates/wiki/forms/fields/wiki_slug_render.html +++ b/pydis_site/templates/wiki/forms/fields/wiki_slug_render.html @@ -1,19 +1,21 @@  {% load wiki_extra %}  <div id="div_{{ field.auto_id }}" class="field is-horizontal{% if field.errors %} is-danger{% endif %}"> -  <div class="field-label"> -    {% if field.label %} -      <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> -        {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} -      </label> -    {% endif %} +  {% if render_labels %} +    <div class="field-label"> +      {% if field.label %} +        <label for="{{ field.auto_id }}" class="label {% if field.errors %} is-danger{% endif %}"> +          {{ field.label | safe }} {% if field.field.required %}<span class="asterisk has-text-danger">*</span>{% endif %} +        </label> +      {% endif %} -    {% if field.help_text %} -      <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> -        {{ field.help_text|safe }} -      </p> -    {% endif %} -  </div> +      {% if field.help_text %} +        <p id="hint_{{ field.auto_id }}" class="help has-text-grey"> +          {{ field.help_text|safe }} +        </p> +      {% endif %} +    </div> +  {% endif %}    <div class="field-body">      <div class="field has-addons"> diff --git a/pydis_site/templates/wiki/includes/formfield.html b/pydis_site/templates/wiki/includes/formfield.html index c466719b..8c42cfbf 100644 --- a/pydis_site/templates/wiki/includes/formfield.html +++ b/pydis_site/templates/wiki/includes/formfield.html @@ -3,5 +3,5 @@  {% if field.is_hidden %}    {{ field }}  {% else %} -  {% render_field field %} +  {% render_field field render_labels %}  {% endif %} diff --git a/pydis_site/templates/wiki/plugins/images/sidebar.html b/pydis_site/templates/wiki/plugins/images/sidebar.html index 909bf6c9..d25fe48e 100644 --- a/pydis_site/templates/wiki/plugins/images/sidebar.html +++ b/pydis_site/templates/wiki/plugins/images/sidebar.html @@ -40,6 +40,39 @@ function add_image(form) {  <style type="text/css">    #image-list tr:first-child td {border:0;}  </style> + +  <h4>Add image</h4> + +  {% if article|images_can_add:user %} +    {% include "wiki/includes/formerrors.html" %} + +    {# Include the hidden fields #} +    {% for hidden in form.hidden_fields %} +      {{ hidden }} +    {% endfor %} + +    <p> +    {% for field in form.visible_fields %} +      {% include "wiki/includes/formfield.html" with render_labels=False %} +    {% endfor %} + +    <p> +      <button type="button" onClick="add_image(this.form)" name="{{ plugin.slug }}_save" value="1" class="button is-primary"> +        <span class="icon"> +          <i class="fas fa-upload"></i> +        </span> +        <span>Upload</span> +      </button> +    </p> +  {% else %} + +    {% if user.is_anonymous %} +      {% include "wiki/includes/anonymous_blocked.html" %} +    {% else %} +      <p><em>{% trans "You do not have permissions to add images." %}</em></p> +    {% endif %} +  {% endif %} +  <div style="max-height: 300px; overflow: auto;">    <table class="table table-responsive table-bordered" id="image-list">      {% for image in images %} @@ -78,61 +111,6 @@ function add_image(form) {  </p>  <hr /> -<h4>{% trans "Add new image" %}</h4> - -{% if article|images_can_add:user %} -  {% if form.non_field_errors %} -    {% if form_error_title %}<h4 class="alert-heading">{{ form_error_title }}</h4>{% endif %} -    {% for error_message in form.non_field_errors %} -      <div class="alert alert-block alert-danger"> -        {{ error_message }} -      </div> -    {% endfor %} -  {% endif %} - -  {# Include the hidden fields #} -  {% for hidden in form.hidden_fields %} -    {{ hidden }} -  {% endfor %} - -  <p> -  {% for field in form.visible_fields %} -    <fieldset id="div_{{ field.auto_id }}" class="control-group fields {% if field.errors %} error{% endif %}"> -      {% if field.label %} -        <!--<label for="{{ field.id_for_label }}" class="{% if field.field.required %}requiredField{% endif %}"> -        {{ field.label|safe }} -        </label>--> -      {% endif %} -      {{ field }} -      {% if field.errors %} -      <div id="error_{{ forloop.counter }}_{{ field.auto_id }}" class="help-block"> -        {% for error in field.errors %} -        <div>{{ error }}</div> -        {% endfor %} -      </div> -      {% endif %} -    </fieldset> -    {% if field.help_text %} -      <p id="hint_{{ field.auto_id }}" class="help-block">{{ field.help_text|safe }}</p> -    {% endif %} -  {% endfor %} -  </p> - -  <p> -    <button type="button" onClick="add_image(this.form)" name="{{ plugin.slug }}_save" value="1" class="btn btn-default btn-md"> -      <span class="fa fa-upload"></span> -      {% trans "Add image" %} -    </button> -  </p> -{% else %} - -  {% if user.is_anonymous %} -    {% include "wiki/includes/anonymous_blocked.html" %} -  {% else %} -    <p><em>{% trans "You do not have permissions to add images." %}</em></p> -  {% endif %} -{% endif %} -  <hr />  <h4> diff --git a/pydis_site/templates/wiki/plugins/macros/article_list.html b/pydis_site/templates/wiki/plugins/macros/article_list.html deleted file mode 100644 index c9261f1e..00000000 --- a/pydis_site/templates/wiki/plugins/macros/article_list.html +++ /dev/null @@ -1,14 +0,0 @@ -{% load i18n wiki_macro_tags %} - -{% if article_children %} -  <div class="article-list"> -    <ul> -    <li class="nav-header">{% trans "Article index" %} <i class="fa fa-list"></i></li> -    {% for child in article_children %} -      {% article_list child depth %} -      {% empty %} -      <i>{% trans "Nothing below this level" %}</i> -    {% endfor %} -    </ul> -  </div> -{% endif %} diff --git a/pydis_site/templates/wiki/plugins/macros/sidebar.html b/pydis_site/templates/wiki/plugins/macros/sidebar.html deleted file mode 100644 index 31b68520..00000000 --- a/pydis_site/templates/wiki/plugins/macros/sidebar.html +++ /dev/null @@ -1,20 +0,0 @@ -{% load i18n wiki_macro_tags %} -{% allowed_macros as macros %} - -{% for macro in macros %} -<h4>{{ macro.short_description }}</h4> -{{ macro.help_text|safe|linebreaks }} -{% if macro.example_code %} -<pre>{{ macro.example_code }}</pre> -{% endif %} -{% if macro.args %} -<table class="table table-compact"> -{% for arg,description in macro.args.items %} -  <tr> -    <th>{{ arg }}</th> -    <td>{{ description }}</td> -  </tr> -{% endfor %} -</table> -{% endif %} -{% endfor %}  |