Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-02-02 12:42:35 +0300
committerVincent Petry <pvince81@owncloud.com>2016-03-18 14:32:29 +0300
commita7dfc70e2e267e5628dc668491b538676d220742 (patch)
treed111ab561f90e9cbe59e70fe7e350e6bf3adef8d /core
parent382b18e85e021afbe738f8b21086908acb534248 (diff)
Allow creating tags where another one with same prefix exists
When creating a new entry, compare the full tag name and not only the prefix.
Diffstat (limited to 'core')
-rw-r--r--core/js/systemtags/systemtagsinputfield.js4
-rw-r--r--core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js9
2 files changed, 12 insertions, 1 deletions
diff --git a/core/js/systemtags/systemtagsinputfield.js b/core/js/systemtags/systemtagsinputfield.js
index 148d52b57dd..45dc5b7b03e 100644
--- a/core/js/systemtags/systemtagsinputfield.js
+++ b/core/js/systemtags/systemtagsinputfield.js
@@ -320,7 +320,9 @@
*/
_createSearchChoice: function(term) {
term = term.trim();
- if (this.collection.filterByName(term).length) {
+ if (this.collection.filter(function(entry) {
+ return entry.get('name') === term;
+ }).length) {
return;
}
if (!this._newTag) {
diff --git a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
index aadf0de53f2..22bf0d2c82a 100644
--- a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
+++ b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
@@ -85,6 +85,15 @@ describe('OC.SystemTags.SystemTagsInputField tests', function() {
expect(result.userVisible).toEqual(true);
expect(result.userAssignable).toEqual(true);
});
+ it('creates dummy tag when user types non-matching name even with prefix of existing tag', function() {
+ var opts = select2Stub.getCall(0).args[0];
+ var result = opts.createSearchChoice('ab');
+ expect(result.id).toEqual(-1);
+ expect(result.name).toEqual('ab');
+ expect(result.isNew).toEqual(true);
+ expect(result.userVisible).toEqual(true);
+ expect(result.userAssignable).toEqual(true);
+ });
it('creates the real tag and fires select event after user selects the dummy tag', function() {
var selectHandler = sinon.stub();
view.on('select', selectHandler);