social_stream-base 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,24 +1,21 @@
1
1
  class ContactsController < ApplicationController
2
2
  before_filter :authenticate_user!
3
-
4
3
  def index
5
4
  if params[:pending].present?
6
5
  pending
7
- return
6
+ return
8
7
  end
9
8
  @contacts =
10
- Contact.sent_by(current_subject).
11
- joins(:receiver).merge(Actor.alphabetic).
12
- merge(Actor.letter(params[:letter])).
13
- merge(Actor.search(params[:search])).
14
- active
15
-
16
-
9
+ Contact.sent_by(current_subject).
10
+ joins(:receiver).merge(Actor.alphabetic).
11
+ merge(Actor.letter(params[:letter])).
12
+ merge(Actor.search(params[:search])).
13
+ active
17
14
 
18
15
  respond_to do |format|
19
16
  format.html { @contacts = @contacts.page(params[:page]).per(10) }
20
17
  format.js { @contacts = @contacts.page(params[:page]).per(10) }
21
- format.json { render :text => @contacts.map{ |c| { 'key' => c.actor_id.to_s, 'value' => self.class.helpers.truncate_name(c.name) } }.to_json }
18
+ format.json { render :text => @contacts.map{ |c| { 'key' => c.receiver_id.to_s, 'value' => self.class.helpers.truncate_name(c.receiver.name) } }.to_json }
22
19
  end
23
20
  end
24
21
 
@@ -43,22 +40,22 @@ class ContactsController < ApplicationController
43
40
 
44
41
  def destroy
45
42
  @contact = current_subject.sent_contacts.find params[:id]
46
-
43
+
47
44
  @contact.relation_ids = [current_subject.relation_public.id]
48
45
 
49
46
  respond_to do |format|
50
47
  format.js
51
48
  end
52
49
  end
53
-
50
+
54
51
  def pending
55
52
 
56
- @contacts = current_subject.pending_contacts
53
+ @contacts = current_subject.pending_contacts
57
54
 
58
55
  respond_to do |format|
59
56
  format.html { @contacts = Kaminari.paginate_array(@contacts).page(params[:page]).per(10) }
60
57
  format.js { Kaminari.paginate_array(@contacts).page(params[:page]).per(10) }
61
- format.json { render :text => @contacts.map{ |c| { 'key' => c.actor_id.to_s, 'value' => self.class.helpers.truncate_name(c.name) } }.to_json }
58
+ format.json { render :text => @contacts.map{ |c| { 'key' => c.receiver_id.to_s, 'value' => self.class.helpers.truncate_name(c.receiver.name) } }.to_json }
62
59
  end
63
60
  end
64
61
  end
@@ -231,7 +231,11 @@ class Activity < ActiveRecord::Base
231
231
  return val
232
232
 
233
233
  when 'read'
234
- return true if [contact.sender_id, contact.receiver_id].include?(Actor.normalize_id(subject)) || relations.select{ |r| r.is_a?(Relation::Public) }.any?
234
+ return true if relations.select{ |r| r.is_a?(Relation::Public) }.any?
235
+
236
+ return false if subject.blank?
237
+
238
+ return true if [contact.sender_id, contact.receiver_id].include?(Actor.normalize_id(subject))
235
239
  when 'update'
236
240
  return true if contact.sender_id == Actor.normalize_id(subject)
237
241
  when 'destroy'
@@ -4,17 +4,31 @@
4
4
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5
5
  </head>
6
6
  <body>
7
- <h1>You have a new message: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %></h1>
8
- <p>
9
- You have received a new message:
10
- </p>
11
- <blockquote>
12
- <p>
13
- <%= raw @message.body %>
14
- </p>
15
- </blockquote>
16
- <p>
17
- Visit <%= link_to root_url,root_url %> and go to your inbox for more info.
18
- </p>
7
+ <div>
8
+ <div style="padding: 10px 5px 5px 5px;">
9
+ <span style="font-weight: bold;"><%= @message.sender.name%></span>
10
+ has sent you a new message: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %></h1>
11
+ </div>
12
+ <div style="position: static;padding: 5px; border: #2A3890 solid 2px; background-color: #E1EEF5; margin:10px; min-height: 125px; width: 500px;">
13
+ <div style="float:left; margin-right:7px; border: thin solid #D4E4EA; background-color: white; max-height: 119px;">
14
+ <img src="http://<%= ActionMailer::Base.default_url_options[:host] +@message.sender.logo.url(:profile)%>" alt="<%=@message.sender.name%>">
15
+ </div>
16
+ <div style=" margin: 5px 5px 5px 5px;">
17
+ <p style="font-weight: bold; "><%= @message.sender.name %>
18
+ <% if @message.sender.profile.organization? %>
19
+ <br/><span style="color: #6C6D6F; font-weight: normal;"><%= @message.sender.profile.organization%></span>
20
+ <% end %>
21
+ </p>
22
+ <p>
23
+ <%= raw @message.body %>
24
+ </p>
25
+ </div>
26
+ </div>
27
+ <div style="padding: 10px 5px 5px 5px;">
28
+ <p>
29
+ <%= link_to((t('message.look')+" at "+t('socialstream')), conversation_url(@message.conversation))%>
30
+ </p>
31
+ </div>
32
+ </div>
19
33
  </body>
