muck-invites 3.3.1 → 3.3.2

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.
@@ -28,7 +28,11 @@ The simple version that simply asks for an email and password:
28
28
  <%= link_to 'Invite Your Friends', new_invite_path, :class => 'invite_box' %>
29
29
 
30
30
  The better method that uses oauth to talk to email services instead of asking for a password:
31
- <%= link_to 'Invite Friends', compose_invites_path, :class => 'invite_box' %>
31
+
32
+ <%= link_to 'Invite Friends', compose_invites_path, :class => 'invite_box iframe' %>
33
+ The 'invite_box' class will result in the invite showing up in a popup. Remove that class if you want to customize the link to do something else.
34
+ By default the popup will use the 'popup' layout from muck-engine.
35
+
32
36
 
33
37
  === Oauth
34
38
  The invite system can use oauth where available to acquire contacts. To enable this functionality install the
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.1
1
+ 3.3.2
@@ -32,7 +32,7 @@ class Muck::InvitesController < ApplicationController
32
32
  rescue Contacts::AuthenticationError => ex
33
33
  @success = false
34
34
  @message = ex.to_s
35
- end
35
+ end
36
36
  respond_to do |format|
37
37
  format.html do
38
38
  flash[:error] = @message if @message
@@ -56,10 +56,7 @@ class Muck::InvitesController < ApplicationController
56
56
  @message = t('muck.invites.emails_empty')
57
57
  end
58
58
  respond_to do |format|
59
- format.html do
60
- flash[:notice] = @message
61
- redirect_back_or_default('/')
62
- end
59
+ format.html { render :template => 'invites/create', :layout => false }
63
60
  format.pjs { render :template => 'invites/create', :layout => false }
64
61
  format.js { render :template => 'invites/create', :layout => false }
65
62
  end
@@ -1,9 +1,9 @@
1
1
  <table class="contacts-list">
2
2
  <% contacts.each_with_index do |contact,i| %>
3
3
  <tr class="contact <%= i%2==0 ? 'even' : 'odd' %>">
4
- <td class="cb"><input type="checkbox" value="<%= h(contact[1]) %>" name="emails[]"></td>
4
+ <td class="cb"><input type="checkbox" value="<%= contact[:email] %>" name="emails[]"></td>
5
5
  <td class="name"><%= contact[:name] %></td>
6
6
  <td class="email"><%= contact[:email] %></td>
7
7
  </tr>
8
8
  <% end %>
9
- </table>
9
+ </table>
@@ -1,4 +1,4 @@
1
- <% default_image = File.join(root_url, 'profile_default.jpg') %>
1
+ <% default_image = File.join(root_url, 'images/profile_default.jpg') %>
2
2
  <table class="contacts-list">
3
3
  <% contacts.each_with_index do |contact,i| %>
4
4
  <tr class="contact <%= i%2==0 ? 'even' : 'odd' %>">
@@ -1,4 +1,6 @@
1
1
  <div id="compose-invite">
2
+ <h2>Email invites to friends</h2>
3
+ <!--
2
4
  <div class="tabs">
3
5
  <ul>
4
6
  <li><a href="gmail" class="active"><span>Gmail</span></a></li>
@@ -8,19 +10,23 @@
8
10
  <li><a href="plaxo"><span>Plaxo</span></a></li>
9
11
  </ul>
10
12
  </div>
13
+ -->
11
14
  <div id="invite-contents">
12
15
  <%= invite_ajax_message_container %>
13
- <%= render :partial => 'invites/gmail_oauth' %>
14
- <%= render :partial => 'invites/contacts_query', :locals => { :id => 'yahoo', :title => 'Yahoo' } %>
15
- <%= render :partial => 'invites/contacts_query', :locals => { :id => 'windows', :title => 'Windows Live' } %>
16
- <%= render :partial => 'invites/contacts_query', :locals => { :id => 'aol', :title => 'AOL' } %>
17
- <%= render :partial => 'invites/contacts_query', :locals => { :id => 'plaxo', :title => 'Plaxo' } %>
16
+ <% if google_oauth_for(current_user) -%>
17
+ <p><%=translate('muck.invites.select_emails') %></p>
18
+ <%= render :partial => 'invites/gmail_oauth' %>
19
+ <% end -%>
20
+ <%#= render :partial => 'invites/contacts_query', :locals => { :id => 'yahoo', :title => 'Yahoo' } %>
21
+ <%#= render :partial => 'invites/contacts_query', :locals => { :id => 'windows', :title => 'Windows Live' } %>
22
+ <%#= render :partial => 'invites/contacts_query', :locals => { :id => 'aol', :title => 'AOL' } %>
23
+ <%#= render :partial => 'invites/contacts_query', :locals => { :id => 'plaxo', :title => 'Plaxo' } %>
18
24
  </div>
19
25
  <div id="invite">
