From 709ac44da35d5d18680bcdaffe09c7febb23845f Mon Sep 17 00:00:00 2001
From: Ilya Zhitomirskiy <ilya@laptop.(none)>
Date: Mon, 16 May 2011 02:16:46 -0700
Subject: [PATCH] fixed the incrementing aspect ids on the contacts#sharing
 modal window, showing 'Add to Aspect' button only on the tags and profile
 pages

---
 app/views/aspect_memberships/create.js.erb    |  2 +-
 app/views/aspect_memberships/destroy.js.erb   |  2 +-
 app/views/aspects/create.js.erb               |  3 ++-
 app/views/contacts/_aspect_dropdown.html.haml | 11 ++++++-----
 app/views/tags/show.haml                      |  3 ++-
 public/javascripts/contact-edit.js            | 12 +++++++++---
 public/stylesheets/sass/application.sass      |  6 ------
 7 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/app/views/aspect_memberships/create.js.erb b/app/views/aspect_memberships/create.js.erb
index 35c232373d..595304cf6c 100644
--- a/app/views/aspect_memberships/create.js.erb
+++ b/app/views/aspect_memberships/create.js.erb
@@ -2,7 +2,7 @@
 //   licensed under the Affero General Public License version 3 or later.  See
 //   the COPYRIGHT file.
 
-ContactEdit.updateNumber();
+ContactEdit.updateNumber("<%= @contact.person_id%>");
 
 var element = $(".add[data-aspect_id=<%= @aspect.id %>][data-person_id=<%= @contact.person_id%>]");
 
diff --git a/app/views/aspect_memberships/destroy.js.erb b/app/views/aspect_memberships/destroy.js.erb
index 9f3aea5467..3c48c72290 100644
--- a/app/views/aspect_memberships/destroy.js.erb
+++ b/app/views/aspect_memberships/destroy.js.erb
@@ -2,7 +2,7 @@
 //   licensed under the Affero General Public License version 3 or later.  See
 //   the COPYRIGHT file.
 
-ContactEdit.updateNumber();
+ContactEdit.updateNumber("<%= @contact.person_id%>");
 var element = $(".added[data-aspect_id=<%= @aspect.id %>][data-person_id=<%= @contact.person_id%>]");
 element.parent().html("<%= escape_javascript(render('aspect_memberships/remove_from_aspect', :aspect => @aspect, :person => @contact.person, :contact => @contact)) %>");
 element.fadeTo(200,1);
diff --git a/app/views/aspects/create.js.erb b/app/views/aspects/create.js.erb
index 68549ad429..a5ddd04e72 100644
--- a/app/views/aspects/create.js.erb
+++ b/app/views/aspects/create.js.erb
@@ -2,8 +2,9 @@
 //   licensed under the Affero General Public License version 3 or later.  See
 //   the COPYRIGHT file.
 
-ContactEdit.updateNumber();
 $('ul.dropdown_list[data-person_id=<%= @person.id %>] .newItem').before("<%= escape_javascript( render('contacts/aspect_dropdown_list_item', :aspect => @aspect, :person => @person, :contact => @contact)) %>");
+
+ContactEdit.updateNumber("<%= @person.id %>");
 $.facebox.close();
 $('#profile .dropdown').toggleClass("active");
 
diff --git a/app/views/contacts/_aspect_dropdown.html.haml b/app/views/contacts/_aspect_dropdown.html.haml
index 8c30d29f55..29bb8a7f7f 100644
--- a/app/views/contacts/_aspect_dropdown.html.haml
+++ b/app/views/contacts/_aspect_dropdown.html.haml
@@ -8,10 +8,11 @@
     &#9660;
 
   .wrapper
-    %ul.dropdown_list{:unSelectable => 'on', 'data-person_id' => ((@person.id) if @person)}
+    %ul.dropdown_list{:unSelectable => 'on', 'data-person_id' => ((person.id) if person)}
       - for aspect in @all_aspects
         = aspect_dropdown_list_item(aspect, contact, person)
-        
-      %li.newItem
-        .add_aspect
-          = link_to "Add a new aspect", new_aspect_path(:person_id => person.id), :rel => 'facebox'
+              
+      - if defined?(@aspect) && ( @aspect == :profile || @aspect == :tag)
+        %li.newItem
+          .add_aspect
+            = link_to "Add a new aspect", new_aspect_path(:person_id => person.id), :rel => 'facebox'
diff --git a/app/views/tags/show.haml b/app/views/tags/show.haml
index 8802710162..926f4aff1f 100644
--- a/app/views/tags/show.haml
+++ b/app/views/tags/show.haml
@@ -38,7 +38,8 @@
         - if current_user
           - contact = current_user.contacts.find_by_person_id(person.id)
           - contact ||= Contact.new(:person => person)
-          = render 'contacts/aspect_dropdown', :contact => contact, :person => person, :hang => 'left'
+          .right
+            = render 'contacts/aspect_dropdown', :contact => contact, :person => person, :hang => 'left'
 
         .content
           %span.from
diff --git a/public/javascripts/contact-edit.js b/public/javascripts/contact-edit.js
index 157e700b8d..8d3e346b2d 100644
--- a/public/javascripts/contact-edit.js
+++ b/public/javascripts/contact-edit.js
@@ -8,9 +8,15 @@ var ContactEdit = {
       ContactEdit.processClick($(this), evt);
     });
   },
-  updateNumber: function(){
-    var number =  $(".dropdown_list input[type=checkbox]:checked").length
-    var element = $('.button.toggle');
+  updateNumber: function(personId){
+    console.log(personId);
+    var dropdown = $(".dropdown_list[data-person_id=" + personId.toString() +"]")
+    console.log(dropdown);
+
+    var number =  dropdown.find("input[type=checkbox]:checked").length
+
+    console.log(number);
+    var element = dropdown.parents(".dropdown").children('.button.toggle');
 
     var replacement;
 
diff --git a/public/stylesheets/sass/application.sass b/public/stylesheets/sass/application.sass
index 3670729ee3..01a0d41f92 100644
--- a/public/stylesheets/sass/application.sass
+++ b/public/stylesheets/sass/application.sass
@@ -2837,12 +2837,6 @@ ul.show_comments,
     :padding 10px 0
   .avatar
     :float left
-  .right
-    :display none
-
-  .stream_element:hover
-    .right
-      :display none
 
 .tag
   :display inline-block
-- 
GitLab