diff options
author | Ezekiel Kigbo <ekigbo@gitlab.com> | 2019-02-01 13:22:43 +1100 |
---|---|---|
committer | Ezekiel Kigbo <ekigbo@gitlab.com> | 2019-02-18 10:59:16 +1100 |
commit | 096e184c4951b5e093c13e2710df83cffe918627 (patch) | |
tree | dec6babb30f25c55e3c54e2303e6c0f5e92dd9b9 | |
parent | b492b86c29264902e6f62cdfa1f60e18ce1e57fa (diff) | |
download | gitlab-ce-37673-minor-issue-with-apostrophe-single-quote-when-clicking-assign-to-me.tar.gz |
Chore: cleanup template and used variables37673-minor-issue-with-apostrophe-single-quote-when-clicking-assign-to-me
Uses a underscore `_.template` for the assignYourself input field
Update variable declarations for template fields
-rw-r--r-- | app/assets/javascripts/users_select.js | 25 | ||||
-rw-r--r-- | spec/features/issues/user_creates_issue_spec.rb | 5 |
2 files changed, 14 insertions, 16 deletions
diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index 075451da115..8c71615dff2 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -93,25 +93,22 @@ function UsersSelect(currentUser, els, options = {}) { } // Save current selected user to the DOM - const currentUserInfo = $dropdown.data('currentUserInfo'); - - const userName = currentUserInfo ? currentUserInfo.name : null; + const currentUserInfo = $dropdown.data('currentUserInfo') || {}; + const currentUser = _this.currentUser || {}; const fieldName = $dropdown.data('fieldName'); - const userId = (function() { - if (currentUserInfo) { - return currentUserInfo.id; - } - return _this.currentUser && _this.currentUser.id ? _this.currentUser.id : null; - })(); + const userName = currentUserInfo.name; + const userId = currentUserInfo.id || currentUser.id; - const input = `<input type="hidden" name="${_.escape(fieldName)}" - ${userName ? `data-meta="${_.escape(userName)}"` : ''} - ${userId ? `value="${_.escape(userId)}"` : ''} />`; + const inputHtmlString = _.template(` + <input type="hidden" name="<%- fieldName %>" + data-meta="<%- userName %>" + value="<%- userId %>" /> + `)({ fieldName, userName, userId }); if ($selectbox) { - $dropdown.parent().before(input); + $dropdown.parent().before(inputHtmlString); } else { - $dropdown.after(input); + $dropdown.after(inputHtmlString); } }; diff --git a/spec/features/issues/user_creates_issue_spec.rb b/spec/features/issues/user_creates_issue_spec.rb index 1e53ee6801f..0f604db870f 100644 --- a/spec/features/issues/user_creates_issue_spec.rb +++ b/spec/features/issues/user_creates_issue_spec.rb @@ -5,7 +5,6 @@ require "spec_helper" describe "User creates issue" do let(:project) { create(:project_empty_repo, :public) } let(:user) { create(:user) } - let(:user_special) { create(:user, name: "Jon O'Shea") } context "when signed in as guest" do before do @@ -96,6 +95,8 @@ describe "User creates issue" do end context "when signed in as user with special characters in their name" do + let(:user_special) { create(:user, name: "Jon O'Shea") } + before do project.add_developer(user_special) sign_in(user_special) @@ -107,7 +108,7 @@ describe "User creates issue" do first('.assign-to-me-link').click expect(page).to have_content(user_special.name) - expect(page.find('input[name="issue[assignee_ids][]"]', visible: false)['data-meta']).to eq user_special.name + expect(page.find('input[name="issue[assignee_ids][]"]', visible: false)['data-meta']).to eq(user_special.name) end end end |