20
26
  <%= muck_form_for(:invite_contacts, :url => {:action => 'create'}, :html => {:id => "invite-contacts-form", :name => 'invite-contacts-form'} ) do |f| -%>
21
27
  <div class="form-row">
22
28
  <label class="invite-email" for="emails">Emails</label>
23
- <p class="invite-email">Enter emails of friends to invite or select them above:</p>
29
+ <p class="invite-email"><%=translate('muck.invites.email_friends_prompt') %></p>
24
30
  <%= text_area_tag :emails, emails || params[:emails] %>
25
31
  </div>
26
32
  <div class="form-row">
@@ -0,0 +1 @@
1
+ <%= @message %>
@@ -9,18 +9,20 @@ en:
9
9
  new_invites: Invite your email contacts to join %{app_name}
10
10
  invite_friends: Invite your friends to join %{app_name}
11
11
  email_password_help: The password of your email account
12
- create_success: Invites were sent to %{emails}}. You will be notified if they join %{app_name}
13
- emails_empty: You didn't specify any emails
12
+ create_success: Invites were sent to %{emails}. You will be notified if they join %{app_name}
14
13
  we_wont_email: We won't email these addresses without your permission.
15
14
  invited_joined: "%{user}} joined %{app_name}"
16
15
  retrieving_contacts: Retrieving contacts
17
16
  we_dont_store: We don't store your login and your password is submitted securely.
17
+ emails_empty: You didn't specify any emails
18
18
  invalid_email_error: does not look like a valid email address.
19
19
  your_email: Your Email
20
20
  your_email_help: The email address of an account with contacts that you want to invite
21
+ select_emails: "Select emails:"
21
22
  select_all: Select All
22
23
  no_contacts_found: No contacts were found
24
+ compose_invites: Compose Invite
25
+ email_friends_prompt: "Enter emails of friends to invite:"
23
26
  email_password_prompt_title: Please enter your %{title} email and password
24
27
  email_password: Email Password
25
28
  continue_button: Continue
26
- compose_invites: Compose Invite
@@ -6,9 +6,6 @@ Rails.application.routes.draw do
6
6
  collection do
7
7
  post :get_contacts
8
8
  get :compose
9
- post :compose
10
- get :new
11
- post :new
12
9
  end
13
10
  end
14
11
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-invites}
8
- s.version = "3.3.1"
8
+ s.version = "3.3.2"
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-04-27}
12
+ s.date = %q{2011-04-28}
13
13
  s.description = %q{The invite engine for the muck system.}
14
14
  s.email = %q{justin@tatemae.com}
15
15
  s.extra_rdoc_files = [
@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
38
38
  "app/views/invites/_invite_standard.erb",
39
39
  "app/views/invites/compose.erb",
40
40
  "app/views/invites/create.erb",
41
+ "app/views/invites/create.html.erb",
41
42
  "app/views/invites/get_contacts.html.erb",
42
43
  "app/views/invites/get_contacts.js.erb",
43
44
  "app/views/invites/new.erb",
@@ -7,10 +7,11 @@
7
7
  .contact-chooser table{border-collapse:collapse;margin:0;padding:0;}
8
8
  .contact-chooser .icon{width:20px;height:20px;}
9
9
  .contact-chooser-list{width:500px;}
10
- .select-all {background-color:#EEEEEE;border-bottom:1px solid #CCCCCC;color:#666666;line-height:200%;margin:0;padding:0 5px;}
10
+ .select-all{background-color:#EEEEEE;border-bottom:1px solid #CCCCCC;color:#666666;line-height:200%;margin:0;padding:0 5px;}
11
11
  .table-wrapper{height:250px;overflow-y:scroll;padding:4px 0 0;}
12
12
  .tabs ul{padding:2px;margin:0;}
13
13
  .tabs ul li{list-style:none;font-weight:bold;display:inline-block;}
14
14
  .tabs ul li a{float:left;text-decoration:none;font-weight:bold;}
15
15
  .tabs ul li a:hover{text-decoration:underline;}
16
- #invite textarea{width:600px;height:80px;font-size:1em;}
16
+ #invite textarea{width:600px;height:80px;font-size:1em;}
17
+ .contacts-list .icon img{width:20px;}
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muck-invites
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 3
9
- - 1
10
- version: 3.3.1
9
+ - 2
10
+ version: 3.3.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Justin Ball, Joel Duffin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-27 00:00:00 -06:00
18
+ date: 2011-04-28 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -125,6 +125,7 @@ files:
125
125
  - app/views/invites/_invite_standard.erb
126
126
  - app/views/invites/compose.erb
127
127
  - app/views/invites/create.erb
128
+ - app/views/invites/create.html.erb
128
129
  - app/views/invites/get_contacts.html.erb
129
130
  - app/views/invites/get_contacts.js.erb
130
131
  - app/views/invites/new.erb