social_stream 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/permissions_controller.rb +6 -1
- data/app/controllers/relation/customs_controller.rb +8 -0
- data/app/models/actor.rb +3 -3
- data/app/models/tie.rb +4 -0
- data/app/views/contacts/_form.html.erb +8 -3
- data/app/views/layouts/_account.html.erb +3 -3
- data/app/views/toolbar/_profile_menu_tie_options.html.erb +2 -2
- data/config/locales/en.yml +5 -0
- data/lib/generators/social_stream/templates/public/stylesheets/default/contacts.css +2 -2
- data/lib/social_stream/ability.rb +0 -1
- data/lib/social_stream/version.rb +1 -1
- data/social_stream.gemspec +1 -1
- data/spec/controllers/permissions_controller_spec.rb +0 -2
- data/spec/controllers/relation_customs_controller_spec.rb +7 -4
- data/spec/models/tie_spec.rb +0 -13
- metadata +7 -7
| @@ -1,10 +1,15 @@ | |
| 1 1 | 
             
            class PermissionsController < InheritedResources::Base
         | 
| 2 2 | 
             
              before_filter :authenticate_user!
         | 
| 3 | 
            -
              load_and_authorize_resource
         | 
| 4 3 |  | 
| 5 4 | 
             
              respond_to :js
         | 
| 6 5 |  | 
| 7 6 | 
             
              actions :index
         | 
| 8 7 |  | 
| 9 8 | 
             
              belongs_to :relation
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              def index
         | 
| 11 | 
            +
                authorize! :read, parent
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                index!
         | 
| 14 | 
            +
              end
         | 
| 10 15 | 
             
            end
         | 
| @@ -5,4 +5,12 @@ class Relation::CustomsController < InheritedResources::Base | |
| 5 5 | 
             
              respond_to :js
         | 
| 6 6 |  | 
| 7 7 | 
             
              belongs_to :sphere, :optional => true
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              def index
         | 
| 10 | 
            +
                # Must authorize index, because Cancan does not filter collection with conditions.
         | 
| 11 | 
            +
                # See https://github.com/ryanb/cancan/wiki/checking-abilities
         | 
| 12 | 
            +
                authorize! :read, parent.customs.new
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                index!
         | 
| 15 | 
            +
              end
         | 
| 8 16 | 
             
            end
         | 
    
        data/app/models/actor.rb
    CHANGED
    
    | @@ -75,11 +75,11 @@ class Actor < ActiveRecord::Base | |
| 75 75 | 
             
              scope :distinct_initials, select('DISTINCT SUBSTR(actors.name,1,1) as initial').order("initial ASC")
         | 
| 76 76 |  | 
| 77 77 | 
             
              scope :contacted_to, lambda { |a|
         | 
| 78 | 
            -
                joins(:sent_ties).merge(Tie.received_by(a))
         | 
| 78 | 
            +
                joins(:sent_ties).merge(Tie.received_by(a).intended)
         | 
| 79 79 | 
             
              }
         | 
| 80 80 |  | 
| 81 81 | 
             
              scope :contacted_from, lambda { |a|
         | 
| 82 | 
            -
                joins(:received_ties).merge(Tie.sent_by(a))
         | 
| 82 | 
            +
                joins(:received_ties).merge(Tie.sent_by(a).intended)
         | 
| 83 83 | 
             
              }
         | 
| 84 84 |  | 
| 85 85 | 
             
              after_create :create_initial_relations
         | 
| @@ -250,7 +250,7 @@ class Actor < ActiveRecord::Base | |
| 250 250 |  | 
| 251 251 | 
             
              # Set of ties sent by this actor received by a
         | 
| 252 252 | 
             
              def ties_to(a)
         | 
| 253 | 
            -
                sent_ties.received_by(a)
         | 
| 253 | 
            +
                sent_ties.received_by(a).intended
         | 
| 254 254 | 
             
              end
         | 
