Merge branch 'master' of git://github.com/diaspora/diaspora

This commit is contained in:
Jordi Mallach 2011-07-18 12:14:36 +02:00
commit d8fce7a9db
8 changed files with 50 additions and 43 deletions

View file

@ -6,22 +6,29 @@ class ContactsController < ApplicationController
before_filter :authenticate_user!
def index
@aspect = :manage
@contacts = case params[:set]
when "only_sharing"
current_user.contacts.only_sharing
when "all"
current_user.contacts
else
if params[:a_id]
@aspect_ = current_user.aspects.find(params["a_id"])
@contacts = @aspect_.contacts.includes(:aspects, :person => :profile).order('profiles.last_name ASC').paginate(:page => params[:page], :per_page => 25)
elsif params[:aspect_ids] && request.format == "json"
@aspect = current_user.aspects.find(params[:a_id])
@aspect.contacts
else
current_user.contacts.receiving
end
end
respond_to do |format|
format.html { @contacts = sort_and_paginate_profiles(@contacts) }
format.json {
@people = Person.joins(:contacts => :aspect_memberships).
where(:contacts => { :user_id => current_user.id },
:aspect_memberships => { :aspect_id => params[:aspect_ids] })
render :json => @people.includes(:profile).to_json
elsif params[:set] == "only_sharing"
@contacts = current_user.contacts.only_sharing.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)
}
end
end
@ -30,4 +37,12 @@ class ContactsController < ApplicationController
render :layout => false
end
private
def sort_and_paginate_profiles contacts
contacts.
includes(:aspects, :person => :profile).
order('profiles.last_name ASC').
paginate(:page => params[:page], :per_page => 25)
end
end

View file

@ -7,14 +7,14 @@ module MarkdownifyHelper
message = h(message).html_safe
options[:newlines] = true if !options.has_key?(:newlines)
options[:emoticons] = true if !options.has_key?(:emoticons)
options[:specialchars] = true if !options.has_key?(:specialchars)
message = process_links(message)
message = process_autolinks(message)
message = process_emphasis(message)
message = process_youtube(message, options[:youtube_maps])
message = process_vimeo(message, options[:vimeo_maps])
message = process_emoticons(message) if options[:emoticons]
message = process_specialchars(message) if options[:specialchars]
message = process_newlines(message) if options[:newlines]
message
@ -115,13 +115,9 @@ module MarkdownifyHelper
processed_message
end
def process_emoticons(message)
def process_specialchars(message)
map = [
["&lt;3", "&hearts;"],
[":(", "&#9785;"],
[":-(", "&#9785;"],
[":)", "&#9786;"],
[":-)", "&#9786;"],
["&lt;-&gt;", "&#8596;"],
["-&gt;", "&rarr;"],
["&lt;-", "&larr;"],

View file

@ -29,7 +29,7 @@ module NotificationsHelper
end
elsif note.instance_of?(Notifications::Liked)
post = note.target
post = post.post if post.is_a? Like
post = post.target if post.is_a? Like
if post
translation(target_type, :actors => actors, :count => actors_count, :post_author => h(post.author.name), :post_link => link_to(t('notifications.post'), post_path(post), 'data-ref' => post.id, :class => 'hard_object_link').html_safe)
else

View file

@ -20,29 +20,29 @@
.span-18.last
#people_stream.stream.contacts
- if @aspect_
- if @aspect
#aspect_controls
- suggested_limit = 16
- conv_opts = { :class => "button conversation_button", :rel => "facebox"}
- conv_opts[:title] = t('.many_people_are_you_sure', :suggested_limit => suggested_limit) if @contacts.size > suggested_limit
= link_to t('.start_a_conversation'), new_conversation_path(:aspect_id => @aspect_.id, :name => @aspect_.name), conv_opts
= link_to t('.start_a_conversation'), new_conversation_path(:aspect_id => @aspect.id, :name => @aspect.name), conv_opts
- if @contacts.size > suggested_limit
= javascript_tag "$('.conversation_button').tipsy({trigger: 'hover', gravity: 'n'});"
= link_to t('.edit_aspect', :name => @aspect_.name), edit_aspect_path(@aspect_), :rel => "facebox"
= link_to t('.edit_aspect', :name => @aspect.name), edit_aspect_path(@aspect), :rel => "facebox"
- if @contacts.size > 0
- for contact in @contacts
.stream_element{:id => contact.person.id}
.right
- if @aspect_
- if @aspect
= link_to(image_tag('/images/icons/monotone_close_exit_delete.png', :height => 20, :width => 20),
{:controller => "aspect_memberships",
:action => 'destroy',
:id => 42,
:aspect_id => @aspect_.id,
:aspect_id => @aspect.id,
:person_id => contact.person.id},
:title => t('.remove_person_from_aspect', :person_name => contact.person.first_name, :aspect_name => @aspect_.name),
:title => t('.remove_person_from_aspect', :person_name => contact.person.first_name, :aspect_name => @aspect.name),
:method => 'delete')
- else

View file

@ -47,7 +47,7 @@
.header
= link_to t('.view_all'), notifications_path, :id => "view_all_notifications"
%h4
Recent notifications
= t('.recent_notifications')
.notifications
.ajax_loader
= image_tag("ajax-loader.gif")

View file

@ -299,6 +299,7 @@ en:
code: "code"
admin: "admin"
view_all: "View all"
recent_notifications: "Recent notifications"
application:
powered_by: "POWERED BY DIASPORA*"
whats_new: "what's new?"

View file

@ -33,11 +33,6 @@ describe ContactsController do
response.should be_success
end
it "assigns aspect to manage" do
get :index
assigns(:aspect).should == :manage
end
it "assigns contacts" do
get :index
contacts = assigns(:contacts)

View file

@ -150,20 +150,20 @@ describe MarkdownifyHelper do
end
end
describe "emoticons" do
describe "specialchars" do
it "replaces &lt;3 with &hearts;" do
message = "i <3 you"
markdownify(message).should == "i &hearts; you"
end
it "replaces various things with (their) HTML entities" do
message = ":) :-) :( :-( ... <-> -> <- (tm) (r) (c)"
markdownify(message).should == "&#9786; &#9786; &#9785; &#9785; &hellip; &#8596; &rarr; &larr; &trade; &reg; &copy;"
message = "... <-> -> <- (tm) (r) (c)"
markdownify(message).should == "&hellip; &#8596; &rarr; &larr; &trade; &reg; &copy;"
end
it "skips doing it if you say so" do
message = ":) :-) :( :-( ... -> <-"
markdownify(message, :emoticons => false).should == ":) :-) :( :-( ... -&gt; &lt;-"
message = "... -> <-"
markdownify(message, :specialchars => false).should == "... -&gt; &lt;-"
end
end