20
34
  </html>
@@ -1,10 +1,7 @@
1
- You have a new message: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %>
2
- ===============================================
3
-
4
- You have received a new message:
1
+ <%= @message.sender.name%> has sent you a new message: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %>
5
2
 
6
3
  -----------------------------------------------
7
4
  <%= @message.body.html_safe? ? @message.body : strip_tags(@message.body) %>
8
5
  -----------------------------------------------
9
6
 
10
- Visit <%= root_url %> and go to your inbox for more info.
7
+ <%=t('message.look')%> at <%= t('socialstream')%>: <%=conversation_url(@message.conversation)%>.
@@ -4,17 +4,31 @@
4
4
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5
5
  </head>
6
6
  <body>
7
- <h1>You have a new reply: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %></h1>
8
- <p>
9
- You have received a new reply:
10
- </p>
11
- <blockquote>
12
- <p>
13
- <%= raw @message.body %>
14
- </p>
15
- </blockquote>
16
- <p>
17
- Visit <%= link_to root_url,root_url %> and go to your inbox for more info.
18
- </p>
7
+ <div>
8
+ <div style="padding: 10px 5px 5px 5px;">
9
+ <span style="font-weight: bold;"><%= @message.sender.name%></span>
10
+ has sent a reply: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %>
11
+ </div>
12
+ <div style="position: static;padding: 5px; border: #2A3890 solid 2px; background-color: #E1EEF5; margin:10px; min-height: 125px; width: 500px;">
13
+ <div style="float:left; margin-right:7px; border: thin solid #D4E4EA; background-color: white; max-height: 119px;">
14
+ <img src="http://<%= ActionMailer::Base.default_url_options[:host] +@message.sender.logo.url(:profile)%>" alt="<%=@message.sender.name%>">
15
+ </div>
16
+ <div style=" margin: 5px 5px 5px 5px;">
17
+ <p style="font-weight: bold; "><%= @message.sender.name %>
18
+ <% if @message.sender.profile.organization? %>
19
+ <br/><span style="color: #6C6D6F; font-weight: normal;"><%= @message.sender.profile.organization%></span>
20
+ <% end %>
21
+ </p>
22
+ <p>
23
+ <%= raw @message.body %>
24
+ </p>
25
+ </div>
26
+ </div>
27
+ <div style="padding: 10px 5px 5px 5px;">
28
+ <p>
29
+ <%= link_to t('message.look'), conversation_url(@message.conversation)%> at <%= t('socialstream')%>
30
+ </p>
31
+ </div>
32
+ </div>
19
33
  </body>
20
34
  </html>
@@ -1,10 +1,7 @@
1
- You have a new reply: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %>
2
- ===============================================
3
-
4
- You have received a new reply:
1
+ <%= @message.sender.name%> has sent a reply: <%= @message.subject.html_safe? ? @message.subject : strip_tags(@message.subject) %>
5
2
 
6
3
  -----------------------------------------------
7
- <%= @message.body.html_safe? ? @message.body : strip_tags(@message.body) %>
4
+ "<%= @message.body.html_safe? ? @message.body : strip_tags(@message.body) %>"
8
5
  -----------------------------------------------
9
6
 
10
- Visit <%= root_url %> and go to your inbox for more info.
7
+ <%=t('message.look')%> at <%= t('socialstream')%>: <%=conversation_url(@message.conversation)%>.
@@ -17,7 +17,7 @@
17
17
  height: 6
18
18
  });
19
19
 
20
-
20
+ /*
21
21
  $('#body').ckeditor(
22
22
  function(){
23
23
  $('#cke_top_body').click( updateTextArea);
@@ -38,7 +38,7 @@
38
38
  $("#body").trigger('keyup');
39
39
  }
40
40
 
41
-
41
+ */
42
42
  <% unless @recipient.nil? %>
43
43
  $("#_recipients").trigger("addItem",[{"title": "<%= truncate_name @recipient.name %>", "value": "<%= @recipient.id %>"}]);
44
44
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <% self.class.send :include, NotificationsHelper %>
2
2
  <%= strip_tags decode_notification @notification.subject,@notification.notified_object %>
3
- ===============================================
3
+ -----------------------------------------------
4
4
  <%= strip_tags decode_notification @notification.body,@notification.notified_object %>
5
-
6
- Visit <%= link_to notifications_url,notifications_url %> and check all your notifications.
5
+ -----------------------------------------------
6
+ Visit <%= notifications_url %> and check all your notifications.
@@ -0,0 +1,3 @@
1
+ <% toolbar :profile => object._owner %>
2
+
3
+ <%= render object.post_activity %>
@@ -0,0 +1,2 @@
1
+ <%= render :partial => 'objects/show',
2
+ :locals => { :object => @post } %>
@@ -190,13 +190,14 @@ en:
190
190
  message:
191
191
  answer: "Write your answer"
192
192
  inbox: "Inbox"
193
+ look: "Take a look at this conversation"
193
194
  new: "New Message"