| 255 255 |  | 
| 256 256 | 
             
              # Get the first of the ties created to a, or create a new one with the {Relation::Public}
         | 
    
        data/app/models/tie.rb
    CHANGED
    
    | @@ -45,6 +45,8 @@ | |
| 45 45 | 
             
            #                        integer, array
         | 
| 46 46 | 
             
            # replied:: ties having at least another tie in the other way, a tie from a to b
         | 
| 47 47 | 
             
            #           is replied if there is a tie from b to a
         | 
| 48 | 
            +
            # intended:: ties can be desactivated by subjects when they change their connections.
         | 
| 49 | 
            +
            #            This scope gathers the active ones
         | 
| 48 50 | 
             
            #
         | 
| 49 51 | 
             
            class Tie < ActiveRecord::Base
         | 
| 50 52 | 
             
              # Facilitates relation assigment along with find_relation callback
         | 
| @@ -107,6 +109,8 @@ class Tie < ActiveRecord::Base | |
| 107 109 | 
             
                joins(:relation).where('relations.type' => 'Relation::Public')
         | 
| 108 110 | 
             
              }
         | 
| 109 111 |  | 
| 112 | 
            +
              scope :intended, where(:intended => true)
         | 
| 113 | 
            +
             | 
| 110 114 | 
             
              validates_presence_of :sender_id, :receiver_id, :relation
         | 
| 111 115 |  | 
| 112 116 | 
             
              before_validation :find_or_build_relation
         | 
| @@ -55,9 +55,14 @@ | |
| 55 55 | 
             
                                        </div>
         | 
| 56 56 | 
             
                                      </li>
         | 
| 57 57 | 
             
                                    <% end %>
         | 
| 58 | 
            -
                                     | 
| 59 | 
            -
                                   | 
| 60 | 
            -
             | 
| 58 | 
            +
                                    </li>
         | 
| 59 | 
            +
                                  <% end %>
         | 
| 60 | 
            +
                                  <li class="new_sphere"><span class="sphere_name"><%= link_to t('contact.type.new'), spheres_path %></span></li>
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                                </ul>
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                              </dd>
         | 
| 65 | 
            +
             | 
| 61 66 | 
             
                              </div>
         | 
| 62 67 | 
             
                            </div>
         | 
| 63 68 | 
             
                          </div>
         | 
| @@ -3,13 +3,13 @@ | |
| 3 3 | 
             
                <a href="#" class="sf-with-ul" id="btn_menu_config"><%= t('account.one') %><span class="sf-sub-indicator"> »</span></a>
         | 
| 4 4 | 
             
                <ul>
         | 
| 5 5 | 
             
                  <li>
         | 
| 6 | 
            -
                    <%= link_to ' | 
| 6 | 
            +
                    <%= link_to t('account.settings'), edit_user_registration_path %>
         | 
| 7 7 | 
             
                  </li>
         | 
| 8 8 | 
             
                  <li>
         | 
| 9 | 
            -
                    <%= link_to ' | 
| 9 | 
            +
                    <%= link_to t('account.notifications'), '#' %>
         | 
| 10 10 | 
             
                  </li>
         | 
| 11 11 | 
             
                  <li class="current">
         | 
| 12 | 
            -
                    <%= link_to ' | 
| 12 | 
            +
                    <%= link_to t('account.privacy'), spheres_path %>
         | 
| 13 13 | 
             
                  </li>
         | 
| 14 14 | 
             
                </ul>
         | 
| 15 15 | 
             
              </li>
         | 
| @@ -12,13 +12,13 @@ | |
| 12 12 | 
             
                <% if current_subject.ties_to(subject).present? %>
         | 
| 13 13 | 
             
                  <li >
         | 
| 14 14 | 
             
                  <%= link_to image_tag("btn/btn_friend.png", :class => "menu_icon") +
         | 
| 15 | 
            -
                               | 
| 15 | 
            +
                              current_subject.ties_to(subject).map(&:relation_name).join(", "),
         | 
