Newer
Older
ldapcherry / resources / templates / form.tmpl
@kakwa kakwa on 11 Jun 2015 2 KB fixing two columns layout
<% 
len_attr = len(attributes)
switch = len_attr / 2
if not switch * 2 == len_attr:
    switch = switch + 1
counter = 1
lc1 = []
lc2 = []
for a in sorted(attributes.keys(), key=lambda attr: attributes[attr]['weight']):
    if counter <= switch:
        lc1.append(a)
    else:
        lc2.append(a)
    counter = counter + 1
%>
<%def name="form_col(l)">
% for a in l: 
<% attr = attributes[a] %>
<div class="form-group">
<div class="input-group">
  <% 
    if not values is None and a in values:
        value = ' value="'+ values[a] + '"'
        value2 = '<option>'+ values[a] +'</option>'
    else:
        value = ''
        value2 = ''
  %>
  <span class="input-group-addon" id="basic-addon1">${attr['display_name']}</span>
    % if attr['type'] == 'string':
  <input type="text"   name="${a}" class="form-control" placeholder="${attr['description']}" aria-describedby="basic-addon1" required ${value}>
    % elif attr['type'] == 'email':
  <input type="email"  name="${a}" class="form-control" placeholder="${attr['description']}" aria-describedby="basic-addon1" required ${value} data-error="email address is invalid">
    % elif attr['type'] == 'int':
  <input type="number" name="${a}" class="form-control" placeholder="${attr['description']}" aria-describedby="basic-addon1" required ${value}>
    % elif attr['type'] == 'fix':
  <input type="hidden"   name="${a}" class="form-control" placeholder="${attr['description']}" aria-describedby="basic-addon1" required value="${attr['value']}">
  <span class="form-control" placeholder="${attr['description']}" aria-describedby="basic-addon1">${attr['value']}</span>
    % elif attr['type'] == 'stringlist':
  <select class="form-control" name="type">
        ${value2}
        %for val in attr['values']:
        <option>${val}</option>
        %endfor
  </select>
    % elif attr['type'] == 'password':
      <input type="password" class="form-control" name="${a}1" id="${a}1" placeholder="${attr['description']}" required>
      <span class="input-group-addon" id="basic-addon1">Retype ${attr['display_name']}</span>
      <input type="password" class="form-control" name="${a}2" id="#${a}2" data-match="#${a}1" placeholder="Confirm" required>
    % endif
</div>
</div>
% endfor
</%def>
<div class="row">
<div class="col-md-6 column">
${form_col(lc1)}
</div>
<div class="col-md-6 column">
${form_col(lc2)}
</div>
</div>