34 lines
1.9 KiB
HTML
34 lines
1.9 KiB
HTML
<form action="{{ url_for('create_[[ name|camel_to_snake ]]') }}" method="post">
|
|
<input type="hidden" name="_next" value="{{ _next or request.args.get('_next') or url_for('list_[[ name|camel_to_snake ]]') }}"/>
|
|
[%- for column in columns %]
|
|
<label for="input-[[ name|camel_to_snake ]]-[[ column.name ]]">[[ column.name ]]</label>:
|
|
[%- if column.type in ['relationship'] %]
|
|
<select id="input-[[ name|camel_to_snake ]]-[[ column.name ]]" [%- if column.multiple %]multiple
|
|
name="_m_n_[[ column.name|pluralize ]]"[% else %]name="[[ column.name ]]_id"[%- endif %]>
|
|
[%- if not column.secondary %]
|
|
<option selected="selected">Choose...</option>
|
|
[%- endif %]
|
|
{%- for sub_instance in model_views.[[ column.name ]].model.query.all() %}
|
|
<option value="{{ sub_instance.id }}" {% if instance and instance.id == sub_instance.id %}selected="selected"{% endif %}>{{ sub_instance }}</option>
|
|
{%- endfor %}
|
|
</select>
|
|
[%- elif column.type in ['choice', ] %]
|
|
<select id="input-[[ name|camel_to_snake ]]-[[ column.name ]]"
|
|
name="[[ column.name ]]_id">
|
|
[%- for value, display in column.choices.items() %]
|
|
<option value="[[ value ]]" {% if instance and instance.[[ column.name ]] == "[[ value ]]" %}selected="selected"{% endif %}>[[ display ]]</option>
|
|
[%- endfor %]
|
|
</select>
|
|
[%- elif column.type in ['number', 'int', 'integer', ] %]
|
|
<input id="input-[[ name|camel_to_snake ]]-[[ column.name ]]"
|
|
type="number" name="[[ column.name ]]"
|
|
/>
|
|
[%- else %]
|
|
<input id="input-[[ name|camel_to_snake ]]-[[ column.name ]]"
|
|
type="text" name="[[ column.name ]]" autocomplete="off"
|
|
/>
|
|
[%- endif %]
|
|
<br>
|
|
[%- endfor %]
|
|
<input type="submit">
|
|
</form> |