custom_fields.html 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. {% load helpers %}
  2. {% with custom_fields=object.get_custom_fields %}
  3. {% if custom_fields %}
  4. <div class="card">
  5. <h5 class="card-header">Custom Fields</h5>
  6. <div class="card-body">
  7. <table class="table table-hover attr-table">
  8. {% for field, value in custom_fields.items %}
  9. <tr>
  10. <td>
  11. <span title="{{ field.description|escape }}">{{ field }}</span>
  12. </td>
  13. <td>
  14. {% if field.type == 'integer' and value is not None %}
  15. {{ value }}
  16. {% elif field.type == 'longtext' and value %}
  17. {{ value|markdown }}
  18. {% elif field.type == 'boolean' and value == True %}
  19. {% checkmark value true="True" %}
  20. {% elif field.type == 'boolean' and value == False %}
  21. {% checkmark value false="False" %}
  22. {% elif field.type == 'url' and value %}
  23. <a href="{{ value }}">{{ value|truncatechars:70 }}</a>
  24. {% elif field.type == 'json' and value %}
  25. <pre>{{ value|json }}</pre>
  26. {% elif field.type == 'multiselect' and value %}
  27. {{ value|join:", " }}
  28. {% elif field.type == 'object' and value %}
  29. {{ value|linkify }}
  30. {% elif field.type == 'multiobject' and value %}
  31. <ul>
  32. {% for obj in value %}
  33. <li>{{ obj|linkify }}</li>
  34. {% endfor %}
  35. </ul>
  36. {% elif value %}
  37. {{ value }}
  38. {% elif field.required %}
  39. <span class="text-warning">Not defined</span>
  40. {% else %}
  41. <span class="text-muted">&mdash;</span>
  42. {% endif %}
  43. </td>
  44. </tr>
  45. {% endfor %}
  46. </table>
  47. </div>
  48. </div>
  49. {% endif %}
  50. {% endwith %}