194
195
  one: "Message"
195
196
  other: "Messages"
196
197
  participants: "Participants"
198
+ send: "Send a message"
197
199
  sentbox: "Sentbox"
198
200
  trash: "Trash"
199
- send: "Send a message"
200
201
  notification:
201
202
  confirm: "Confirm %{sender.name} as contact?"
202
203
  destroy_sure: "Do you want to delete this notification?"
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.7.1".freeze
3
+ VERSION = "0.7.2".freeze
4
4
  end
5
5
  end
@@ -65,6 +65,16 @@ module SocialStream
65
65
  @_activity_parent ||= Activity.find(_activity_parent_id)
66
66
  end
67
67
 
68
+ # The {SocialStream::Models::Subject subject} that posted this object
69
+ def _author
70
+ post_activity.contact.sender_subject
71
+ end
72
+
73
+ # The owner of the wall where {#_author} posted this object
74
+ def _owner
75
+ post_activity.contact.receiver_subject
76
+ end
77
+
68
78
  private
69
79
 
70
80
  def create_post_activity
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
35
35
  # OAuth provider
36
36
  s.add_runtime_dependency('oauth-plugin','~> 0.4.0.pre1')
37
37
  # Messages
38
- s.add_runtime_dependency('mailboxer','~> 0.4.0')
38
+ s.add_runtime_dependency('mailboxer','~> 0.4.1')
39
39
  # Avatar manipulation
40
40
  s.add_runtime_dependency('rmagick','~> 2.13.1')
41
41
  # Tagging
@@ -25,5 +25,24 @@ describe LikesController do
25
25
 
26
26
  assert ! @activity.liked_by?(@subject)
27
27
  end
28
+
29
+ it "should create, destroy and create it again" do
30
+ @activity = Factory(:activity)
31
+ @subject = @activity.receiver_subject
32
+
33
+ sign_in @subject
34
+
35
+ post :create, :activity_id => @activity.id
36
+
37
+ assert @activity.liked_by?(@subject)
38
+
39
+ delete :destroy, :activity_id => @activity.id
40
+
41
+ assert ! @activity.liked_by?(@subject)
42
+
43
+ post :create, :activity_id => @activity.id
44
+
45
+ assert @activity.liked_by?(@subject)
46
+ end
28
47
  end
29
48
 
@@ -151,5 +151,17 @@ describe PostsController do
151
151
  post.post_activity.relations.should include(@tie.relation)
152
152
  end
153
153
  end
154
+
155
+ context "creating public post" do
156
+ before do
157
+ @post = Factory(:public_post)
158
+ end
159
+
160
+ it "should render" do
161
+ get :show, :id => @post.to_param
162
+
163
+ response.should be_success
164
+ end
165
+ end
154
166
  end
155
167
 
@@ -3,3 +3,8 @@ Factory.define :post do |p|
3
3
  p._contact_id { Factory(:friend).contact_id }
4
4
  p._relation_ids { |q| Array(Contact.find(q._contact_id).sender.relation_customs.sort.first.id) }
5
5
  end
6
+
7
+ Factory.define :public_post, :parent => :post do |p|
8
+ p._contact_id { Factory(:self_contact).id }
9
+ p._relation_ids { |q| Array(Contact.find(q._contact_id).sender.relation_public.id) }
10
+ end
@@ -18,4 +18,6 @@ CKEDITOR.editorConfig = function( config ) {
18
18
  ['Link','Unlink'],
19
19
  ['Image','Smiley']
20
20
  ];
21
+
22
+ config.skin = 'myskin,/assets/ckeditor/skins/kama/';
21
23
  };
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream-base
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
- - 1
10
- version: 0.7.1
9
+ - 2
10
+ version: 0.7.2
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-07-20 00:00:00 +02:00
19
+ date: 2011-07-21 00:00:00 +02:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -205,12 +205,12 @@ dependencies:
205
205
  requirements:
206
206
  - - ~>
207
207
  - !ruby/object:Gem::Version
208
- hash: 15
208
+ hash: 13
209
209
  segments:
210
210
  - 0
211
211
  - 4
212
- - 0
213
- version: 0.4.0
212
+ - 1
213
+ version: 0.4.1
214
214
  type: :runtime
215
215
  version_requirements: *id012
216
216
  - !ruby/object:Gem::Dependency
@@ -811,6 +811,7 @@ files:
811
811
  - app/views/notifications/index.js.erb
812
812
  - app/views/objects/_destroy.js.erb
813
813
  - app/views/objects/_new.html.erb
814
+ - app/views/objects/_show.html.erb
814
815
  - app/views/permissions/_index.html.erb
815
816
  - app/views/permissions/index.js.erb
816
817
  - app/views/posts/_fields.erb
@@ -818,6 +819,7 @@ files:
818
819
  - app/views/posts/_post.html.erb
819
820
  - app/views/posts/create.js.erb
820
821
  - app/views/posts/destroy.js.erb
822
+ - app/views/posts/show.html.erb
821
823
  - app/views/profiles/_contact.html.erb
822
824
  - app/views/profiles/_experience.html.erb
823
825
  - app/views/profiles/_personal.html.erb