added aspect filtering to contact index. fixed rspec

This commit is contained in:
danielgrippi
2011-06-27 15:03:39 -07:00
parent 1fe4c3c3de
commit f839714646
5 changed files with 44 additions and 24 deletions

View File

@@ -54,7 +54,7 @@ class AspectsController < ApplicationController
flash[:notice] = I18n.t('aspects.create.success', :name => @aspect.name)
if current_user.getting_started
redirect_to :back
elsif request.env['HTTP_REFERER'].include?("aspects/manage")
elsif request.env['HTTP_REFERER'].include?("contacts")
redirect_to :back
elsif params[:aspect][:person_id]
@person = Person.where(:id => params[:aspect][:person_id]).first
@@ -64,9 +64,6 @@ class AspectsController < ApplicationController
else
@contact = current_user.share_with(@person, @aspect)
end
else
respond_with @aspect
end

View File

@@ -11,7 +11,9 @@ class ContactsController < ApplicationController
@all_contacts_count = current_user.contacts.count
@my_contacts_count = current_user.contacts.receiving.count
unless params[:set] == "all"
if params["a_id"]
@contacts = current_user.aspects.find(params["a_id"]).contacts.includes(:aspects, :person => :profile).order('profiles.last_name ASC').paginate(:page => params[:page], :per_page => 25)
elsif params[:set] != "all"
@contacts = current_user.contacts.receiving.includes(:aspects, :person => :profile).order('profiles.last_name ASC').paginate(:page => params[:page], :per_page => 25)
else
@contacts = current_user.contacts.includes(:aspects, :person => :profile).order('profiles.last_name ASC').paginate(:page => params[:page], :per_page => 25)

View File

@@ -12,30 +12,34 @@
.span-5.append-1
%ul#left_nav
%li{:class => ("active" unless params["set"] == "all")}
%a{:href => contacts_path}
%a{:href => contacts_path, :class => ("sub_selected" if params["a_id"])}
.contact_count
= @my_contacts_count
My Contacts
%ul#aspect_sub_nav
- for aspect in all_aspects
%li
= link_to aspect, contacts_path(:a_id => aspect)
%li
= link_to "Add new aspect", "#", :class => "add_new_aspect_link"
%li{:class => ("active" if params["a_id"].to_i == aspect.id)}
%a{:href => contacts_path(:a_id => aspect.id)}
.contact_count
= aspect.contacts.count
= aspect
%li
= link_to "+ Add new aspect", "#add_aspect_pane", :class => "new_aspect", :rel => "facebox"
%li{:class => ("active" if params["set"] == "all")}
%a{:href => contacts_path(:set => "all")}
.contact_count
= @all_contacts_count
All Contacts
.span-15
#people_stream.stream
- for contact in @contacts
= render :partial => 'people/person', :locals => {:contact => contact, :person => contact.person}
- if @contacts.size > 0
- for contact in @contacts
= render :partial => 'people/person', :locals => {:contact => contact, :person => contact.person}
- else
%h3.no_contacts
No contacts.
= will_paginate @contacts

View File

@@ -2965,6 +2965,7 @@ ul#left_nav
li
:position relative
:width 100%
a
:display block
@@ -2978,11 +2979,19 @@ ul#left_nav
:decoration none
li.active
> a
> a:not(.sub_selected)
:color #333
:font
:weight 700
.contact_count
:font
:weight 700
:color #666
ul#aspect_sub_nav
:display block
.contact_count
@include border-radius(4px)
:float right
@@ -2995,15 +3004,23 @@ ul#left_nav
:font
:size 11px
li.active
.contact_count
:font
:weight 700
:color #666
ul#aspect_sub_nav
:padding 0
:left 15px
:margin 0
:display none
a
:padding
:left 15px
:width 182px
.new_aspect
:color #999
:font
:style italic
&:hover
:color #777
.no_contacts
:text-align center
:top 50px

View File

@@ -50,7 +50,7 @@ describe ContactsController do
get :index, :set => "mine"
contacts = assigns(:contacts)
contacts.to_set.should == bob.contacts.sharing.to_set
contacts.to_set.should == bob.contacts.receiving.to_set
end
it "shows all contacts (sharing and receiving)" do