project_form.html 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. {% extends "layout.html" %}
  2. {% macro display_errors(errors) -%}
  3. {%- if errors -%}
  4. <span class="help-inline error-list">
  5. <strong>{%- trans ercnt=errors|count %}Error:{% pluralize %}Errors:{% endtrans -%}</strong>{#
  6. #}<ul class="inline" style="display: inline;">
  7. {%- for e in errors -%}
  8. <li>{{ e }}</li>
  9. {%- endfor -%}
  10. </ul>
  11. </span>
  12. {%- endif -%}
  13. {%- endmacro %}
  14. {% macro render_field(field) -%}
  15. <div class="control-group{% if field.flags.required %} required{%endif%}{% if field.errors %} error{% endif %}">
  16. <label class="control-label" for="{{ field.name }}">{{ field.label.text|capitalize }}</label>
  17. <div class="controls">
  18. {{ field(placeholder=field.description.0, **kwargs) if field.description.0 else field(**kwargs) }}
  19. {{ display_errors(field.errors) }}
  20. {%- if field.description.1 -%}
  21. <span class="help-block">{{ field.description.1|safe }}</span>
  22. {%- endif %}
  23. </div>
  24. </div>
  25. {%- endmacro %}
  26. {% block container %}
  27. <div class="row">
  28. <div class="span11 well">
  29. <form action="{{ url_for('create_project') }}" method="post" class="form-horizontal">
  30. {{ form.csrf_token }}
  31. <fieldset><legend>{{ _("Add a new project") }}</legend>
  32. {{ render_field(form.name) }}
  33. {{ render_field(form.shortname) }}
  34. {{ render_field(form.description) }}
  35. {{ render_field(form.logo_url) }}
  36. {{ render_field(form.website) }}
  37. {{ render_field(form.contact_email) }}
  38. {{ render_field(form.main_ml) }}
  39. {{ render_field(form.creation_date) }}
  40. {{ render_field(form.member_count, class_="input-small") }}
  41. {{ render_field(form.subscriber_count, class_="input-small") }}
  42. {{ render_field(form.chatrooms, class="fieldlist") }}
  43. <div class="control-group{% if form.covered_areas.errors %} error{% endif %}">
  44. <label class="control-label" for="coordinates">{{ form.covered_areas.label.text }}</label>
  45. <div class="controls">
  46. <ul class="fieldlist">
  47. {% for c in form.covered_areas -%}
  48. <li>{{ c() }}{{ display_errors(c.flattened_errors) }}</li>
  49. {%- endfor %}
  50. </ul>
  51. {% if form.covered_areas.description.1 -%}
  52. <span class="help-block">{{ form.covered_areas.description.1|safe }}</span>
  53. {%- endif %}
  54. </div>
  55. </div>
  56. <div class="control-group{% if form.latitude.errors or form.longitude.errors %} error{% endif %}">
  57. <label class="control-label" for="coordinates">{{ _("Coordinates") }}</label>
  58. <div class="controls">
  59. <div class="input-prepend input-append input-middle">
  60. {{ form.latitude(class="input-small", placeholder=form.latitude.label.text|capitalize) }}
  61. <span class="add-on">:</span>
  62. {{ form.longitude(class="input-small", placeholder=form.longitude.label.text|capitalize) }}
  63. </div>
  64. {{ display_errors(form.latitude.errors+form.longitude.errors) }}
  65. {%- if form.latitude.description.1 -%}
  66. <span class="help-block">{{ form.latitude.description.1|safe }}</span>
  67. {%- endif %}
  68. </div>
  69. </div>
  70. {{ render_field(form.step) }}
  71. <div class="form-actions">
  72. <input type="submit" class="btn btn-primary" value="{{ _("Submit") }}" />
  73. <input type="reset" class="btn" value="{{ _("Cancel") }}" />
  74. </div>
  75. </fieldset>
  76. </form>
  77. </div>
  78. </div>
  79. {% endblock %}