refinerycms-members-ci 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/app/controllers/admin/members_controller.rb +8 -0
  2. data/app/controllers/members_controller.rb +30 -0
  3. data/app/controllers/pages_controller.rb +38 -0
  4. data/app/controllers/registrations_controller.rb +17 -0
  5. data/app/models/member.rb +13 -0
  6. data/app/views/admin/members/_actions.html.erb +28 -0
  7. data/app/views/admin/members/_form.html.erb +19 -0
  8. data/app/views/admin/members/_member.html.erb +18 -0
  9. data/app/views/admin/members/_members.html.erb +2 -0
  10. data/app/views/admin/members/_records.html.erb +18 -0
  11. data/app/views/admin/members/_sortable_list.html.erb +7 -0
  12. data/app/views/admin/members/edit.html.erb +1 -0
  13. data/app/views/admin/members/index.html.erb +10 -0
  14. data/app/views/admin/members/new.html.erb +1 -0
  15. data/app/views/admin/pages/_form_advanced_options.html.erb +89 -0
  16. data/app/views/devise/confirmations/new.html.erb +12 -0
  17. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  18. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  19. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  20. data/app/views/devise/passwords/edit.html.erb +16 -0
  21. data/app/views/devise/passwords/new.html.erb +12 -0
  22. data/app/views/devise/registrations/edit.html.erb +20 -0
  23. data/app/views/devise/sessions/new.html.erb +17 -0
  24. data/app/views/devise/shared/_links.erb +19 -0
  25. data/app/views/devise/unlocks/new.html.erb +12 -0
  26. data/app/views/registrations/edit.html.erb +22 -0
  27. data/app/views/registrations/new.html.erb +18 -0
  28. data/app/views/shared/_header.html.erb +23 -0
  29. data/config/locales/en.yml +26 -0
  30. data/config/locales/lolcat.yml +25 -0
  31. data/config/locales/nb.yml +21 -0
  32. data/config/locales/nl.yml +21 -0
  33. data/config/routes.rb +11 -0
  34. data/lib/generators/refinerycms_members_generator.rb +6 -0
  35. data/lib/refinerycms-members.rb +21 -0
  36. data/lib/tasks/members.rake +13 -0
  37. metadata +102 -0
