From 1b03eac95b552c90edb8c5d35845d89ce00910bc Mon Sep 17 00:00:00 2001
From: Yohann D'ANELLO <yohann.danello@gmail.com>
Date: Tue, 24 Mar 2020 01:34:47 +0100
Subject: [PATCH] Last and first name didn't auto-complete because of a bug

---
 static/js/base.js     | 10 +++++++---
 static/js/transfer.js | 19 +++++++++++++++----
 2 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/static/js/base.js b/static/js/base.js
index bace7a9f..b22df077 100644
--- a/static/js/base.js
+++ b/static/js/base.js
@@ -67,6 +67,7 @@ function displayNote(note, alias, user_note_field=null, profile_pic_field=null)
             note.display_image = new_note.display_image.replace("http:", "https:");
             note.name = new_note.name;
             note.balance = new_note.balance;
+            note.user = new_note.user;
 
             displayNote(note, alias, user_note_field, profile_pic_field);
         });
@@ -151,10 +152,13 @@ function autoCompleteNote(field_id, alias_matched_id, note_list_id, notes, notes
 
     let old_pattern = null;
 
-    // When the user type "Enter", the first alias is clicked
+    // When the user type "Enter", the first alias is clicked, and the informations are displayed
     field.keypress(function(event) {
-        if (event.originalEvent.charCode === 13)
-            $("#" + alias_matched_id + " li").first().trigger("click");
+        if (event.originalEvent.charCode === 13) {
+            let li_obj = $("#" + alias_matched_id + " li").first();
+            displayNote(notes[0], li_obj.text(), user_note_field, profile_pic_field);
+            li_obj.trigger("click");
+        }
     });
 
     // When the user type something, the matched aliases are refreshed
diff --git a/static/js/transfer.js b/static/js/transfer.js
index c615f932..a4171910 100644
--- a/static/js/transfer.js
+++ b/static/js/transfer.js
@@ -39,10 +39,21 @@ $(document).ready(function() {
 
                 last.quantity = 1;
 
-                $.getJSON("/api/user/" + last.note.user + "/", function(user) {
-                    $("#last_name").val(user.last_name);
-                    $("#first_name").val(user.first_name);
-                });
+                if (!last.note.user) {
+                    $.getJSON("/api/note/note/" + last.note.id + "/?format=json", function(note) {
+                        last.note.user = note.user;
+                        $.getJSON("/api/user/" + last.note.user + "/", function(user) {
+                            $("#last_name").val(user.last_name);
+                            $("#first_name").val(user.first_name);
+                        });
+                    });
+                }
+                else {
+                    $.getJSON("/api/user/" + last.note.user + "/", function(user) {
+                        $("#last_name").val(user.last_name);
+                        $("#first_name").val(user.first_name);
+                    });
+                }
             }
 
             return true;
-- 
GitLab