From e0f2ed2757b698448d49fa3e73340ce9ced25e7a Mon Sep 17 00:00:00 2001 From: Björn Schießle Date: Mon, 28 Jan 2013 14:09:11 +0100 Subject: interface and API to change display names --- settings/js/users.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'settings/js/users.js') diff --git a/settings/js/users.js b/settings/js/users.js index fa6f058d923..835f46f6ed3 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -300,6 +300,43 @@ $(document).ready(function () { $('td.password').live('click', function (event) { $(this).children('img').click(); }); + + $('td.displayName>img').live('click', function (event) { + event.stopPropagation(); + var img = $(this); + var uid = img.parent().parent().attr('data-uid'); + var input = $(''); + img.css('display', 'none'); + img.parent().children('span').replaceWith(input); + input.focus(); + input.keypress(function (event) { + console.log("event!"); + if (event.keyCode == 13) { + console.log("13"); + if ($(this).val().length > 0) { + console.log("post"); + $.post( + OC.filePath('settings', 'ajax', 'changedisplayname.php'), + {username:uid, displayName:$(this).val()}, + function (result) { + console.log("come back!"); + } + ); + input.blur(); + } else { + input.blur(); + } + } + }); + input.blur(function () { + $(this).replaceWith($(this).val()); + img.css('display', ''); + }); + }); + $('td.displayName').live('click', function (event) { + $(this).children('img').click(); + }); + $('select.quota, select.quota-user').live('change', function () { var select = $(this); -- cgit v1.2.3 From f3a99f4869ea238822793f89bef14b564c333aad Mon Sep 17 00:00:00 2001 From: Björn Schießle Date: Mon, 28 Jan 2013 17:01:37 +0100 Subject: show display name in input field --- settings/js/users.js | 3 ++- settings/templates/users.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'settings/js/users.js') diff --git a/settings/js/users.js b/settings/js/users.js index 835f46f6ed3..111e3040a35 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -305,7 +305,8 @@ $(document).ready(function () { event.stopPropagation(); var img = $(this); var uid = img.parent().parent().attr('data-uid'); - var input = $(''); + var displayName = img.parent().parent().attr('data-displayName'); + var input = $(''); img.css('display', 'none'); img.parent().children('span').replaceWith(input); input.focus(); diff --git a/settings/templates/users.php b/settings/templates/users.php index 2ba57fb4a7c..6407b59883a 100644 --- a/settings/templates/users.php +++ b/settings/templates/users.php @@ -91,7 +91,8 @@ var isadmin = ; - "> + " + data-displayName=""> Date: Tue, 29 Jan 2013 21:30:04 +0100 Subject: remove dubug output --- settings/js/users.js | 1 - 1 file changed, 1 deletion(-) (limited to 'settings/js/users.js') diff --git a/settings/js/users.js b/settings/js/users.js index 111e3040a35..ef723202b1f 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -320,7 +320,6 @@ $(document).ready(function () { OC.filePath('settings', 'ajax', 'changedisplayname.php'), {username:uid, displayName:$(this).val()}, function (result) { - console.log("come back!"); } ); input.blur(); -- cgit v1.2.3 From 56c6e6a334caf690184c84bae290ea596f53c3de Mon Sep 17 00:00:00 2001 From: Björn Schießle Date: Tue, 29 Jan 2013 22:20:47 +0100 Subject: remove debug output --- settings/js/users.js | 3 --- 1 file changed, 3 deletions(-) (limited to 'settings/js/users.js') diff --git a/settings/js/users.js b/settings/js/users.js index ef723202b1f..a50fac03727 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -311,11 +311,8 @@ $(document).ready(function () { img.parent().children('span').replaceWith(input); input.focus(); input.keypress(function (event) { - console.log("event!"); if (event.keyCode == 13) { - console.log("13"); if ($(this).val().length > 0) { - console.log("post"); $.post( OC.filePath('settings', 'ajax', 'changedisplayname.php'), {username:uid, displayName:$(this).val()}, -- cgit v1.2.3 From 665979819766bd23cddc18a3e1666f303ac25932 Mon Sep 17 00:00:00 2001 From: Björn Schießle Date: Tue, 29 Jan 2013 22:33:46 +0100 Subject: only change display name if the display name from the current user was changed; add correct display name to new user --- lib/user.php | 4 +++- settings/js/users.js | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'settings/js/users.js') diff --git a/lib/user.php b/lib/user.php index 3a35069fd62..6452f80602c 100644 --- a/lib/user.php +++ b/lib/user.php @@ -283,7 +283,9 @@ class OC_User { $displayName = self::determineDisplayName($uid); $result = true; } - $_SESSION['display_name'] = $displayName; + if (OC_User::getUser() === $uid) { + $_SESSION['display_name'] = $displayName; + } return $result; } diff --git a/settings/js/users.js b/settings/js/users.js index a50fac03727..524a57e0776 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -70,7 +70,9 @@ var UserList = { add:function (username, groups, subadmin, quota, sort) { var tr = $('tbody tr').first().clone(); tr.attr('data-uid', username); + tr.attr('data-displayName', username); tr.find('td.name').text(username); + tr.find('td.displayName').text(username); var groupsSelect = $('').attr('data-username', username).attr('data-user-groups', groups); tr.find('td.groups').empty(); if (tr.find('td.subadmins').length > 0) { -- cgit v1.2.3