1 {% extends "master-admin.html" %}
4 $( document ).on("click", ".add-field",
6 var buttonRow = $(this).parents(".add-row")
7 var ourTable = $(this).parents(".extensible-table")
8 var lastRow = $(ourTable).find(".list-field:last")
9 var newRow = $(lastRow).clone()
10 var lastIndex = parseInt(newRow.find("td:first").text())
11 newRow.find("td:first").text(lastIndex + 1)
12 var inputFields = newRow.find("input")
13 for (i = 0; i < inputFields.length; i++) {
14 var separator = (lastIndex-1).toString()+"-"
15 var nArr = $(inputFields[i]).attr("name").split(separator)
16 var newidx = lastIndex.toString()+"-"
17 if (nArr.length === 2) {
18 $(inputFields[i]).attr("name", nArr[0]+newidx+nArr[1])
20 $(inputFields[i]).attr("value", "")
22 $(newRow).appendTo(ourTable)
23 $(buttonRow).appendTo(ourTable)
29 {% if user.is_admin %}
32 <div class="col-md-3 col-sm-3 col-xs-6">
35 <div class="col-md-3 col-sm-3 col-xs-6" role="alert">
37 <div class="alert alert-{{message_type}}">
47 <form class="form-horizontal" role="form" id="{{ name }}" action="{{ action }}" method="post" enctype="application/x-www-form-urlencoded">
48 {% for k, v in config.iteritems() %}
49 <div class="form-group">
50 <label class="col-sm-2" for="{{ v.name }}">{{ v.name }}:</label>
51 <div class="col-sm-10">
52 {% set value = v.get_value() -%}
53 {% if v.__class__.__name__ in ['String', 'Template'] -%}
54 <input type="text" class="form-control" name="{{ v.name }}"
59 {% elif v.__class__.__name__ == 'List' -%}
60 <textarea class="form-control" name="{{ v.name }}">
62 {{- value|join('\n') -}}
65 {% elif v.__class__.__name__ == 'Choice' -%}
66 {% set entries = v.get_allowed() -%}
68 {% for e in entries -%}
69 <div class="col-md-4">
70 <input type="checkbox" name="{{ v.name }}_{{ e }}"
71 {%- if value and e in value %}
78 {% elif v.__class__.__name__ == 'Pick' -%}
79 {% set entries = v.get_allowed() -%}
81 {% for e in entries -%}
82 <div class="col-md-4">
83 <input type="radio" name="{{ v.name }}" value="{{ e }}"
91 {% elif v.__class__.__name__ == 'Condition' -%}
92 <input type="checkbox" name="{{ v.name }}"
97 {% elif v.__class__.__name__ == 'ComplexList' -%}
98 <table class="table table-striped extensible-table">
99 <tr><th>#</th><th>Name</th><th>Delete</th></tr>
100 {% for line in value -%}
101 {%- set basename = "%s %d-"|format(v.name, loop.index0) -%}
102 <tr class="list-field">
103 <td>{{loop.index}}</td>
105 <input type="text" name="{{basename}}name"
106 {%- if line.__class__.__name__ == 'list' -%}
107 value="{{ line|join(' / ') }}"
114 <input type="checkbox" name="{{basename}}delete">
115 <!-- Never cheked by default -->
120 <td><button class="btn add-field" type="button"> + </button></td>
124 {% elif v.__class__.__name__ == 'MappingList' -%}
125 <table class="table table-striped extensible-table">
126 <tr><th>#</th><th>From</th><th>To</th><th>Delete</th></tr>
127 {% for line in value -%}
128 {%- set basename = "%s %d-"|format(v.name, loop.index0) -%}
129 <tr class="list-field">
130 <td>{{loop.index}}</td>
132 <input type="text" name="{{basename}}from"
133 {% if line[0].__class__.__name__ == 'list' -%}
134 value="{{ line[0]|join(' / ') }}"
136 value="{{ line[0] }}"
141 <input type="text" name="{{basename}}to"
142 {% if line[1].__class__.__name__ == 'list' -%}
143 value="{{ line[1]|join(' / ') }}"
145 value="{{ line[1] }}"
150 <input type="checkbox" name="{{basename}}delete">
151 <!-- Never cheked by default -->
156 <td><button class="btn add-field" type="button"> + </button></td>
161 {{ v.__class__.__name__ }}
163 <span class="help-block">{{ v.description }}</span>
170 <button id="submit" class="btn btn-primary" name="submit" type="submit" value="Submit">
173 <a href="{{ back }}" class="btn btn-default" title="Back">Back</a>