pfisjs/views/involvededitor_inlay.jade

163 lines
5.2 KiB
Plaintext

include mixins
form.form-horizontal.subroot#form-involvededitor
.new_flex_zero(style="padding-bottom: 20px;")
.container-fluid
h4 Beteiligten aus manuellen Angaben hinzufügen
button(class="btn btn-success btn-sm", type="submit", id="submit_button")
span(class="glyphicon glyphicon-ok", aria-hidden="true")
span
span Übernehmen
button(class="btn btn-warning btn-sm", type="button", onclick="history.back();")
span(class="glyphicon glyphicon-remove-circle", aria-hidden="true")
span
span Abbrechen
.new_flex_one(style="padding-bottom: 200px;")
.container-fluid
.form-group
label(for='edit_group', class="col-sm-2 control-label") Gruppe
.col-sm-10
input(id='edit_group', type="text", class="form-control noEnterSubmit", value="#{involved.group}")
.help-block.with-errors
.form-group
label(for='edit_surname', class="col-sm-2 control-label") Nachname
.col-sm-10
input(id='edit_surname', type="text", class="form-control noEnterSubmit", value="#{involved.surname}", required)
.help-block.with-errors
.form-group
label(for='edit_forename', class="col-sm-2 control-label") Vorname
.col-sm-10
input(id='edit_forename', type="text", class="form-control noEnterSubmit", value="#{involved.forename}")
.help-block.with-errors
.form-group
label(for='edit_street', class="col-sm-2 control-label") Straße
.col-sm-10
input(id='edit_street', type="text", class="form-control noEnterSubmit", value="#{involved.street}")
.help-block.with-errors
.form-group
label(for='edit_street_nr', class="col-sm-2 control-label") Hausnummer
.col-sm-3
input(id='edit_street_nr', type="text", class="form-control noEnterSubmit", value="#{involved.street_nr}")
.help-block.with-errors
.form-group
label(for='edit_postalcode', class="col-sm-2 control-label") Postleitzahl
.col-sm-3
input(id='edit_postalcode', type="text", class="form-control noEnterSubmit", value="#{involved.postalcode}")
.help-block.with-errors
.form-group
label(for='edit_location', class="col-sm-2 control-label") Ort
.col-sm-10
input(id='edit_location', type="text", class="form-control noEnterSubmit", value="#{involved.location}")
.help-block.with-errors
.form-group
label(for='edit_email', class="col-sm-2 control-label") eMail
.col-sm-10
input(id='edit_email', type="email", class="form-control noEnterSubmit", value="#{involved.email}")
.help-block.with-errors
.form-group
label(for='edit_telephonenumber', class="col-sm-2 control-label") Telefonnummer
.col-sm-10
input(id='edit_telephonenumber', type="tel", class="form-control noEnterSubmit", value="#{involved.telephonenumber}", required)
.help-block.with-errors
script.
var all_locations = [
{plz: "96050", loc: "Bamberg"},
{plz: "96450", loc: "Coburg"},
{plz: "96465", loc: "Neustadt bei Coburg"},
{plz: "96472", loc: "Rödental"},
{plz: "96487", loc: "Dörfles-Esbach"}
];
var locationMatcher = function(locations) {
return function findMatches(q, cb) {
var matches, substringRegex;
// an array that will be populated with substring matches
matches = [];
// regex used to determine if a string contains the substring `q`
substrRegex = new RegExp(q, 'i');
// iterate through the pool of strings and for any string that
// contains the substring `q`, add it to the `matches` array
$.each(locations, function(i, loc) {
console.log('location: ', loc);
if (substrRegex.test(loc.plz)) {
matches.push(loc);
}
});
cb(matches);
};
};
$("#edit_postalcode").typeahead({
hint: true,
highlight: true,
minLength: 2
},
{
name: 'locations',
source: locationMatcher(all_locations),
display: 'plz',
limit: 15
}).bind('typeahead:select typeahead:autocomplete', function(ev, suggestion) {
console.log(suggestion);
$("#edit_location").val(suggestion.loc);
});
// KEEP IN SYNC WITH involved.cpp 'construct_name'
function construct_involved_name(data) {
var group_given = data.group.length > 0;
return (group_given ? data.group + " [" : "") +
data.surname + (data.surname.length === 0 || data.forename.length === 0 ? "" : ", ") + data.forename +
(group_given ? "]" : "");
}
$('#form-involvededitor').validator().on('submit', function(e) {
if( ! e.isDefaultPrevented() )
{
e.preventDefault();
var data = {
for_role: "#{for_role}",
id : "other",
group : $("#edit_group").val(),
forename: $("#edit_forename").val(),
surname : $("#edit_surname").val(),
street : $("#edit_street").val(),
street_nr: $("#edit_street_nr").val(),
postalcode: $("#edit_postalcode").val(),
location: $("#edit_location").val(),
email: $("#edit_email").val(),
telephonenumber: $("#edit_telephonenumber").val()
};
data.name = construct_involved_name(data);
switch("#{type}") {
case "add":
pcal_pentry_edit_manager.add_involved(data);
break;
case "edit":
data.uid = "#{involved.uid}";
pcal_pentry_edit_manager.edit_involved(data);
break;
}
}
});