muck-invites 3.3.1 → 3.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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