@@ -0,0 +1,8 @@
1
+ module Admin
2
+ class MembersController < Admin::BaseController
3
+
4
+ crudify :member,
5
+ :title_attribute => 'email', :xhr_paging => true
6
+
7
+ end
8
+ end
@@ -0,0 +1,30 @@
1
+ class MembersController < ApplicationController
2
+
3
+ before_filter :find_all_members
4
+ before_filter :find_page
5
+
6
+ def index
7
+ # you can use meta fields from your model instead (e.g. browser_title)
8
+ # by swapping @page for @member in the line below:
9
+ present(@page)
10
+ end
11
+
12
+ def show
13
+ @member = Member.find(params[:id])
14
+
15
+ # you can use meta fields from your model instead (e.g. browser_title)
16
+ # by swapping @page for @member in the line below:
17
+ present(@page)
18
+ end
19
+
20
+ protected
21
+
22
+ def find_all_members
23
+ @members = Member.find(:all, :order => "position ASC")
24
+ end
25
+
26
+ def find_page
27
+ @page = Page.find_by_link_url("/members")
28
+ end
29
+
30
+ end
@@ -0,0 +1,38 @@
1
+ class PagesController < ApplicationController
2
+
3
+ # This action is usually accessed with the root path, normally '/'
4
+ def home
5
+ error_404 unless (@page = Page.where(:link_url => '/').first).present?
6
+ end
7
+
8
+ # This action can be accessed normally, or as nested pages.
9
+ # Assuming a page named "mission" that is a child of "about",
10
+ # you can access the pages with the following URLs:
11
+ #
12
+ # GET /pages/about
13
+ # GET /about
14
+ #
15
+ # GET /pages/mission
16
+ # GET /about/mission
17
+ #
18
+ def show
19
+ @page = Page.find("#{params[:path]}/#{params[:id]}".split('/').last)
20
+
21
+ if @page.need_login and !member_signed_in?
22
+ flash[:notice] = I18n.t("members.need_login")
23
+ redirect_to '/members/sign_in' and return
24
+ end
25
+
26
+ if @page.try(:live?) || (refinery_user? && current_user.authorized_plugins.include?("refinery_pages"))
27
+ # if the admin wants this to be a "placeholder" page which goes to its first child, go to that instead.
28
+ if @page.skip_to_first_child && (first_live_child = @page.children.order('lft ASC').where(:draft=>false).first).present?
29
+ redirect_to first_live_child.url
30
+ elsif @page.link_url.present?
31
+ redirect_to @page.link_url and return
32
+ end
33
+ else
34
+ error_404
35
+ end
36
+ end
37
+
38
+ end
@@ -0,0 +1,17 @@
1
+ class RegistrationsController < Devise::RegistrationsController
2
+ def update
3
+ self.resource = resource_class.to_adapter.get!(send(:"current_#{resource_name}").to_key)
4
+
5
+ # Devise use update_with_password instead of update_attributes.
6
+ # This is the only change we make.
7
+ if resource.update_profile(params[resource_name])
8
+ set_flash_message :notice, :updated
9
+ # Line below required if using Devise >= 1.2.0
10
+ sign_in resource_name, resource, :bypass => true
11
+ redirect_to after_update_path_for(resource)
12
+ else
13
+ clean_up_passwords(resource)
14
+ render_with_scope :edit
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ class Member < ActiveRecord::Base
2
+ # Include default devise modules. Others available are:
3
+ # :token_authenticatable, :confirmable, :lockable and :timeoutable
4
+ devise :database_authenticatable, :registerable,
5
+ :recoverable, :rememberable, :trackable, :validatable
6
+
7
+ def update_profile(attrs={})
8
+ attrs.delete(:password) if attrs[:password].empty?
9
+ attrs.delete(:password_confirmation) if attrs[:password_confirmation].empty?
10
+ update_attributes(attrs)
11
+ end
12
+
13
+ end
@@ -0,0 +1,28 @@
1
+ <ul>
2
+ <% if Admin::MembersController.searchable? %>
3
+ <li>
4
+ <%= render :partial => "/shared/admin/search",
5
+ :locals => {
6
+ :url => admin_members_url
7
+ } %>
8
+ </li>
9
+ <% end %>
10
+ <li>
11
+ <%= link_to t('.create_new'), new_admin_member_url,
12
+ :class => "add_icon" %>
13
+ </li>
14
+ <% if !searching? and Admin::MembersController.sortable? and Member.count > 1 %>
15
+ <li>
16
+ <%= link_to t('.reorder', :what => "Members"),
17
+ admin_members_url,
18
+ :id => "reorder_action",
19
+ :class => "reorder_icon" %>
20
+
21
+ <%= link_to t('.reorder_done', :what => "Members"),
22
+ admin_members_url,
23
+ :id => "reorder_action_done",
24
+ :style => "display: none;",
25
+ :class => "reorder_icon" %>
26
+ </li>
27
+ <% end %>
28
+ </ul>
@@ -0,0 +1,19 @@
1
+ <%= form_for [:admin, @member] do |f| -%>
2
+ <%= render :partial => "/shared/admin/error_messages", :locals => {
3
+ :object => @member,
4
+ :include_object_name => true
5
+ } %>
6
+
7
+ <div class='field'>
8
+ <%= f.label :email -%>
9
+ <%= f.text_field :email, :class => 'larger widest' -%>
10
+ </div>
11
+
12
+ <%= render :partial => "/shared/admin/form_actions",
13
+ :locals => {
14
+ :f => f,
15
+ :continue_editing => false,
16
+ :delete_title => t('delete', :scope => 'admin.members.member'),
17
+ :delete_confirmation => t('message', :scope => 'shared.admin.delete', :title => @member.email)
18
+ } %>
19
+ <% end -%>
@@ -0,0 +1,18 @@
1
+ <li class='clearfix record <%= cycle("on", "on-hover") %>' id="<%= dom_id(member) -%>">
2
+ <span class='title'>
3
+ <%= member.email %>
4
+ <span class="preview">&nbsp;</span>
5
+ </span>
6
+ <span class='actions'>
7
+ <%= link_to refinery_icon_tag("application_go.png"), '#', #admin_member_url(member),
8
+ :title => t('.view_live_html'),
9
+ :target => "_blank" %>
10
+ <%= link_to refinery_icon_tag("application_edit.png"), edit_admin_member_path(member),
11
+ :title => t('.edit') %>
12
+ <%= link_to refinery_icon_tag("delete.png"), admin_member_path(member),
13
+ :class => "cancel confirm-delete",
14
+ :title => t('.delete'),
15
+ :confirm => t('message', :scope => 'shared.admin.delete', :title => member.email),
16
+ :method => :delete %>
17
+ </span>
18
+ </li>
@@ -0,0 +1,2 @@
1
+ <%= will_paginate @members %>
2
+ <%= render :partial => "sortable_list" %>
@@ -0,0 +1,18 @@
1
+ <% if searching? %>
2
+ <h2><%= t('results_for', :scope => 'shared.admin.search', :query => params[:search]) %></h2>
3
+ <% end %>
4
+ <% if @members.any? %>
5
+ <div class='pagination_container'>
6
+ <%= render :partial => 'members' %>
7
+ </div>
8
+ <% else %>
9
+ <p>
10
+ <% unless searching? %>
11
+ <strong>
12
+ <%= t('.no_items_yet') %>
13
+ </strong>
14
+ <% else %>
15
+ <%= t('no_results', :scope => 'shared.admin.search') %>
16
+ <% end %>
17
+ </p>
18
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <ul id='sortable_list'>
2
+ <%= render :partial => 'member', :collection => @members %>
3
+ </ul>
4
+ <%= render :partial => "/shared/admin/sortable_list",
5
+ :locals => {
6
+ :continue_reordering => (local_assigns.keys.include?(:continue_reordering)) ? continue_reordering : true
7
+ } %>
@@ -0,0 +1 @@
1
+ <%= render :partial => "form" %>
@@ -0,0 +1,10 @@
1
+ <section id='records'>
2
+ <%= render :partial => 'records' %>
3
+ </section>
4
+ <aside id='actions'>
5
+ <%= render :partial => 'actions' %>
6
+ </aside>
7
+ <%= render :partial => '/shared/admin/make_sortable',
8
+ :locals => {
9
+ :tree => false
10
+ } if !searching? and Admin::MembersController.sortable? and Member.count > 1 %>
@@ -0,0 +1 @@
1
+ <%= render :partial => "form" %>
@@ -0,0 +1,89 @@
1
+ <div id='more_options_field'>
2
+ <p>
3
+ <%= link_to t('.advanced_options'), "#",
4
+ :id => 'toggle_advanced_options',
5
+ :title => t('.toggle_advanced_options') %>
6
+ </p>
7
+ <span id='draft_field'>
8
+ <%= f.check_box :draft %>
9
+ <%= f.label :draft, t('.save_as_draft'),
10
+ :class => "stripped" %>
11
+ </span>
12
+ </div>
13
+ <div id='more_options' style="display:none;">
14
+ <div class="hemisquare">
15
+ <h2><%= t('.page_options') %></h2>
16
+ <div class='field'>
17
+ <span class='label_with_help'>
18
+ <%= f.label :parent_id, t('.parent_page') %>
19
+ <%= refinery_help_tag t('.parent_page_help') %>
20
+ </span>
21
+ <%= f.select :parent_id, nested_set_options(Page, @page) {|i| "#{'-' * i.level} #{i.title}" },
22
+ :include_blank => true %>
23
+ </div>
24
+ <div class='field'>
25
+ <span class='label_with_help'>
26
+ <%= label_tag :custom_title, t('.custom_title') %>
27
+ <%= refinery_help_tag t('.custom_title_help') %>
28
+ </span>
29
+ <% %w(none text).each do |type| %>
30
+ <%= f.radio_button :custom_title_type, type %>
31
+ <%= label_tag "page_custom_title_type_#{type}", t(type.downcase.gsub(" ", "_"), :scope => 'admin.pages.form_advanced_options.title_types'),
32
+ :class => "stripped" %>
33
+ <% end %>
34
+ <div id='custom_title_none'></div>
35
+ <div id='custom_title_text' style='display: <%= @page.custom_title_type == 'text' ? 'block' : 'none' %>'>
36
+ <%= f.text_field :custom_title, :class => 'widest' %>
37
+ </div>
38
+ </div>
39
+ <div class='field'>
40
+ <span class='label_with_help'>
41
+ <%= f.label :skip_to_first_child?, t('.skip_to_first_child') %>
42
+ <%= refinery_help_tag t('.skip_to_first_child_help') %>
43
+ </span>
44
+ <%= f.check_box :skip_to_first_child %>
45
+ <%= f.label :skip_to_first_child, t('.skip_to_first_child_label'),
46
+ :class => "stripped" %>
47
+ </div>
48
+ <div class='field'>
49
+ <span class='label_with_help'>
50
+ <%= f.label :link_url, t('.link_url') %>
51
+ <%= refinery_help_tag t('.link_url_help') %>
52
+ </span>
53
+ <%= f.text_field :link_url, :style=> 'width:400px;' %>
54
+ <% content_for :javascripts do %>
55
+ <script>
56
+ $(document).ready(function(){
57
+ link_tester.init('<%= test_url_admin_pages_dialogs_url %>',
58
+ '<%= test_email_admin_pages_dialogs_url %>');
59
+
60
+ link_tester.validate_url_textbox("#page_link_url")
61
+ });
62
+ </script>
63
+ <% end %>
64
+ </div>
65
+ <div class='field'>
66
+ <span class='label_with_help'>
67
+ <%= f.label :show_in_menu, t('.show_in_menu_title'),
68
+ :id => 'page_show_in_menu_heading' %>
69
+ <%= refinery_help_tag t('.show_in_menu_help') %>
70
+ </span>
71
+ <%= f.check_box :show_in_menu %>
72
+ <%= f.label :show_in_menu, t('.show_in_menu_description'),
73
+ :class => "stripped" %>
74
+ </div>
75
+ <div class='field'>
76
+ <span class='label_with_help'>
77
+ <%= f.label :need_login, 'Need login',
78
+ :id => 'need_login' %>
79
+ <%= refinery_help_tag "Set the page if it's need to login first to view" %>
80
+ </span>
81
+ <%= f.check_box :need_login %>
82
+ <%= f.label :need_login, "Set the page if it's need to login first to view",
83
+ :class => "stripped" %>
84
+ </div>
85
+ </div>
86
+
87
+ <%= render :partial => "form_advanced_options_seo",
88
+ :locals => {:f => f} %>
89
+ </div>
@@ -0,0 +1,12 @@
1
+ <h2>Resend confirmation instructions</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <p><%= f.label :email %><br />
7
+ <%= f.text_field :email %></p>
8
+
9
+ <p><%= f.submit "Resend confirmation instructions" %></p>
10
+ <% end %>
11
+
12
+ <%= render :partial => "devise/shared/links" %>
@@ -0,0 +1,5 @@
1
+ <p>Welcome <%= @resource.email %>!</p>
2
+
3
+ <p>You can confirm your account through the link below:</p>
4
+
5
+ <p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
@@ -0,0 +1,8 @@
1
+ <p>Hello <%= @resource.email %>!</p>
2
+
3
+ <p>Someone has requested a link to change your password, and you can do this through the link below.</p>
4
+
5
+ <p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
6
+
7
+ <p>If you didn't request this, please ignore this email.</p>
8
+ <p>Your password won't change until you access the link above and create a new one.</p>
@@ -0,0 +1,7 @@
1
+ <p>Hello <%= @resource.email %>!</p>
2
+
3
+ <p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
4
+
5
+ <p>Click the link below to unlock your account:</p>
6
+
7
+ <p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
@@ -0,0 +1,16 @@
1
+ <h2>Change your password</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+ <%= f.hidden_field :reset_password_token %>
6
+
7
+ <p><%= f.label :password %><br />
8
+ <%= f.password_field :password %></p>
9
+
10
+ <p><%= f.label :password_confirmation %><br />
11
+ <%= f.password_field :password_confirmation %></p>
12
+
13
+ <p><%= f.submit "Change my password" %></p>
14
+ <% end %>
15
+
16
+ <%= render :partial => "devise/shared/links" %>
@@ -0,0 +1,12 @@
1
+ <h2>Forgot your password?</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <p><%= f.label :email %><br />
7
+ <%= f.text_field :email %></p>
8
+
9
+ <p><%= f.submit "Send me reset password instructions" %></p>
10
+ <% end %>
11
+
12
+ <%= render :partial => "devise/shared/links" %>
@@ -0,0 +1,20 @@
1
+ <h2>Edit <%= resource_name.to_s.humanize %></h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <p><%= f.label :email %><br />
7
+ <%= f.text_field :email %></p>
8
+
9
+ <p><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
10
+ <%= f.password_field :password %></p>
11
+
12
+ <p><%= f.label :password_confirmation %><br />
13
+ <%= f.password_field :password_confirmation %></p>
14
+
15
+ <p><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
16
+ <%= f.password_field :current_password %></p>
17
+
18
+ <p><%= f.submit "Update" %></p>
19
+ <% end %>
20
+
@@ -0,0 +1,17 @@
1
+ <h2>Sign in</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
4
+ <p><%= f.label :email %><br />
5
+ <%= f.text_field :email %></p>
6
+
7
+ <p><%= f.label :password %><br />
8
+ <%= f.password_field :password %></p>
9
+
10
+ <% if devise_mapping.rememberable? -%>
11
+ <p><%= f.check_box :remember_me %> <%= f.label :remember_me %></p>
12
+ <% end -%>
13
+
14
+ <p><%= f.submit "Sign in" %></p>
15
+ <% end %>
16
+
17
+ <%= render :partial => "devise/shared/links" %>
@@ -0,0 +1,19 @@
1
+ <%- if controller_name != 'sessions' %>
2
+ <%= link_to "Sign in", new_session_path(resource_name) %><br />
3
+ <% end -%>
4
+
5
+ <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
6
+ <%= link_to "Sign up", new_registration_path(resource_name) %><br />
7
+ <% end -%>
8
+
9
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
10
+ <%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
11
+ <% end -%>
12
+
13
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
14
+ <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
15
+ <% end -%>
16
+
17
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
18
+ <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
19
+ <% end -%>
@@ -0,0 +1,12 @@
1
+ <h2>Resend unlock instructions</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <p><%= f.label :email %><br />
7
+ <%= f.text_field :email %></p>
8
+
9
+ <p><%= f.submit "Resend unlock instructions" %></p>
10
+ <% end %>
11
+
12
+ <%= render :partial => "devise/shared/links" %>
@@ -0,0 +1,22 @@
1
+ <h2>Edit <%= resource_name.to_s.humanize %></h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <p><%= f.label :email %><br />
7
+ <%= f.text_field :email %></p>
8
+
9
+ <p><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
10
+ <%= f.password_field :password %></p>
11
+
12
+ <p><%= f.label :password_confirmation %><br />
13
+ <%= f.password_field :password_confirmation %></p>
14
+
15
+ <p><%= f.submit "Update" %></p>
16
+ <% end %>
17
+
18
+ <h3>Cancel my account</h3>
19
+
20
+ <p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p>
21
+
22
+ <%= link_to "Back", :back %>
@@ -0,0 +1,18 @@
1
+ <h2>Sign up</h2>
2
+
3
+ <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
4
+ <%= devise_error_messages! %>
5
+
6
+ <p><%= f.label :email %><br />
7
+ <%= f.text_field :email %></p>
8
+
9
+ <p><%= f.label :password %><br />
10
+ <%= f.password_field :password %></p>
11
+
12
+ <p><%= f.label :password_confirmation %><br />
13
+ <%= f.password_field :password_confirmation %></p>
14
+
15
+ <p><%= f.submit "Sign up" %></p>
16
+ <% end %>
17
+
18
+ <%= render :partial => "devise/shared/links" %>
@@ -0,0 +1,23 @@
1
+ <h1 id='logo'>
2
+ <%= link_to RefinerySetting.find_or_set(:site_name, "Company Name"), root_path %>
3
+ </h1>
4
+ <%= render :partial => "/shared/menu",
5
+ :locals => {
6
+ :dom_id => 'menu',
7
+ :css => 'menu'
8
+ } -%>
9
+
10
+ <% if member_signed_in? %>
11
+ <li>
12
+ <%= link_to('Logout', destroy_member_session_path) %>
13
+ </li>
14
+ <li>
15
+ <%= link_to('profile',edit_member_registration_path) %>
16
+ </li>
17
+ <% else %>
18
+ <li>
19
+ <%= link_to('Login', new_member_session_path) %>
20
+ </li>
21
+ <% end %>
22
+
23
+ <%= flash[:notice]%>
@@ -0,0 +1,26 @@
1
+ en:
2
+ shared:
3
+ admin:
4
+ image_picker:
5
+ image: image
6
+ plugins:
7
+ members:
8
+ title: Members
9
+ admin:
10
+ members:
11
+ actions:
12
+ create_new: Add New Member
13
+ reorder: Reorder Members
14
+ reorder_done: Done Reordering Members
15
+ records:
16
+ title: Members
17
+ sorry_no_results: Sorry! There are no results found.
18
+ no_items_yet: There are no Members yet. Click "Add New Member" to add your first member.
19
+ member:
20
+ view_live_html: View this member live <br/><em>(opens in a new window)</em>
21
+ edit: Edit this member
22
+ delete: Remove this member forever
23
+ members:
24
+ show:
25
+ need_login: This page require member login first and continue
26
+ other: Other Members
@@ -0,0 +1,25 @@
1
+ lolcat:
2
+ shared:
3
+ admin:
4
+ image_picker:
5
+ image: IMAGE
6
+ plugins:
7
+ members:
8
+ title: Members
9
+ admin:
10
+ members:
11
+ actions:
12
+ create_new: CREATE NEW Member
13
+ reorder: REORDR Members
14
+ reorder_done: DUN REORDERIN Members
15
+ records:
16
+ title: Members
17
+ sorry_no_results: SRY! THAR R NO RESULTS FINDZ.
18
+ no_items_yet: THAR R NO Members YET. CLICK "CREATE NEW Member" 2 ADD UR FURST member.
19
+ member:
20
+ view_live_html: VIEW DIS member LIV <BR/><EM>(OPENS IN NEW WINDOW)</EM>
21
+ edit: EDIT DIS member
22
+ delete: REMOOV DIS member FOREVR
23
+ members:
24
+ show:
25
+ other: OTHR Members
@@ -0,0 +1,21 @@
1
+ nb:
2
+ plugins:
3
+ members:
4
+ title: Members
5
+ admin:
6
+ members:
7
+ actions:
8
+ create_new: Lag en ny Member
9
+ reorder: Endre rekkefølgen på Members
10
+ reorder_done: Ferdig å endre rekkefølgen Members
11
+ records:
12
+ title: Members
13
+ sorry_no_results: Beklager! Vi fant ikke noen resultater.
14
+ no_items_yet: Det er ingen Members enda. Klikk på "Lag en ny Member" for å legge til din første member.
15
+ member:
16
+ view_live_html: Vis hvordan denne member ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
17
+ edit: Rediger denne member
18
+ delete: Fjern denne member permanent
19
+ members:
20
+ show:
21
+ other: Andre Members
@@ -0,0 +1,21 @@
1
+ nl:
2
+ plugins:
3
+ members:
4
+ title: Members
5
+ admin:
6
+ members:
7
+ actions:
8
+ create_new: Maak een nieuwe Member
9
+ reorder: Wijzig de volgorde van de Members
10
+ reorder_done: Klaar met het wijzingen van de volgorde van de Members
11
+ records:
12
+ title: Members
13
+ sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
14
+ no_items_yet: Er zijn nog geen Members. Druk op 'Maak een nieuwe Member' om de eerste aan te maken.
15
+ member:
16
+ view_live_html: Bekijk deze member op de website <br/><em>(opent een nieuw venster)</em>
17
+ edit: Bewerk deze member
18
+ delete: Verwijder deze member voor eeuwig
19
+ members:
20
+ show:
21
+ other: Andere Members
data/config/routes.rb ADDED
@@ -0,0 +1,11 @@
1
+ Refinery::Application.routes.draw do
2
+ devise_for :members, :controllers => { :registrations => "registrations" }
3
+
4
+ scope(:path => 'refinery', :as => 'admin', :module => 'admin') do
5
+ resources :members, :except => :show do
6
+ collection do
7
+ post :update_positions
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ class RefinerycmsMembers < Refinery::Generators::EngineInstaller
2
+
3
+ source_root File.expand_path('../../../', __FILE__)
4
+ engine_name "members"
5
+
6
+ end
@@ -0,0 +1,21 @@
1
+ require 'refinery'
2
+
3
+ module Refinery
4
+ module Members
5
+ class Engine < Rails::Engine
6
+ initializer "static assets" do |app|
7
+ app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public"
8
+ end
9
+
10
+ config.after_initialize do
11
+ Refinery::Plugin.register do |plugin|
12
+ plugin.name = "members"
13
+ plugin.activity = {
14
+ :class => Member,
15
+ :title => 'email'
16
+ }
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ namespace :refinery do
2
+
3
+ namespace :members do
4
+
5
+ # call this task my running: rake refinery:members:my_task
6
+ # desc "Description of my task below"
7
+ # task :my_task => :environment do
8
+ # # add your logic here
9
+ # end
10
+
11
+ end
12
+
13
+ end
metadata ADDED
@@ -0,0 +1,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: refinerycms-members-ci
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
11
+ platform: ruby
12
+ authors:
13
+ - Based on work of n5ken, modified by ovargas27
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-03-19 00:00:00 -06:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: Ruby on Rails Members engine for Refinery CMS
23
+ email:
24
+ executables: []
25
+
26
+ extensions: []
27
+
28
+ extra_rdoc_files: []
29
+
30
+ files:
31
+ - lib/generators/refinerycms_members_generator.rb
32
+ - lib/refinerycms-members.rb
33
+ - lib/tasks/members.rake
34
+ - config/locales/en.yml
35
+ - config/locales/lolcat.yml
36
+ - config/locales/nb.yml
37
+ - config/locales/nl.yml
38
+ - config/routes.rb
39
+ - app/controllers/admin/members_controller.rb
40
+ - app/controllers/members_controller.rb
41
+ - app/controllers/pages_controller.rb
42
+ - app/controllers/registrations_controller.rb
43
+ - app/models/member.rb
44
+ - app/views/admin/members/_actions.html.erb
45
+ - app/views/admin/members/_form.html.erb
46
+ - app/views/admin/members/_member.html.erb
47
+ - app/views/admin/members/_members.html.erb
48
+ - app/views/admin/members/_records.html.erb
49
+ - app/views/admin/members/_sortable_list.html.erb
50
+ - app/views/admin/members/edit.html.erb
51
+ - app/views/admin/members/index.html.erb
52
+ - app/views/admin/members/new.html.erb
53
+ - app/views/admin/pages/_form_advanced_options.html.erb
54
+ - app/views/devise/confirmations/new.html.erb
55
+ - app/views/devise/mailer/confirmation_instructions.html.erb
56
+ - app/views/devise/mailer/reset_password_instructions.html.erb
57
+ - app/views/devise/mailer/unlock_instructions.html.erb
58
+ - app/views/devise/passwords/edit.html.erb
59
+ - app/views/devise/passwords/new.html.erb
60
+ - app/views/devise/registrations/edit.html.erb
61
+ - app/views/devise/sessions/new.html.erb
62
+ - app/views/devise/shared/_links.erb
63
+ - app/views/devise/unlocks/new.html.erb
64
+ - app/views/registrations/edit.html.erb
65
+ - app/views/registrations/new.html.erb
66
+ - app/views/shared/_header.html.erb
67
+ has_rdoc: true
68
+ homepage: https://github.com/crowdint/refinerycms-member
69
+ licenses: []
70
+
71
+ post_install_message:
72
+ rdoc_options: []
73
+
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ hash: 3
82
+ segments:
83
+ - 0
84
+ version: "0"
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ requirements: []
95
+
96
+ rubyforge_project:
97
+ rubygems_version: 1.3.7
98
+ signing_key:
99
+ specification_version: 3
100
+ summary: Members engine for Refinery CMS
101
+ test_files: []
102
+