| 16 16 | 
             
                              edit_contact_path(subject.actor_id) %>
         | 
| 17 17 | 
             
                 </li>
         | 
| 18 18 | 
             
                <% else %>
         | 
| 19 19 | 
             
                  <li >
         | 
| 20 20 | 
             
                  <%= link_to image_tag("btn/btn_friend.png", :class => "menu_icon") +
         | 
| 21 | 
            -
                              t(' | 
| 21 | 
            +
                              t('contact.new.title'),
         | 
| 22 22 | 
             
                              edit_contact_path(subject.actor_id),
         | 
| 23 23 | 
             
                              :id => 'contacts_menu' %>
         | 
| 24 24 | 
             
                  </li>
         | 
    
        data/config/locales/en.yml
    CHANGED
    
    | @@ -6,6 +6,9 @@ en: | |
| 6 6 | 
             
                accept: "Accept"
         | 
| 7 7 | 
             
              account:
         | 
| 8 8 | 
             
                one: "Account"
         | 
| 9 | 
            +
                notifications: "Notifications"
         | 
| 10 | 
            +
                privacy: "Privacy"
         | 
| 11 | 
            +
                settings: "Settings"
         | 
| 9 12 | 
             
              activity:
         | 
| 10 13 | 
             
                confirm_delete: "Delete activity?"
         | 
| 11 14 | 
             
                delete: "Delete"
         | 
| @@ -91,6 +94,8 @@ en: | |
| 91 94 | 
             
                  one: "Suggestion"
         | 
| 92 95 | 
             
                  other: "Suggestions"
         | 
| 93 96 | 
             
                  all: "All"
         | 
| 97 | 
            +
                type:
         | 
| 98 | 
            +
                  new: "New type"
         | 
| 94 99 | 
             
              copyright: "2010 Copyright - All rights reserved"
         | 
| 95 100 | 
             
              days: Days
         | 
| 96 101 | 
             
              delete:
         | 
| @@ -69,13 +69,13 @@ span.ui-radio-state-checked-hover { | |
| 69 69 | 
             
            }
         | 
| 70 70 |  | 
| 71 71 |  | 
| 72 | 
            -
            li.sphere_name {
         | 
| 72 | 
            +
            li.sphere_name, li.new_sphere {
         | 
| 73 73 | 
             
            	background-color: #1F4A75;
         | 
| 74 74 | 
             
            	padding: 5px;
         | 
| 75 75 | 
             
            	text-align: left;
         | 
| 76 76 | 
             
            }
         | 
| 77 77 |  | 
| 78 | 
            -
            span.sphere_name{
         | 
| 78 | 
            +
            span.sphere_name, span.sphere_name a{
         | 
| 79 79 | 
             
            	color: white;
         | 
| 80 80 | 
             
            }
         | 
| 81 81 |  | 
| @@ -78,7 +78,6 @@ module SocialStream | |
| 78 78 | 
             
                  # Privacy
         | 
| 79 79 | 
             
                  can [:create, :read, :update, :destroy], Sphere, :actor_id => subject.try(:actor_id)
         | 
| 80 80 | 
             
                  can [:create, :read, :update, :destroy], Relation::Custom, :sphere => { :actor_id => subject.try(:actor_id) }
         | 
| 81 | 
            -
                  can :read, Permission
         | 
| 82 81 | 
             
                end
         | 
| 83 82 | 
             
              end
         | 
| 84 83 | 
             
            end
         | 
    
        data/social_stream.gemspec
    CHANGED
    
    | @@ -32,7 +32,7 @@ Gem::Specification.new do |s| | |
| 32 32 | 
             
              # Pagination
         | 
| 33 33 | 
             
              s.add_runtime_dependency('will_paginate', '~> 3.0.pre2')
         | 
| 34 34 | 
             
              # OAuth client
         | 
| 35 | 
            -
              s.add_runtime_dependency('omniauth','~> 0.2. | 
| 35 | 
            +
              s.add_runtime_dependency('omniauth','~> 0.2.6')
         | 
| 36 36 | 
             
              # OAuth provider
         | 
| 37 37 | 
             
              s.add_runtime_dependency('oauth-plugin','~> 0.4.0.pre1')	
         | 
| 38 38 | 
             
              # Theme support
         | 
| @@ -75,11 +75,14 @@ describe Relation::CustomsController do | |
| 75 75 | 
             
                  end
         | 
| 76 76 |  | 
| 77 77 | 
             
                  it "should not render index" do
         | 
| 78 | 
            -
             | 
| 78 | 
            +
            	begin
         | 
| 79 | 
            +
                      get :index, :sphere_id => @sphere.id, :format => "js"
         | 
| 79 80 |  | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
                     | 
| 81 | 
            +
            	  # Should not get here
         | 
| 82 | 
            +
                      assert false
         | 
| 83 | 
            +
                    rescue CanCan::AccessDenied
         | 
| 84 | 
            +
                      assigns(:customs).should be_blank
         | 
| 85 | 
            +
                    end
         | 
| 83 86 | 
             
                  end
         | 
| 84 87 |  | 
| 85 88 | 
             
                  context "a new relation" do
         | 
    
        data/spec/models/tie_spec.rb
    CHANGED
    
    | @@ -15,19 +15,6 @@ describe Tie do | |
| 15 15 |  | 
| 16 16 | 
             
                  tie.should_not be_new_record
         | 
| 17 17 | 
             
                end
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                it "should be created from relation_name and permissions" do
         | 
| 20 | 
            -
                  pending "Redesign forms"
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                  tie = Tie.create :sender_id => @sender.actor_id,
         | 
| 23 | 
            -
                                   :receiver_id => @receiver.actor_id,
         | 
| 24 | 
            -
                                   :relation_name => "new relation",
         | 
| 25 | 
            -
                                   :relation_permissions => [ Permission.first.id, Permission.last.id ]
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                  puts tie.errors
         | 
| 28 | 
            -
                  tie.should_not be_new_record
         | 
| 29 | 
            -
                  tie.relation.should_not be_new_record
         | 
| 30 | 
            -
                end
         | 
| 31 18 | 
             
              end
         | 
| 32 19 |  | 
| 33 20 | 
             
              describe "follower_count" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: social_stream
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 3
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 4
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.4. | 
| 9 | 
            +
              - 6
         | 
| 10 | 
            +
              version: 0.4.6
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - GING - DIT - UPM
         | 
| @@ -16,7 +16,7 @@ autorequire: | |
| 16 16 | 
             
            bindir: bin
         | 
| 17 17 | 
             
            cert_chain: []
         | 
| 18 18 |  | 
| 19 | 
            -
            date: 2011- | 
| 19 | 
            +
            date: 2011-06-01 00:00:00 +02:00
         | 
| 20 20 | 
             
            default_executable: 
         | 
| 21 21 | 
             
            dependencies: 
         | 
| 22 22 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -188,12 +188,12 @@ dependencies: | |
| 188 188 | 
             
                requirements: 
         | 
| 189 189 | 
             
                - - ~>
         | 
| 190 190 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 191 | 
            -
                    hash:  | 
| 191 | 
            +
                    hash: 27
         | 
| 192 192 | 
             
                    segments: 
         | 
| 193 193 | 
             
                    - 0
         | 
| 194 194 | 
             
                    - 2
         | 
| 195 | 
            -
                    -  | 
| 196 | 
            -
                    version: 0.2. | 
| 195 | 
            +
                    - 6
         | 
| 196 | 
            +
                    version: 0.2.6
         | 
| 197 197 | 
             
              type: :runtime
         | 
| 198 198 | 
             
              version_requirements: *id011
         | 
| 199 199 | 
             
            - !ruby/object:Gem::Dependency 
         |