muck-shares 3.1.1 → 3.2.0

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/Rakefile CHANGED
@@ -55,6 +55,7 @@ begin
55
55
  gem.add_dependency "muck-users"
56
56
  gem.add_dependency "muck-activities"
57
57
  gem.add_dependency "muck-comments"
58
+ gem.add_dependency "muck-invites"
58
59
  gem.files.exclude 'test/**'
59
60
  gem.test_files.exclude 'test/**'
60
61
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.1
1
+ 3.2.0
@@ -0,0 +1,51 @@
1
+ class Muck::EmailSharesController < ApplicationController
2
+
3
+ before_filter :login_required
4
+
5
+ def new
6
+ flash.discard
7
+ @emails = params[:emails]
8
+ @message = CGI.unescape(params[:message] || '')
9
+ @subject = CGI.unescape(params[:subject] || '')
10
+ respond_to do |format|
11
+ format.html { render :template => 'email_shares/new', :layout => 'popup' }
12
+ format.pjs { render :template => 'email_shares/new', :layout => false }
13
+ format.js { render :template => 'email_shares/new', :layout => false }
14
+ end
15
+ end
16
+
17
+ def create
18
+ if params[:emails].blank?
19
+ @result = t('muck.shares.emails_empty')
20
+ elsif params[:message].blank?
21
+ @result = t('muck.shares.message_empty')
22
+ else
23
+ @emails = params[:emails]
24
+ @emails = @emails.join(', ') if @emails.is_a?(Array)
25
+ @emails = @emails.split(/[, ]/) if !@emails.is_a?(Array)
26
+ @emails = @emails.find_all { |email| !email.blank? }
27
+ @emails = @emails.flatten.collect { |email| email.strip }
28
+ check_emails = []
29
+ subject = params[:subject]
30
+ message = params[:message]
31
+ @emails.each do |email|
32
+ if !check_emails.include?(email)
33
+ check_emails << email
34
+ response = ShareMailer.share_email(current_user, email, subject, message).deliver
35
+ end
36
+ end
37
+ @emails = @emails.join(',')
38
+ @result = t('muck.shares.share_email_success', :emails => @emails)
39
+ @success = true
40
+ end
41
+ respond_to do |format|
42
+ format.html do
43
+ flash[:notice] = @result
44
+ render :template => 'email_shares/new', :layout => 'popup'
45
+ end
46
+ format.pjs { render :template => 'email_shares/create', :layout => false }
47
+ format.js { render :template => 'email_shares/create', :layout => false }
48
+ end
49
+ end
50
+
51
+ end
@@ -26,4 +26,8 @@ module MuckSharesHelper
26
26
  user.shares.find(:all, :conditions => ['uri = ?', uri])
27
27
  end
28
28
 
29
+ def share_ajax_message_container
30
+ output_message_container('share-messages', 'share-messages-container')
31
+ end
32
+
29
33
  end
@@ -0,0 +1,12 @@
1
+ class ShareMailer < ActionMailer::Base
2
+
3
+ def share_email(user, email, subject, message)
4
+ @message = message
5
+ @user = user
6
+ mail(:to => email, :from => user.email, :subject => subject) do |format|
7
+ format.html
8
+ format.text
9
+ end
10
+ end
11
+
12
+ end
@@ -0,0 +1,8 @@
1
+ jQuery('#share-messages-container').html("<%= escape_javascript(@result) %>");
2
+ jQuery('#share-messages-container').show();
3
+ jQuery('.wait-button').show();
4
+ jQuery('.waiting').hide();
5
+ <% if @success -%>
6
+ jQuery('#emails').val('');
7
+ jQuery('#message').val('');
8
+ <% end -%>
@@ -0,0 +1,29 @@
1
+ <div id="compose-email-share">
2
+ <%= output_errors('', {:class => 'help-box'}) %>
3
+ <%= share_ajax_message_container %>
4
+ <div id="invite-email-share">
5
+ <%= render :partial => 'invites/contacts_from_services' %>
6
+ </div>
7
+ <div id="email-share">
8
+ <%= muck_form_for(:email_share, :url => {:action => 'create'}, :html => {:id => "email-share-contacts-form", :name => 'email-share-contacts-form', :class => 'ajax'} ) do |f| -%>
9
+ <div id="share-emails" class="form-row">
10
+ <label class="email-share-email" for="emails"><%=translate('muck.shares.emails') %></label>
11
+ <p class="email-share-email"><%=translate('muck.shares.email_friends_prompt') %></p>
12
+ <%= text_area_tag :emails, @emails %>
13
+ </div>
14
+ <div id="share-subject" class="form-row">
15
+ <label class="email-share-subject" for="subject"><%=translate('muck.shares.subject_label') %></label>
16
+ <%= text_field_tag :subject, @subject %>
17
+ </div>
18
+ <div id="share-message" class="form-row">
19
+ <label class="email-share-message" for="message"><%=translate('muck.shares.message_label') %></label>
20
+ <%= text_area_tag :message, @message %>
21
+ </div>
22
+ <div class="form-row">
23
+ <%= f.submit t('muck.shares.email_share_button'), :class => "button email-share-submit wait-button" %>
24
+ <div class="waiting" style="display:none;"><%=translate('muck.shares.share_wait') %></div>
25
+ </div>
26
+ <% end -%>
27
+ </div>
28
+ </div>
29
+ <%= render :partial => 'invites/invite_scripts' %>
@@ -0,0 +1,2 @@
1
+ <p>From <%= @user.display_name %>:</p>
2
+ <p><%= @message %></p>
@@ -0,0 +1,2 @@
1
+ From <%= @user.display_name %>:
2
+ <%= @message %>
@@ -13,7 +13,7 @@
13
13
  <%= f.text_area :message, { :label => t('muck.shares.message'),
14
14
  :class => 'min' } %>
