Skip to content
Snippets Groups Projects
Commit 848e681a authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge branch '122-check-for-subject-duplicates' into 'master'

Resolve "check for subject duplicates"

Closes #122

See merge request !50
parents 9b0fc7de 4386a8a2
No related branches found
No related tags found
1 merge request!50Resolve "check for subject duplicates"
Pipeline #
...@@ -177,6 +177,7 @@ def serialize_subject(subject): ...@@ -177,6 +177,7 @@ def serialize_subject(subject):
result = { result = {
"first_name": subject.first_name, "first_name": subject.first_name,
"last_name": subject.last_name, "last_name": subject.last_name,
"date_born": subject.date_born,
"nd_number": subject.nd_number, "nd_number": subject.nd_number,
"screening_number": subject.screening_number, "screening_number": subject.screening_number,
"default_location": location, "default_location": location,
......
...@@ -89,6 +89,36 @@ ...@@ -89,6 +89,36 @@
$.get("{% url 'web.api.referrals' %}", function (data) { $.get("{% url 'web.api.referrals' %}", function (data) {
new Awesomplete(document.querySelector("#id_referral")).list = data.referrals; new Awesomplete(document.querySelector("#id_referral")).list = data.referrals;
}); });
var checkDuplicates = function (e) {
var first_name = $("input[name='first_name']").val();
var last_name = $("input[name='last_name']").val();
if (last_name !== "") {
var url = "{% url 'web.api.subjects' 'GENERIC' %}"
url += "?columns[0][data]=first_name&columns[0][search][value]=" + first_name;
url += "&columns[1][data]=last_name&columns[1][search][value]=" + last_name;
$.get(url, function (data) {
subjects = [];
$.each(data.data, function (index, subject) {
if (subject.last_name.toUpperCase() === last_name.toUpperCase() && subject.first_name.toUpperCase() === first_name.toUpperCase()) {
subjects.push(subject);
}
});
if (subjects.length > 0) {
$("#duplicate_warning").css("display", "block");
var content = "There are possible duplicate(s) with the same name:<br/>"
$.each(subjects, function (index, subject) {
content += subject.first_name + " " + subject.last_name + ", born: " + subjects.date_born + ", screening number: " + subject.screening_number + "<br/>"
});
$("#duplicate_warning").html(content);
}
});
}
};
$("input[name='last_name']").after("<div id='duplicate_warning' class='btn-warning' style='display:none'>message</div>");
$("input[name='last_name']").on('keyup', checkDuplicates);
$("input[name='first_name']").on('keyup', checkDuplicates);
}); });
</script> </script>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment