+
{% bootstrap_form form layout="horizontal" %}
diff --git a/src/static/pretixpresale/js/ui/main.js b/src/static/pretixpresale/js/ui/main.js
index 712485690..f420775cd 100644
--- a/src/static/pretixpresale/js/ui/main.js
+++ b/src/static/pretixpresale/js/ui/main.js
@@ -35,8 +35,50 @@ $(function () {
});
$("#ajaxerr").on("click", ".ajaxerr-close", ajaxErrDialog.hide);
+
+ // Copy answers
+ $(".js-copy-answers").click(function (e) {
+ e.preventDefault();
+ var idx = $(this).data('id');
+ bind_groups(idx);
+ });
});
+function bind_groups(idx) {
+ var elements = $('*[data-idx="'+idx+'"] input, *[data-idx="'+idx+'"] select, *[data-idx="'+idx+'"] textarea');
+ var firstAnswers = $('*[data-idx="0"] input, *[data-idx="0"] select, *[data-idx="0"] textarea');
+ elements.each(function(index){
+ var input = $(this),
+ tagName = input.prop('tagName').toLowerCase(),
+ attributeType = input.attr('type');
+
+ switch (tagName) {
+ case "textarea":
+ input.val(firstAnswers.eq(index).val());
+ break;
+ case "select":
+ input.val(firstAnswers.eq(index).find(":selected").val()).change();
+ break;
+ case "input":
+ switch (attributeType) {
+ case "text":
+ case "number":
+ input.val(firstAnswers.eq(index).val());
+ break;
+ case "checkbox":
+ case "radio":
+ input.prop("checked", firstAnswers.eq(index).prop("checked"));
+ break;
+ default:
+ input.val(firstAnswers.eq(index).val());
+ }
+ break;
+ default:
+ input.val(firstAnswers.eq(index).val());
+ }
+ });
+}
+
var waitingDialog = {
show: function (message) {
"use strict";