15
15
  </div>
16
- <%= capture(f, &block) %>
16
+ <%= capture(f, &block) if block -%>
17
17
  <div class="button form-row">
18
18
  <%= f.submit t('muck.shares.add_share_button'), :class => "button share-submit", :id => "share_submit_#{share.dom_id}" %>
19
19
  </div>
@@ -1,21 +1,32 @@
1
- en:
2
- muck:
3
- shares:
4
- cant_delete_share: "You don't have permission to delete that share"
5
- share_removed: "Share successfully removed."
1
+ ---
2
+ en:
3
+ muck:
4
+ shares:
5
+ add_share: Share
6
+ uri: Url
7
+ share_removed: Share successfully removed.
8
+ create_success: Successfully shared page
9
+ new_share: Share a Link
10
+ title: Title
11
+ cancel_share_button: Cancel
12
+ share_title: Share This Link
6
13
  create_error: "Could not create the share: %{errors}"
7
- create_success: "Successfully shared page"
8
- add_share: "Share"
9
- add_share_button: "Share"
10
- adding_share: "Sharing page..."
11
- cancel_share_button: "Cancel"
12
- new_share: "Share a Link"
13
- problem_adding_share: "There was a problem adding your share"
14
- title: "Title"
15
- uri: "Url"
16
- message: "Message"
17
- login_prompt: "Login to share"
18
- share_title: "Share This Link"
19
- share_activity_content: "shared %{link}. %{message}"
20
- activity_templates:
21
- share: Shares
14
+ adding_share: Sharing page...
15
+ problem_adding_share: There was a problem adding your share
16
+ share_via_email_title: Share
17
+ emails: Emails
18
+ add_share_button: Share
19
+ cant_delete_share: You don't have permission to delete that share
20
+ login_prompt: Login to share
21
+ subject_label: Subject
22
+ message: Message
23
+ share_activity_content: shared %{link}. %{message}
24
+ message_label: Message
25
+ email_friends_prompt: "Email of friends to share with:"
26
+ email_share_button: Send
27
+ emails_empty: You didn't specify any emails
28
+ message_empty: You didn't specify a message
29
+ share_email_success: "Emails have been sent to: %{emails}"
30
+ share_wait: Please Wait....
31
+ activity_templates:
32
+ share: Shares
@@ -6,4 +6,6 @@ Rails.application.routes.draw do
6
6
  resources :shares, :controller => 'muck/shares'
7
7
  end
8
8
 
9
+ resources :email_shares, :controller => 'muck/email_shares'
10
+
9
11
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-shares}
8
- s.version = "3.1.1"
8
+ s.version = "3.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Ball", "Joel Duffin"]
12
- s.date = %q{2011-02-12}
12
+ s.date = %q{2011-05-06}
13
13
  s.description = %q{The share engine for the muck system.}
14
14
  s.email = %q{justin@tatemae.com}
15
15
  s.extra_rdoc_files = [
@@ -20,9 +20,15 @@ Gem::Specification.new do |s|
20
20
  "README.rdoc",
21
21
  "Rakefile",
22
22
  "VERSION",
23
+ "app/controllers/muck/email_shares_controller.rb",
23
24
  "app/controllers/muck/shares_controller.rb",
24
25
  "app/helpers/muck_shares_helper.rb",
26
+ "app/mailers/share_mailer.rb",
25
27
  "app/views/activity_templates/_share.erb",
28
+ "app/views/email_shares/create.erb",
29
+ "app/views/email_shares/new.erb",
30
+ "app/views/share_mailer/share_email.html.erb",
31
+ "app/views/share_mailer/share_email.text.erb",
26
32
  "app/views/shares/_form.erb",
27
33
  "app/views/shares/_share.erb",
28
34
  "app/views/shares/destroy.js.erb",
@@ -86,11 +92,10 @@ Gem::Specification.new do |s|
86
92
  ]
87
93
  s.homepage = %q{http://github.com/tatemae/muckshares}
88
94
  s.require_paths = ["lib"]
89
- s.rubygems_version = %q{1.3.7}
95
+ s.rubygems_version = %q{1.6.0}
90
96
  s.summary = %q{The share engine for the muck system}
91
97
 
92
98
  if s.respond_to? :specification_version then
93
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
94
99
  s.specification_version = 3
95
100
 
96
101
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -98,17 +103,20 @@ Gem::Specification.new do |s|
98
103
  s.add_runtime_dependency(%q<muck-users>, [">= 0"])
99
104
  s.add_runtime_dependency(%q<muck-activities>, [">= 0"])
100
105
  s.add_runtime_dependency(%q<muck-comments>, [">= 0"])
106
+ s.add_runtime_dependency(%q<muck-invites>, [">= 0"])
101
107
  else
102
108
  s.add_dependency(%q<muck-engine>, [">= 0"])
103
109
  s.add_dependency(%q<muck-users>, [">= 0"])
104
110
  s.add_dependency(%q<muck-activities>, [">= 0"])
105
111
  s.add_dependency(%q<muck-comments>, [">= 0"])
112
+ s.add_dependency(%q<muck-invites>, [">= 0"])
106
113
  end
107
114
  else
108
115
  s.add_dependency(%q<muck-engine>, [">= 0"])
109
116
  s.add_dependency(%q<muck-users>, [">= 0"])
110
117
  s.add_dependency(%q<muck-activities>, [">= 0"])
111
118
  s.add_dependency(%q<muck-comments>, [">= 0"])
119
+ s.add_dependency(%q<muck-invites>, [">= 0"])
112
120
  end
113
121
  end
114
122
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muck-shares
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
- prerelease: false
4
+ hash: 15
5
+ prerelease:
6
6
  segments:
7
7
  - 3
8
- - 1
9
- - 1
10
- version: 3.1.1
8
+ - 2
9
+ - 0
10
+ version: 3.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Justin Ball
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-02-12 00:00:00 -07:00
19
+ date: 2011-05-06 00:00:00 -06:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -75,6 +75,20 @@ dependencies:
75
75
  version: "0"
76
76
  type: :runtime
77
77
  version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: muck-invites
80
+ prerelease: false
81
+ requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ type: :runtime
91
+ version_requirements: *id005
78
92
  description: The share engine for the muck system.
79
93
  email: justin@tatemae.com
80
94
  executables: []
@@ -88,9 +102,15 @@ files:
88
102
  - README.rdoc
89
103
  - Rakefile
90
104
  - VERSION
105
+ - app/controllers/muck/email_shares_controller.rb
91
106
  - app/controllers/muck/shares_controller.rb
92
107
  - app/helpers/muck_shares_helper.rb
108
+ - app/mailers/share_mailer.rb
93
109
  - app/views/activity_templates/_share.erb
110
+ - app/views/email_shares/create.erb
111
+ - app/views/email_shares/new.erb
112
+ - app/views/share_mailer/share_email.html.erb
113
+ - app/views/share_mailer/share_email.text.erb
94
114
  - app/views/shares/_form.erb
95
115
  - app/views/shares/_share.erb
96
116
  - app/views/shares/destroy.js.erb
@@ -181,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
201
  requirements: []
182
202
 
183
203
  rubyforge_project:
184
- rubygems_version: 1.3.7
204
+ rubygems_version: 1.6.0
185
205
  signing_key:
186
206
  specification_version: 3
187
207
  summary: The share engine for the muck system