From 4a23ee8baf90c3729ad44ff75748670cfdebf6ad Mon Sep 17 00:00:00 2001 From: Kai Krueger Date: Thu, 21 Apr 2011 09:05:44 -0600 Subject: [PATCH] Grey out username text field for bugs when logged in. --- app/views/site/index.html.erb | 6 +++++- public/javascripts/openstreetbugs.js | 31 ++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index 633a7ba3b..08bada0b9 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -25,7 +25,7 @@
@@ -129,6 +129,10 @@ end OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>"); + <% if @user %> + var loginName = "<%= @user.display_name %>" + <% end %> + function createBugCallBack() { map.osbControl.deactivate(); document.getElementById("OpenLayers.Map_18_OpenLayers_Container").style.cursor = "default"; diff --git a/public/javascripts/openstreetbugs.js b/public/javascripts/openstreetbugs.js index 888477e7f..fa3586ba3 100644 --- a/public/javascripts/openstreetbugs.js +++ b/public/javascripts/openstreetbugs.js @@ -396,11 +396,22 @@ OpenLayers.Layer.OpenStreetBugs = new OpenLayers.Class(OpenLayers.Layer.Markers, el1.appendChild(el2); el2 = document.createElement("dd"); var inputUsername = document.createElement("input"); - inputUsername.value = this.username; + var inputUsername = document.createElement("input");; + if (typeof loginName === 'undefined') { + inputUsername.value = this.username; + } else { + inputUsername.value = loginName; + inputUsername.setAttribute('disabled','true'); + } inputUsername.className = "osbUsername"; inputUsername.onkeyup = function(){ layer.setUserName(inputUsername.value); }; el2.appendChild(inputUsername); - el1.appendChild(el2); + el3 = document.createElement("a"); + el3.setAttribute("href","login"); + el3.className = "hide_if_logged_in"; + el3.appendChild(document.createTextNode(OpenLayers.i18n("Login"))); + el2.appendChild(el3) + el1.appendChild(el2); el2 = document.createElement("dt"); el2.appendChild(document.createTextNode(OpenLayers.i18n("Comment"))); @@ -410,6 +421,7 @@ OpenLayers.Layer.OpenStreetBugs = new OpenLayers.Class(OpenLayers.Layer.Markers, inputComment.setAttribute("cols",40); el2.appendChild(inputComment); el1.appendChild(el2); + el_form.appendChild(el1); el1 = document.createElement("ul"); @@ -646,11 +658,22 @@ OpenLayers.Control.OpenStreetBugs = new OpenLayers.Class(OpenLayers.Control, { el2.appendChild(document.createTextNode(OpenLayers.i18n("Nickname"))); el1.appendChild(el2); el2 = document.createElement("dd"); - var inputUsername = document.createElement("input"); - inputUsername.value = this.osbLayer.username; + var inputUsername = document.createElement("input");; + if (typeof loginName === 'undefined') { + inputUsername.value = this.osbLayer.username; + } else { + inputUsername.value = loginName; + inputUsername.setAttribute('disabled','true'); + } inputUsername.className = "osbUsername"; + inputUsername.onkeyup = function(){ control.osbLayer.setUserName(inputUsername.value); }; el2.appendChild(inputUsername); + el3 = document.createElement("a"); + el3.setAttribute("href","login"); + el3.className = "hide_if_logged_in"; + el3.appendChild(document.createTextNode(OpenLayers.i18n("Login"))); + el2.appendChild(el3); el1.appendChild(el2); el2 = document.createElement("dt"); -- 2.43.2