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

Conflicts:
	app/views/invitations/_new.haml
This commit is contained in:
ilya 2010-10-15 14:36:49 -07:00
commit 2c9c4b0e14
18 changed files with 110 additions and 75 deletions

1
.gitignore vendored
View file

@ -3,6 +3,7 @@ config/app_config.yml
config/fb_config.yml
config/initializers/secret_token.rb
.bundle
vendor/bundle/*
# Generated files
log/*

View file

@ -1,6 +1,6 @@
source 'http://rubygems.org'
gem 'rails', '3.0.0'
gem 'rails', '>= 3.0.0'
gem 'bundler', '>= 1.0.0'
#Security

View file

@ -15,9 +15,9 @@ GIT
GIT
remote: git://github.com/dcu/magent.git
revision: fe08cc6e9d4c1772035f84bcfb665d17b00ac625
revision: 59b8563961b830f491cd6f6592cced67791ce0ef
specs:
magent (1.0.0)
magent (0.5.0)
em-websocket
mongo
uuidtools
@ -70,12 +70,12 @@ GEM
remote: http://rubygems.org/
specs:
abstract (1.0.0)
actionmailer (3.0.0)
actionpack (= 3.0.0)
actionmailer (3.0.1)
actionpack (= 3.0.1)
mail (~> 2.2.5)
actionpack (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
actionpack (3.0.1)
activemodel (= 3.0.1)
activesupport (= 3.0.1)
builder (~> 2.1.2)
erubis (~> 2.6.6)
i18n (~> 0.4.1)
@ -83,19 +83,19 @@ GEM
rack-mount (~> 0.6.12)
rack-test (~> 0.5.4)
tzinfo (~> 0.3.23)
activemodel (3.0.0)
activesupport (= 3.0.0)
activemodel (3.0.1)
activesupport (= 3.0.1)
builder (~> 2.1.2)
i18n (~> 0.4.1)
activerecord (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
activerecord (3.0.1)
activemodel (= 3.0.1)
activesupport (= 3.0.1)
arel (~> 1.0.0)
tzinfo (~> 0.3.23)
activeresource (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
activesupport (3.0.0)
activeresource (3.0.1)
activemodel (= 3.0.1)
activesupport (= 3.0.1)
activesupport (3.0.1)
addressable (2.2.2)
arel (1.0.1)
activesupport (~> 3.0.0)
@ -122,7 +122,6 @@ GEM
selenium-webdriver (>= 0.0.3)
childprocess (0.0.7)
ffi (~> 0.6.3)
columnize (0.3.1)
crack (0.1.8)
cucumber (0.9.2)
builder (~> 2.1.2)
@ -163,7 +162,6 @@ GEM
i18n (0.4.1)
json (1.4.6)
json_pure (1.4.6)
linecache (0.43)
mail (2.2.7)
activesupport (>= 2.3.6)
mime-types
@ -197,17 +195,17 @@ GEM
rack (>= 1.0.0)
rack-test (0.5.6)
rack (>= 1.0)
rails (3.0.0)
actionmailer (= 3.0.0)
actionpack (= 3.0.0)
activerecord (= 3.0.0)
activeresource (= 3.0.0)
activesupport (= 3.0.0)
rails (3.0.1)
actionmailer (= 3.0.1)
actionpack (= 3.0.1)
activerecord (= 3.0.1)
activeresource (= 3.0.1)
activesupport (= 3.0.1)
bundler (~> 1.0.0)
railties (= 3.0.0)
railties (3.0.0)
actionpack (= 3.0.0)
activesupport (= 3.0.0)
railties (= 3.0.1)
railties (3.0.1)
actionpack (= 3.0.1)
activesupport (= 3.0.1)
rake (>= 0.8.4)
thor (~> 0.14.0)
rake (0.8.7)
@ -225,11 +223,6 @@ GEM
rspec-expectations (= 2.0.0)
rspec-rails (2.0.0)
rspec (= 2.0.0)
ruby-debug (0.10.3)
columnize (>= 0.1)
ruby-debug-base (~> 0.10.3.0)
ruby-debug-base (0.10.3)
linecache (>= 0.3)
rubyzip (0.9.4)
selenium-webdriver (0.0.29)
childprocess (>= 0.0.7)
@ -249,8 +242,8 @@ GEM
uuidtools (2.1.1)
warden (0.10.7)
rack (>= 1.0.0)
webmock (1.3.5)
addressable (>= 2.1.1)
webmock (1.4.0)
addressable (>= 2.2.2)
crack (>= 0.1.7)
will_paginate (3.0.pre2)
xml-simple (1.0.12)
@ -282,12 +275,11 @@ DEPENDENCIES
mocha
mongo_mapper!
pubsubhubbub
rails (= 3.0.0)
rails (>= 3.0.0)
redfinger!
roxml!
rspec (>= 2.0.0)
rspec-rails (>= 2.0.0)
ruby-debug
sprinkle!
thin
webmock

View file

@ -5,7 +5,7 @@ network.
**THIS IS PRE-ALPHA SOFTWARE AND SHOULD BE TREATED ACCORDINGLY.**
**PLEASE, DO NOT RUN IN PRODUCTION. IT IS FUN TO GET RUNNING, BUT EXPECT THINGS
TO BE BROKEN**
TO BE BROKEN.**
Installation instructions are [here](http://github.com/diaspora/diaspora/wiki/Installing-and-Running-Diaspora).
@ -48,8 +48,7 @@ We are maintaining a
[public tracker project](http://www.pivotaltracker.com/projects/61641)
and a
[roadmap](https://github.com/diaspora/diaspora/wiki/Roadmap). Also, you can
file [bug reports](https://github.com/diaspora/diaspora/issues) right here on
github.
file [bug reports](http://bugs.joindiaspora.com) on our issue tracker.
Ongoing discussion:
@ -59,8 +58,8 @@ Ongoing discussion:
- [#diaspora-dev IRC channel](irc://irc.freenode.net/#diaspora-dev)
([join via the web client](http://webchat.freenode.net?channels=diaspora-dev))
More general info and updates about the project can be found on:
[Our blog](http://joindiaspora.com),
More general info and updates about the project can be found on
[our blog](http://joindiaspora.com),
[and on Twitter](http://twitter.com/joindiaspora).
Also, be sure to join the official [mailing list](http://eepurl.com/Vebk).

View file

@ -11,6 +11,9 @@ class AspectsController < ApplicationController
def index
@posts = current_user.visible_posts(:by_members_of => :all).paginate :page => params[:page], :per_page => 15, :order => 'created_at DESC'
@aspect = :all
@fb_access_url = MiniFB.oauth_url(FB_APP_ID, APP_CONFIG[:pod_url] + "services/create",
:scope=>MiniFB.scopes.join(","))
end
def create

View file

@ -15,6 +15,7 @@ class InvitationsController < Devise::InvitationsController
flash[:error] = I18n.t 'invitations.create.no_more'
elsif e.message == "You already invited this person"
flash[:error] = I18n.t 'invitations.create.already_sent'
else
raise e
end

View file

@ -14,4 +14,12 @@ module AspectsHelper
"<span class='grey' title=#{I18n.t('aspects.helper.aspect_not_empty')}>#{I18n.t('aspects.helper.remove')}</span>"
end
end
def aspect_id(aspect)
if aspect.class == Aspect
aspect.id
else
:all
end
end
end

View file

@ -25,12 +25,7 @@
%ul.dropzone
%li.grey Drag to ignore/remove
%h3= link_to "Invite a friend!", "#invite_user_pane", :id => "invite_user_button", :class => "invite_user_button", :title => "Invite a friend"
%h3= "You have #{@invites} invites."
.yo{ :style => "display:none;"}
#invite_user_pane
= render "invitations/new"
= render 'shared/invitations', :invites => @invites
- content_for :publish do
= link_to(t('.add_a_new_aspect'), "#add_aspect_pane", :id => "add_aspect_button", :class => "new_aspect button", :title => t('.add_a_new_aspect'))

View file

@ -1,6 +1,5 @@
%h2 Send invitation
= form_for User.new, :url => invitation_path(User) do |f|
/= devise_error_messages!
%p
= f.label :email
= f.text_field :email
@ -10,4 +9,3 @@
- else
= f.select(:aspects, @aspects_dropdown_array, :selected => [@aspect.to_s, @aspect.id])
%p= f.submit "Send an invitation"
/= link_to "Home", after_sign_in_path_for(resource_name)

View file

@ -32,11 +32,4 @@
%br
%h4 Invites
= link_to "Invite a friend!", "#invite_user_pane", :class => "invite_user_button", :class => "invite_user_button", :title => "Invite a friend"
%br
= "You have #{@invites} invites."
.yo{ :style => "display:none;"}
#invite_user_pane
= render "invitations/new"
= render "shared/invitations", :invites => @invites

View file

@ -0,0 +1,8 @@
- unless @aspect == :all
%h4 Invites
= link_to "Invite a friend", "#invite_user_pane", :class => "invite_user_button", :title => "Invite a friend"
= "(#{invites} left)"
%br
.yo{ :style => "display:none;"}
#invite_user_pane
= render "invitations/new"

View file

@ -0,0 +1,9 @@
%h1 you are about to post a public message!
%p
this message is going to be posted to your public feed,
and to any services you may have connected to Diaspora.
- if @logged_in
= connected_fb_as(@access_token)
- else
= link_to "Connect to Facebook", @fb_access_url

View file

@ -2,6 +2,18 @@
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
:javascript
$("div.public_toggle input").live("click", function(evt){
if("#{@logged_in}" == "false" && $(this).attr('checked') == true){
if(confirm("You are currently not connected to facebook. Sign in to facebook?")){
window.location = "#{@fb_access_url}";
} else {
$(this).attr('checked', false);
}
};
});
#publisher
= owner_image_tag
@ -18,13 +30,18 @@
= check_box_tag("aspect_ids[]", aspect.id, @aspect == :all || current_aspect?(aspect) )
= aspect.name
= f.hidden_field( :public, :value => false )
- if @aspect == :all
.public_toggle
= f.check_box( :public, :value => false )
share on facebook
= link_to 'public info', "#question_mark_pane", :class => 'question_mark'
.yo{:style => "display:none;"}
#question_mark_pane
= render 'shared/public_explain'
.buttons
- if @aspect == :all
= f.submit t('.share'), :title => "Share with all aspects"
- else
= f.submit t('.share'), :title => "Share with #{@aspect.name}"
- if defined? broadcast
= f.submit "Broadcast", :class => "broadcast", :name => "broadcast", :title => "Publish to Diaspora and Facebook"

View file

@ -18,7 +18,7 @@
= link_to "Disconnect from Facebook", services_destroy_path
- else
= link_to "Connect to Facebook (DO NOT USE WITH A REAL ACCOUNT)", @fb_access_url
= link_to "Connect to Facebook", @fb_access_url
#content_bottom
.back

View file

@ -75,8 +75,8 @@ en:
nobody: "We know you have friends, bring them to Diaspora!"
nobody_in_aspect: "Your aspect '%{aspect_name}' is empty."
add_friend: "Add a friend"
add_friend_to: "Add a someone to %{aspect_name}"
invite: "Invite a someone to join Diaspora!"
add_friend_to: "Add someone to %{aspect_name}"
invite: "Invite someone to join Diaspora!"
manage:
add_a_new_aspect: "Add a new aspect"
add_a_new_friend: "Add a new friend"

View file

@ -30,6 +30,7 @@ $(document).ready(function(){
$(".add_request_button").fancybox({ 'titleShow': false });
$(".invite_user_button").fancybox({ 'titleShow': false });
$(".add_request_button").fancybox({ 'titleShow': false });
$(".question_mark").fancybox({ 'titleShow': false });
$("input[type='submit']").addClass("button");
@ -47,7 +48,7 @@ $(document).ready(function(){
);
$("#publisher textarea").keydown( function(e) {
if (e.shiftKey && e.keyCode == 13) {
if (e.keyCode == 13) {
$("#publisher form").submit();
}
});
@ -71,10 +72,3 @@ $.fn.clearForm = function() {
});
};
$("#publisher .broadcast").live("click", function(evt){
evt.preventDefault();
if( confirm("Publish to Diaspora and Facebook?") ) {
$("#status_message_public").val("true");
$(this).submit();
}
});

View file

@ -612,6 +612,16 @@ label
.buttons
:float right
.public_toggle
:position absolute
:top 53px
:left 460px
:width 300px
:font
:size smaller
:style italic
#image_picker
.small_photo
:height 100px

View file

@ -6,7 +6,9 @@ require 'spec_helper'
describe Request do
let(:user) { Factory(:user) }
ler(:person) {Factory :person}
let(:aspect) { user.aspect(:name => "dudes") }
let(:request){ user.send_friend_request_to person, aspect }
it 'should require a destination and callback url' do
person_request = Request.new
@ -17,8 +19,6 @@ describe Request do
end
it 'should generate xml for the User as a Person' do
request = user.send_friend_request_to Factory(:person), aspect
xml = request.to_xml.to_s
xml.should include user.person.diaspora_handle
@ -45,4 +45,11 @@ describe Request do
person_request.destination_url.should == "http://google.com/"
end
context 'quering request through user' do
it 'finds requests the user sent' do
request
user.requests_for_me.include?(request).should be true
end
end
end