summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEzekiel Kigbo <ekigbo@gitlab.com>2019-02-01 13:22:43 +1100
committerEzekiel Kigbo <ekigbo@gitlab.com>2019-02-18 10:59:16 +1100
commit096e184c4951b5e093c13e2710df83cffe918627 (patch)
treedec6babb30f25c55e3c54e2303e6c0f5e92dd9b9
parentb492b86c29264902e6f62cdfa1f60e18ce1e57fa (diff)
downloadgitlab-ce-37673-minor-issue-with-apostrophe-single-quote-when-clicking-assign-to-me.tar.gz
Uses a underscore `_.template` for the assignYourself input field Update variable declarations for template fields
-rw-r--r--app/assets/javascripts/users_select.js25
-rw-r--r--spec/features/issues/user_creates_issue_spec.rb5
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