Merge branch 'master' of github.com:diaspora/diaspora
This commit is contained in:
commit
9b5a6cc27a
21 changed files with 797 additions and 710 deletions
2
.rspec
2
.rspec
|
|
@ -1 +1,3 @@
|
|||
--color
|
||||
--require rspec/instafail
|
||||
--format RSpec::Instafail
|
||||
|
|
|
|||
|
|
@ -10,10 +10,39 @@ class PeopleController < ApplicationController
|
|||
|
||||
def index
|
||||
@aspect = :search
|
||||
|
||||
@people = Person.search(params[:q]).paginate :page => params[:page], :per_page => 25, :order => 'created_at DESC'
|
||||
|
||||
|
||||
# dont do it@people.first.diaspora_handle == params[:q]
|
||||
|
||||
#only do it if it is an email address
|
||||
if params[:q].try(:match, Devise.email_regexp)
|
||||
find_remote_user(params[:q])
|
||||
end
|
||||
|
||||
respond_with @people
|
||||
end
|
||||
|
||||
def find_remote_user(account)
|
||||
|
||||
finger = EMWebfinger.new(account)
|
||||
finger.on_person do |response|
|
||||
begin
|
||||
puts response.inspect
|
||||
if response.class == Person
|
||||
|
||||
response.socket_to_uid(current_user.id, :aspects => @aspects)
|
||||
else
|
||||
require File.join(Rails.root,'lib/diaspora/websocket')
|
||||
puts Diaspora::WebSocket
|
||||
Diaspora::WebSocket.queue_to_user(current_user.id, {:class => 'person', :query => account, :response => response})
|
||||
end
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
|
||||
@person = Person.find(params[:id].to_id)
|
||||
|
|
|
|||
|
|
@ -3,17 +3,19 @@
|
|||
# the COPYRIGHT file.
|
||||
|
||||
module SocketsHelper
|
||||
include ApplicationHelper
|
||||
include ApplicationHelper
|
||||
|
||||
def obj_id(object)
|
||||
(object.is_a? Post) ? object.id : object.post_id
|
||||
def obj_id(object)
|
||||
object.respond_to?(:post_id) ? object.post_id : object.id
|
||||
end
|
||||
|
||||
def action_hash(uid, object, opts={})
|
||||
begin
|
||||
user = User.find_by_id uid
|
||||
if object.is_a? Post
|
||||
v = render_to_string(:partial => 'shared/stream_element', :locals => {:post => object, :current_user => user}) unless object.is_a? Retraction
|
||||
v = render_to_string(:partial => 'shared/stream_element', :locals => {:post => object, :current_user => user})
|
||||
elsif object.is_a? Person
|
||||
v = render_to_string(:partial => type_partial(object), :locals => {:person => object, :current_user => user}) unless object.is_a? Retraction
|
||||
else
|
||||
v = render_to_string(:partial => type_partial(object), :locals => {:post => object, :current_user => user}) unless object.is_a? Retraction
|
||||
end
|
||||
|
|
@ -32,7 +34,7 @@ module SocketsHelper
|
|||
action_hash[:notification] = notification(object)
|
||||
end
|
||||
|
||||
action_hash[:mine?] = object.person && (object.person.owner.id == uid)
|
||||
action_hash[:mine?] = object.person && (object.person.owner.id == uid) if object.respond_to?(:person)
|
||||
|
||||
action_hash.to_json
|
||||
end
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ class Person
|
|||
include MongoMapper::Document
|
||||
include ROXML
|
||||
include Encryptor::Public
|
||||
require File.join(Rails.root, 'lib/diaspora/websocket')
|
||||
include Diaspora::Socketable
|
||||
|
||||
xml_accessor :_id
|
||||
xml_accessor :diaspora_handle
|
||||
|
|
@ -148,7 +150,6 @@ class Person
|
|||
}
|
||||
}
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def clean_url
|
||||
|
|
|
|||
|
|
@ -239,6 +239,7 @@ class User
|
|||
end
|
||||
|
||||
def push_to_person(salmon, post, person)
|
||||
person.reload # Sadly, we need this for Ruby 1.9.
|
||||
# person.owner will always return a ProxyObject.
|
||||
# calling nil? performs a necessary evaluation.
|
||||
unless person.owner.nil?
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@
|
|||
if(obj['notice']){
|
||||
processNotification(obj['notice']);
|
||||
|
||||
}else if (obj['class'] == 'people'){
|
||||
processPerson(obj['html']);
|
||||
}else{
|
||||
debug("got a " + obj['class'] + " for aspects " + obj['aspect_ids']);
|
||||
|
||||
|
|
@ -42,6 +44,10 @@
|
|||
|
||||
});
|
||||
|
||||
function processPerson(html){
|
||||
$('.people#stream').prepend(html).slideDown('slow', function(){})
|
||||
}
|
||||
|
||||
function processNotification(html){
|
||||
$('#notification').html(html).fadeIn(200).delay(4000).fadeOut(200, function(){ $(this).html("");});
|
||||
}
|
||||
|
|
@ -97,7 +103,7 @@
|
|||
function processPhotoInAlbum(photoHash){
|
||||
if (location.href.indexOf(photoHash['album_id']) == -1){
|
||||
return ;
|
||||
}
|
||||
}
|
||||
html = "<div class=\'image_thumb\' id=\'"+photoHash['id']+"\' style=\'padding-right:3px;\'> \
|
||||
<a href=\"/photos/"+ photoHash['id'] +"\"> \
|
||||
<img alt=\"New thumbnail\" src=\""+ photoHash['thumb_url'] +"\" /> \
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
- elsif current_user.pending_requests.find_by_person_id(person.id)
|
||||
= link_to =t('.pending_request'), aspects_manage_path
|
||||
- else
|
||||
= render :partial => 'requests/new_request_to_person', :locals => {:aspects => @aspects, :person => person}
|
||||
= render :partial => 'requests/new_request_to_person', :locals => {:aspects => aspects, :person => person}
|
||||
|
||||
.info
|
||||
= person.diaspora_handle
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
=t('.results_for')
|
||||
%u= params[:q]
|
||||
|
||||
%ul#stream
|
||||
%ul#stream.people
|
||||
- for person in @people
|
||||
= render 'people/person', :person => person
|
||||
= render 'people/person', :person => person, :aspects => @aspects
|
||||
|
||||
= will_paginate @people
|
||||
|
|
|
|||
|
|
@ -25,4 +25,4 @@
|
|||
%h3 t('.cancel_my_account')
|
||||
%p
|
||||
= t('.unhappy') #{link_to t('.cancel_my_account'), registration_path(resource_name), :confirm => t('are_you_sure'), :method => :delete}.
|
||||
= link_to t('.back'), :back
|
||||
= link_to t('back'), :back
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
%h4
|
||||
= t('.invites')
|
||||
= link_to t('.invite_someone'), "#invite_user_pane", :class => "invite_user_button", :title => "Invite someone"
|
||||
= link_to t('.invite_someone'), "#invite_user_pane", :class => "invite_user_button", :title => t('.invite_someone')
|
||||
= t('.invitations_left', :count => invites)
|
||||
%br
|
||||
.yo{ :style => "display:none;"}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# licensed under the Affero General Public License version 3 or later. See
|
||||
# the COPYRIGHT file.
|
||||
#
|
||||
# See config/locales/devise/devise.sv.yml for Swedish Diaspora terms.
|
||||
# See config/locales/diaspora/sv.yml for Swedish Diaspora terms.
|
||||
|
||||
sv:
|
||||
errors:
|
||||
|
|
@ -26,11 +26,16 @@ sv:
|
|||
username: 'Användarnamn'
|
||||
password: 'Lösenord'
|
||||
sign_in: 'Logga in'
|
||||
have_a_problem: "Har du problem att komma in? Klicka här"
|
||||
remember_me: "Kom ihåg mig"
|
||||
signed_in: 'Inloggning ok.'
|
||||
signed_out: 'Utloggning ok.'
|
||||
passwords:
|
||||
send_instructions: 'Du kommer att få ett ebrev med instruktioner för att återställa lösenordet inom några minuter.'
|
||||
updated: 'Ditt lösenord har ändrats och du är inloggad.'
|
||||
new:
|
||||
forgot_password: "Glömt ditt lösenord?"
|
||||
send_password_instructions: "Skicka mig information om hur jag återställer lösenordet"
|
||||
confirmations:
|
||||
send_instructions: 'Du kommer att få ett ebrev med instruktioner för att verifiera ditt konto inom några minuter.'
|
||||
confirmed: 'Ditt konto har verifierats och du är inloggad.'
|
||||
|
|
@ -46,14 +51,31 @@ sv:
|
|||
invitation_token_invalid: 'Denna inbjudan är ej giltig!'
|
||||
updated: 'Ditt lösenord är nu inställt och du är inloggad.'
|
||||
mailer:
|
||||
confirmation_instructions:
|
||||
subject: 'Instruktioner för att verifiera ditt konto.'
|
||||
reset_password_instructions:
|
||||
subject: 'Instruktioner för att återställa ditt lösenord.'
|
||||
unlock_instructions:
|
||||
subject: 'Instruktioner för att låsa upp ditt konto.'
|
||||
welcome: "Välkommen %{email}!"
|
||||
hello: "Hej %{email}!"
|
||||
confirmation_instructions:
|
||||
subject: 'Instruktioner för att aktivera ditt konto'
|
||||
you_can_confirm: "Klicka på länken nedan för att aktivera ditt konto:"
|
||||
confirm: "Aktivera mitt konto"
|
||||
reset_password_instructions:
|
||||
subject: 'Instruktioner för att återställa lösenordet'
|
||||
someone_requested: "Du har efterfrågat en länk för att återställa ditt lösenord. För att fullfölja det, klicka på länken neda."
|
||||
change: "Återställ mitt lösenord"
|
||||
wont_change: "Dit lösenord kommer inte ändras förrän du klickat på länken och ändrat det."
|
||||
ignore: "Om det inte är du som vill byta lösenord så kan du ignorera det här mailet."
|
||||
unlock_instructions:
|
||||
subject: 'Instruktioner för upplåsning'
|
||||
account_locked: "Ditt konto har låsts eftersom du eller någon annan har angett fel lösenord för många gånger."
|
||||
click_to_unlock: "Klicka på länken nedan för att låsa upp ditt konto:"
|
||||
unlock: "Lås upp mitt konto"
|
||||
invitation:
|
||||
subject: 'En vän vill att du ska gå med i Diaspora!'
|
||||
has_invited_you: "%{name} har bjudit in dig till Diaspora"
|
||||
have_invited_you: "%{names} har bjudit in dig till Diaspora"
|
||||
accept_at: ", gå till %{url} för att acceptera din inbjudan."
|
||||
accept: "Acceptera inbjudan"
|
||||
ignore: "Om du inte vill gå med i Diaspora kan du ignorera detta mail."
|
||||
no_account_till: "Ditt konto kommer inte skapas förrän du klickat på knappen ovan och skapat ett nytt konto."
|
||||
shared:
|
||||
links:
|
||||
sign_in: 'Logga in'
|
||||
|
|
|
|||
|
|
@ -223,7 +223,6 @@ en:
|
|||
leave_blank: "(leave blank if you don't want to change it)"
|
||||
password_to_confirm: "(we need your current password to confirm your changes)"
|
||||
unhappy: "Unhappy?"
|
||||
back: "Back"
|
||||
update: "Update"
|
||||
cancel_my_account: "Cancel my account"
|
||||
closed: "Signups are closed on this Diaspora pod."
|
||||
|
|
@ -264,6 +263,7 @@ en:
|
|||
request_people: "If you'd like, you can request to place him/her in one of your aspects."
|
||||
already_requested: "You have already sent a request to %{name}."
|
||||
does_not_exist: "Person does not exist!"
|
||||
not_connected: "You are not connected with this person"
|
||||
edit:
|
||||
info_available_to: "This info will be available to whomever you connect with on Diaspora."
|
||||
your_profile: "Your profile"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,8 @@
|
|||
# request: (vän-) förfrågan
|
||||
# profile: profil
|
||||
# seed: frö
|
||||
#
|
||||
# contact: kontakt
|
||||
|
||||
sv:
|
||||
|
||||
settings: "Inställningar"
|
||||
|
|
@ -88,13 +89,13 @@ sv:
|
|||
share_with_all: "Dela på alla sidor"
|
||||
share_with: "Dela med %{aspect}"
|
||||
all: "alla"
|
||||
aspect_friends:
|
||||
add_friends: "lägg till vänner"
|
||||
aspect_contacts:
|
||||
add_contacts: "lägg till kontakter"
|
||||
everyone: "Alla"
|
||||
add_to: "lägg till i %{aspect}"
|
||||
invitations:
|
||||
invites: "Inbjudningar"
|
||||
invite_a_friend: "Bjud in en vän"
|
||||
invite_someone: "Bjud in en kontakt"
|
||||
invitations_left: "(%{count} kvar)"
|
||||
reshare:
|
||||
reshare: "Återdela"
|
||||
|
|
@ -110,18 +111,18 @@ sv:
|
|||
notification:
|
||||
new: "Ny %{type} från %{from}"
|
||||
aspects:
|
||||
no_friends_message:
|
||||
nobody: "Vi vet att du har vänner, bjud in dem till Diaspora!"
|
||||
no_contacts_message:
|
||||
nobody: "Vi vet att du har kontakter, bjud in dem till Diaspora!"
|
||||
nobody_in_aspect: "Sidan '%{aspect_name}' är tom."
|
||||
add_friend: "Lägg till en vän"
|
||||
add_friend_to: "Lägg till en vän i %{aspect_name}"
|
||||
invite: "Bjud in en vän till Diaspora!"
|
||||
add_contact: "Lägg till en kontakt"
|
||||
add_contact_to: "Lägg till en kontakt i %{aspect_name}"
|
||||
invite: "Bjud in en kontakt till Diaspora!"
|
||||
no_posts_message:
|
||||
start_talking: "Ingen har sagt något än. Bli först!"
|
||||
manage:
|
||||
add_a_new_aspect: "Lägg till en ny sida"
|
||||
add_a_new_friend: "Lägg till en ny vän"
|
||||
requests: "Vänförfrågningar"
|
||||
add_a_new_contact: "Lägg till en ny kontakt"
|
||||
requests: "Kontaktförfrågningar"
|
||||
no_requests: "Inga nya förfrågningar"
|
||||
manage_aspects: "Hantera sidor"
|
||||
drag_to_add: "Dra för att lägga till personer"
|
||||
|
|
@ -136,10 +137,10 @@ sv:
|
|||
success: "%{name} är nu borttagen."
|
||||
update:
|
||||
success: "Din sida %{name} är nu ändrad."
|
||||
move_friend:
|
||||
move_contact:
|
||||
failure: "fungerade inte %{inspect}"
|
||||
success: "Personen flyttades till den nya sidan"
|
||||
error: "Kunde inte flytta vän: %{inspect}"
|
||||
error: "Kunde inte flytta kontakt: %{inspect}"
|
||||
add_to_aspect:
|
||||
failure: "Misslyckades med att lägga in personen på den nya sidan."
|
||||
success: "Personen tillagt på sidan."
|
||||
|
|
@ -152,7 +153,7 @@ sv:
|
|||
failure: "Misslyckades med att ta bort personen från vald sida"
|
||||
users:
|
||||
edit:
|
||||
invite_friends: "Bjud in en vän"
|
||||
invite_contacts: "Bjud in en kontakt"
|
||||
export_data: "Exportera data"
|
||||
close_account: "Stäng kontot"
|
||||
change_language: "Ändra språk"
|
||||
|
|
@ -178,7 +179,7 @@ sv:
|
|||
add: "Lägg till"
|
||||
step_3:
|
||||
your_services: "Dina tjänster"
|
||||
description: 'Anslut dina befintliga tjänster till ditt Diaspora-konto. Du kommer att kunna skicka meddelanden genom dessa om du väljer "gör publik." på sidan för alla vänner.'
|
||||
description: 'Anslut dina befintliga tjänster till ditt Diaspora-konto. Du kommer att kunna skicka meddelanden genom dessa om du väljer "gör publik." på sidan för alla kontakter.'
|
||||
step_4:
|
||||
set_up: "Nu är guiden klar, %{name}!"
|
||||
ready_to_share: "Du är nu redo att börja dela med "
|
||||
|
|
@ -234,12 +235,19 @@ sv:
|
|||
sign_up_for_diaspora: "Gå med i Diaspora"
|
||||
create:
|
||||
success: "Du har nu gått med i Diaspora!"
|
||||
edit:
|
||||
edit: "Ändra %{name}"
|
||||
leave_blank: "(lämna tomt om du inte vill ändra det)"
|
||||
password_to_confirm: "(det nuvarande lösenordet krävs för att bekräfta ändringarna)"
|
||||
unhappy: "Missnöjd?"
|
||||
update: "Uppdatera"
|
||||
cancel_my_account: "Avsluta mitt konto"
|
||||
invitations:
|
||||
create:
|
||||
sent: 'Din inbjudan är nu skickad.'
|
||||
no_more: 'Du har inga fler inbjudningar.'
|
||||
already_sent: 'Du har redan bjudit in denna person.'
|
||||
already_friends: 'Du är redan vän med den här personen'
|
||||
already_friends: 'Den här personen finns redan bland dina kontakter'
|
||||
new:
|
||||
invite_someone_to_join: "Bjud in en än till Diaspora!"
|
||||
if_they_accept_info: "om de accepterar så kommer de att läggas till på den sida du valde"
|
||||
|
|
@ -257,21 +265,19 @@ sv:
|
|||
destroy: "Ta bort"
|
||||
helper:
|
||||
no_message_to_display: "Inget meddelande att visa."
|
||||
index:
|
||||
status_messages: "statusmeddelanden"
|
||||
people:
|
||||
person:
|
||||
pending_request: "väntande förfrågningar"
|
||||
already_friends: "Redan vänner"
|
||||
already_friends: "Finns i dina kontakter"
|
||||
thats_you: "Detta är du!"
|
||||
add_contact: "lägg till kontakt"
|
||||
index:
|
||||
results_for: "sökresultat för"
|
||||
show:
|
||||
no_posts: "inga meddelanden att visa!"
|
||||
add_friend: "lägg till vän"
|
||||
not_friends: "Du ärr närvarande inte vän med %{name}"
|
||||
request_people: "Om du känner för det så skulle du kunna skicka en vänförfrågan."
|
||||
already_requested: "Du har redan skickat en vänförfrågan till %{name}."
|
||||
not_friends: "%{name} finns inte bland dina kontakter"
|
||||
request_people: "Om du känner för det så skulle du kunna skicka en kontaktförfrågan."
|
||||
already_requested: "Du har redan skickat en kontaktförfrågan till %{name}."
|
||||
does_not_exist: "Den här personen finns inte!"
|
||||
edit:
|
||||
info_available_to: "Den här informationen kommer vara synlig för alla som du ansluter till på diaspora."
|
||||
|
|
@ -291,7 +297,7 @@ sv:
|
|||
updated: "Profilen är uppdaterad"
|
||||
failed: "Misslyckades med att uppdatera profilen"
|
||||
profile_sidebar:
|
||||
remove_friend: "ta bort vän"
|
||||
remove_contact: "ta bort kontakt"
|
||||
edit_my_profile: "Ändra min profil"
|
||||
last_seen: "senast sedd: %{how_long_ago}"
|
||||
bio: "bio"
|
||||
|
|
@ -301,16 +307,16 @@ sv:
|
|||
results_for: " resultat för %{params}"
|
||||
people_on_pod_are_aware_of: " personer på denna plats är medvetna om att"
|
||||
requests:
|
||||
new_request:
|
||||
add_a_new_friend_to: "Lägg till en vän till"
|
||||
manage_aspect_contacts:
|
||||
add_a_new_contact_to: "Lägg till en kontakt till"
|
||||
enter_a_diaspora_username: "Ange ett användarnamn:"
|
||||
your_diaspora_username_is: "Din Diaspora-adress är: %{diaspora_handle}"
|
||||
friends_username: "Vännens Diaspora-adress"
|
||||
contact_username: "Kontaktens Diaspora-adress"
|
||||
create_request: "Skapa förfrågan"
|
||||
destroy:
|
||||
success: "Ni är nu vänner."
|
||||
success: "Kontakten är nu tillagd."
|
||||
error: "Var god välj en aspekt!"
|
||||
ignore: "Ignorerade vänförfrågan."
|
||||
ignore: "Ignorerade kontaktförfrågan."
|
||||
create:
|
||||
tried: "vi gjorde vårat bästa för att skicka meddelandet till %{account}"
|
||||
services:
|
||||
|
|
@ -332,13 +338,13 @@ sv:
|
|||
love: "hälsningar,"
|
||||
diaspora: "Diasporas mailrobot"
|
||||
new_request:
|
||||
subject: "ny Diaspora vänförfågan från %{from}"
|
||||
just_sent_you: "skickade nyss en vänförfrågan till dig på Diaspora"
|
||||
subject: "ny kontaktförfrågan från %{from}"
|
||||
just_sent_you: "skickade nyss en kontaktförfrågan till dig på Diaspora"
|
||||
try_it_out: "Du borde verkligen överväga att kolla upp detta."
|
||||
sign_in: "logga in här"
|
||||
request_accepted:
|
||||
subject: "%{name} har accepterat din vänförfrågan på Diaspora"
|
||||
accepted: "har accepterat din vänförfrågan. Denne finns nu på "
|
||||
subject: "%{name} har accepterat din kontaktförfrågan på Diaspora"
|
||||
accepted: "har accepterat din kontaktförfrågan. Denne finns nu på "
|
||||
aspect: "sidan."
|
||||
|
||||
# The following is from the rails-i18n project at http://github.com/svenfuchs/rails-i18n
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ Feature: managing contact requests
|
|||
|
||||
Background:
|
||||
Given I am signed in
|
||||
And I have an aspect called "Family"
|
||||
And I have one contact request
|
||||
|
||||
Scenario: seeing contact requests
|
||||
|
|
@ -10,8 +11,6 @@ Feature: managing contact requests
|
|||
|
||||
@javascript @wip
|
||||
Scenario: accepting a contact request
|
||||
Given I have an aspect called "Family"
|
||||
|
||||
When I am on the home page
|
||||
And I follow "Manage (1)"
|
||||
Then I should see 1 contact request
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ end
|
|||
|
||||
|
||||
Given 'I am signed in' do
|
||||
@me ||= Factory(:user)
|
||||
@me ||= Factory(:user, :getting_started => false)
|
||||
When %(I go to the new user session page)
|
||||
When %(I fill in "Username" with "#{@me.username}")
|
||||
When %(I fill in "Password" with "#{@me.password}")
|
||||
|
|
|
|||
|
|
@ -14,10 +14,11 @@ end
|
|||
|
||||
Given /^I have one contact request$/ do
|
||||
other_user = make_user
|
||||
other_user.aspects.create!(:name => "meh")
|
||||
other_aspect = other_user.aspects.create!(:name => "meh")
|
||||
other_user.send_contact_request_to(@me.person, other_aspect)
|
||||
|
||||
other_user.reload
|
||||
|
||||
other_user.send_contact_request_to(@me.person, other_user.aspects.first)
|
||||
other_aspect.reload
|
||||
@me.reload
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ module Diaspora
|
|||
module Connecting
|
||||
def send_contact_request_to(desired_contact, aspect)
|
||||
# should have different exception types for these?
|
||||
raise "You cannot connect yourself" if desired_contact.nil?
|
||||
raise "You have already sent a contact request to that person!" if self.pending_requests.detect{
|
||||
|x| x.to == desired_contact}
|
||||
raise "You cannot connect yourself" if desired_contact.nil?
|
||||
raise "You have already sent a contact request to that person!" if self.pending_requests.detect {
|
||||
|x| x.to == desired_contact }
|
||||
raise "You are already connected to that person!" if contact_for desired_contact
|
||||
request = Request.instantiate(
|
||||
:to => desired_contact,
|
||||
:to => desired_contact,
|
||||
:from => self.person,
|
||||
:into => aspect)
|
||||
if request.save
|
||||
|
|
@ -39,8 +39,8 @@ module Diaspora
|
|||
end
|
||||
|
||||
def accept_and_respond(contact_request_id, aspect_id)
|
||||
request = pending_requests.find!(contact_request_id)
|
||||
requester = request.from
|
||||
request = pending_requests.find!(contact_request_id)
|
||||
requester = request.from
|
||||
reversed_request = accept_contact_request(request, aspect_by_id(aspect_id))
|
||||
dispatch_contact_acceptance reversed_request, requester
|
||||
end
|
||||
|
|
@ -58,7 +58,7 @@ module Diaspora
|
|||
|
||||
def receive_contact_request(contact_request)
|
||||
Rails.logger.info("receiving contact request #{contact_request.to_json}")
|
||||
|
||||
|
||||
#response from a contact request you sent
|
||||
if original_request = original_request(contact_request)
|
||||
destination_aspect = self.aspect_by_id(original_request.into_id)
|
||||
|
|
@ -72,7 +72,7 @@ module Diaspora
|
|||
self.save
|
||||
Request.send_request_accepted(self, contact_request.from, destination_aspect)
|
||||
|
||||
#this is a new contact request
|
||||
#this is a new contact request
|
||||
elsif !request_from_me?(contact_request)
|
||||
self.pending_requests << contact_request
|
||||
self.save!
|
||||
|
|
@ -94,19 +94,23 @@ module Diaspora
|
|||
|
||||
def remove_contact(bad_contact)
|
||||
contact = contact_for(bad_contact)
|
||||
contact.aspects.each{|aspect|
|
||||
contact.aspects.each do |aspect|
|
||||
contact.aspects.delete(aspect)
|
||||
aspect.posts.each { |post|
|
||||
aspect.posts.each do |post|
|
||||
aspect.post_ids.delete(post.id) if post.person == bad_contact
|
||||
}
|
||||
end
|
||||
aspect.save
|
||||
}
|
||||
end
|
||||
|
||||
self.raw_visible_posts.find_all_by_person_id( bad_contact.id ).each{|post|
|
||||
self.visible_post_ids.delete( post.id )
|
||||
self.raw_visible_posts.find_all_by_person_id(bad_contact.id).each do |post|
|
||||
self.visible_post_ids.delete(post.id)
|
||||
post.user_refs -= 1
|
||||
(post.user_refs > 0 || post.person.owner.nil? == false) ? post.save : post.destroy
|
||||
}
|
||||
if (post.user_refs > 0) || post.person.owner.nil? == false
|
||||
post.save
|
||||
else
|
||||
post.destroy
|
||||
end
|
||||
end
|
||||
self.save
|
||||
raise "Contact not deleted" unless contact.destroy
|
||||
bad_contact.save
|
||||
|
|
@ -133,7 +137,7 @@ module Diaspora
|
|||
end
|
||||
|
||||
def requests_for_me
|
||||
pending_requests.select{|req| req.to == self.person}
|
||||
pending_requests.select { |req| req.to == self.person }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
1266
spec/fixtures/users.yaml
vendored
1266
spec/fixtures/users.yaml
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -27,7 +27,7 @@ module HelperMethods
|
|||
end
|
||||
|
||||
def connect_users(user1, aspect1, user2, aspect2)
|
||||
request = user1.send_contact_request_to(user2.person, aspect1)
|
||||
user1.send_contact_request_to(user2.person, aspect1)
|
||||
|
||||
user1.reload
|
||||
aspect1.reload
|
||||
|
|
|
|||
13
spec/helpers/sockets_helper_spec.rb
Normal file
13
spec/helpers/sockets_helper_spec.rb
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3 or later. See
|
||||
# the COPYRIGHT file.
|
||||
#
|
||||
require 'spec_helper'
|
||||
|
||||
describe SocketsHelper do
|
||||
|
||||
describe '#obj_id' do
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -100,6 +100,7 @@ describe User do
|
|||
it 'should be remove a post if the noone links to it' do
|
||||
person = user2.person
|
||||
user2.delete
|
||||
person.reload
|
||||
|
||||
lambda {user.disconnect(person)}.should change(Post, :count).by(-1)
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue