summaryrefslogtreecommitdiffstats
path: root/askbot/media/js/utils.js
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-09-22 19:31:59 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-09-22 19:31:59 -0400
commitcbb489ec8f82a783c627199b9ae62f985ffd5100 (patch)
tree1c2d01e6f593ae791262c1dc4222a6b79828ab3b /askbot/media/js/utils.js
parent44ca8c68afeea6848f750224d00a7d1b1bc09bcb (diff)
downloadaskbot-cbb489ec8f82a783c627199b9ae62f985ffd5100.tar.gz
askbot-cbb489ec8f82a783c627199b9ae62f985ffd5100.tar.bz2
askbot-cbb489ec8f82a783c627199b9ae62f985ffd5100.zip
improved group-adding js for the case-variants of group names
Diffstat (limited to 'askbot/media/js/utils.js')
-rw-r--r--askbot/media/js/utils.js50
1 files changed, 29 insertions, 21 deletions
diff --git a/askbot/media/js/utils.js b/askbot/media/js/utils.js
index 8aa582b2..dfec46cc 100644
--- a/askbot/media/js/utils.js
+++ b/askbot/media/js/utils.js
@@ -1690,28 +1690,36 @@ GroupDropdown.prototype.decorate = function(element){
};
GroupDropdown.prototype.insertGroup = function(group_name, url){
- var new_group_li = this.makeElement('li');
- new_group_a = this.makeElement('a');
- new_group_a.attr('href', url);
- new_group_a.attr('class', 'group-name');
- new_group_a.text(group_name);
- new_group_li.append(new_group_a);
- links_array = this._element.find('a')
- for (i=1; i < links_array.length; i++){
- var value = links_array[i];
- if (value.text.toLowerCase() < group_name.toLowerCase()){
- if (i == links_array.length - 1){
- new_group_li.insertAfter(this._element.find('li')[i-1])
- break;
- } else{
- continue;
- }
- } else {
- new_group_li.insertAfter(this._element.find('li')[i-1])
- break;
+ var new_group_li = this.makeElement('li');
+ new_group_a = this.makeElement('a');
+ new_group_a.attr('href', url);
+ new_group_a.attr('class', 'group-name');
+ new_group_a.text(group_name);
+ new_group_li.append(new_group_a);
+ links_array = this._element.find('a')
+ for (i=1; i < links_array.length; i++){
+ var listedName = links_array[i].text;
+ var cleanedListedName = listedName.toLowerCase();
+ var cleanedNewName = group_name.toLowerCase()
+ if (listedName < newName) {
+ if (i == links_array.length - 1){
+ new_group_li.insertAfter(this._element.find('li')[i-1])
+ break;
+ } else {
+ continue;
+ }
+ } else if (cleanedNewName === cleanedNewName) {
+ var message = interpolate(gettext(
+ 'Group %(name)s already exists. Group names are case-insensitive.'
+ ), {'name': listedName}, true
+ );
+ notify.show(message);
+ return;
+ } else {
+ new_group_li.insertAfter(this._element.find('li')[i-1])
+ break;
+ }
}
-
- }
};
GroupDropdown.prototype._add_group_handler = function(group_name){