diff --git a/app/controllers/admin/members_controller.rb b/app/controllers/admin/members_controller.rb index e4c1770..597f02b 100644 --- a/app/controllers/admin/members_controller.rb +++ b/app/controllers/admin/members_controller.rb @@ -134,6 +134,28 @@ class Admin::MembersController < OrbitMemberController render action: "index" end + def unapproved_members + @member_query = params[:member_query] + page_num = params[:page] || 1 + if !@member_query.blank? + members = MemberProfile.all.any_of({:user_id => /#{@member_query}/i}, {:first_name => /#{@member_query}/i}, {:last_name => /#{@member_query}/i}, {:email => /#{@member_query}/i}).page(page_num).per(12) + @members = members.collect do |member| + if !member.user.approved + member.user + end + end + else + @members = User.unapproved.page(page_num).per(12) + end + end + + def accept_member + user = User.find(params[:member_id]) + user.approved = true + user.save + redirect_to admin_members_unapproved_members_path + end + def edit_passwd @member = MemberProfile.find(params[:member_id]) @user = @member.user diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index a469f81..ee4cef0 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -66,6 +66,8 @@ class UsersController < ApplicationController def role_page @roles = Role.where(:disabled => false) @user_id = params[:user_id] + @member_profile = User.find(@user_id).member_profile + end def role_update @@ -79,6 +81,12 @@ class UsersController < ApplicationController end end + def get_role_statuses + @role = Role.find(params[:roleId]) + @statuses = @role.role_statuses + render :layout => false + end + def check_availability response = {} case params[:type] diff --git a/app/models/user.rb b/app/models/user.rb index 34c4381..e22e6ee 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -13,6 +13,7 @@ class User has_many :user_actions, :dependent => :destroy index({ confirmation_token: 1}, { unique: true }) + scope :unapproved, ->{ where(approved: false) } has_secure_password diff --git a/app/views/admin/members/_index_paginator.html.erb b/app/views/admin/members/_index_paginator.html.erb index 9c9355d..67464b4 100644 --- a/app/views/admin/members/_index_paginator.html.erb +++ b/app/views/admin/members/_index_paginator.html.erb @@ -1,11 +1,13 @@
+ <% if params[:action] != "unapproved_members" %> <% if current_user.is_admin? %> <%= link_to t(:edit_order),new_admin_member_path ,:class => "btn btn-primary" %> <%= link_to(new_admin_member_path,:class=> "btn btn-primary") do %> <%= t(:add) %> <% end -%> <% end -%> + <% end %>
<% current_site.in_use_locales.each_with_index do |locale, i| %> - " href="#first_name_<%= locale %>" data-toggle="tab"><%= I18nVariable.from_locale(locale) %> + " href="#first_name_<%= locale %>" data-toggle="tab"><%= t(locale.to_s) %> <% end %>
@@ -78,7 +78,7 @@
<% current_site.in_use_locales.each_with_index do |locale, i| %> - " href="#last_name_<%= locale %>" data-toggle="tab"><%= I18nVariable.from_locale(locale) %> + " href="#last_name_<%= locale %>" data-toggle="tab"><%= t(locale) %> <% end %>
diff --git a/app/views/admin/members/_side_bar.html.erb b/app/views/admin/members/_side_bar.html.erb index 8c5237e..e3fda0e 100644 --- a/app/views/admin/members/_side_bar.html.erb +++ b/app/views/admin/members/_side_bar.html.erb @@ -29,7 +29,8 @@ <%= content_tag :li, link_to((content_tag(:span, t(:all_member))), admin_members_path), :class => active_for_action('members', 'index') %> <%= content_tag :li, link_to((content_tag(:span, t(:add_member))), new_admin_member_path), :class => active_for_action('members', 'new') if (current_user.is_admin? rescue nil) %> <%= content_tag :li, link_to((content_tag(:span, t(:member_role))),admin_roles_path ), :class => active_for_action('roles', 'index') if (current_user.is_admin? rescue nil) %> - <%= content_tag :li, link_to((content_tag(:span, t(:member_info))), admin_member_infos_path), :class => active_for_action('members', 'index') if (current_user.is_admin? rescue nil) %> + <%= content_tag :li, link_to((content_tag(:span, t(:member_info))), admin_member_infos_path), :class => active_for_action('member_infos', 'index') if (current_user.is_admin? rescue nil) %> + <%= content_tag :li, link_to((content_tag(:span, t(:unapproved_members) + " (" + User.unapproved.count.to_s + ")")), admin_members_unapproved_members_path), :class => active_for_action('members', 'unapproved_members') if (current_user.is_admin? rescue nil) %> <% end -%> \ No newline at end of file diff --git a/app/views/admin/members/unapproved_members.html.erb b/app/views/admin/members/unapproved_members.html.erb new file mode 100644 index 0000000..273de6c --- /dev/null +++ b/app/views/admin/members/unapproved_members.html.erb @@ -0,0 +1,28 @@ +<% content_for :side_bar do %> + <%= render :partial => 'admin/members/side_bar' %> +<% end %> +<% content_for :right_nav do %> + +
+
+ <%= text_field_tag 'member_query',( params[:member_query] ? params[:member_query] : '' ), {:id=>'filter-input', :class => "search-query input-medium", :placeholder => 'Search'} %> +
+
+<% end %> +
+ + + + + + + + + + + <%= render :partial => "unapproved_members_list",:collection=> @members%> + +
<%= t('roles') %><%= t('name') %><%= t('email') %>
+
+ +<%= render :partial=> "index_paginator" if @member_query.blank? %> \ No newline at end of file diff --git a/app/views/admin/role_statuses/_form.html.erb b/app/views/admin/role_statuses/_form.html.erb index 3903f41..0f59e49 100644 --- a/app/views/admin/role_statuses/_form.html.erb +++ b/app/views/admin/role_statuses/_form.html.erb @@ -3,7 +3,7 @@ <%= f.fields_for :title_translations do |f| %> <% @site_in_use_locales.each do |locale| %> - <%= label_tag "name-#{locale}", "#{t(:name)} (#{I18nVariable.from_locale(locale)})" %> + <%= label_tag "name-#{locale}", "#{t(:name)} (#{t(locale.to_s)})" %> <%= f.text_field locale, :class => 'input-large', :value => (@role_status.title_translations[locale] rescue ''), placeholder: t(:name) %> <% end %> <% end %> diff --git a/app/views/admin/role_statuses/_index.html.erb b/app/views/admin/role_statuses/_index.html.erb index 7893d68..9ef07b8 100644 --- a/app/views/admin/role_statuses/_index.html.erb +++ b/app/views/admin/role_statuses/_index.html.erb @@ -3,7 +3,7 @@ Key <% @site_in_use_locales.each do |locale| %> - <%= I18nVariable.from_locale(locale) %> + <%= t(locale.to_s) %> <% end %> diff --git a/app/views/admin/roles/_form.html.erb b/app/views/admin/roles/_form.html.erb index a99efb5..bc74990 100644 --- a/app/views/admin/roles/_form.html.erb +++ b/app/views/admin/roles/_form.html.erb @@ -3,7 +3,7 @@ <%= f.fields_for :title_translations do |f| %> <% current_site.in_use_locales.each do |locale| %> - <%= label_tag "name-#{locale}", "#{t(:name)} (#{I18nVariable.from_locale(locale)})" %> + <%= label_tag "name-#{locale}", "#{t(:name)} (#{t(locale.to_s)})" %> <%= f.text_field locale, :class => 'input-large', :value => (@role.title_translations[locale] rescue ''), placeholder: t(:name) %> <% end %> <% end %> diff --git a/app/views/users/get_role_statuses.html.erb b/app/views/users/get_role_statuses.html.erb new file mode 100644 index 0000000..2ef7ff0 --- /dev/null +++ b/app/views/users/get_role_statuses.html.erb @@ -0,0 +1,11 @@ +
+ +
+ <% @statuses.each do |status| %> + + + <% end %> +
+
\ No newline at end of file diff --git a/app/views/users/role_page.html.erb b/app/views/users/role_page.html.erb index 4568077..764bd0e 100644 --- a/app/views/users/role_page.html.erb +++ b/app/views/users/role_page.html.erb @@ -4,23 +4,44 @@
-
+ <%= form_for @member_profile, :url => users_role_update_path, :html => { :multipart => true , :class=>"form-horizontal main-forms"} do |f| %>
<% @roles.each do |role| %> - + <% end %> +
+
+

-
+ <% end %>
- \ No newline at end of file + + \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index 9c1d342..1ae007a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -320,6 +320,7 @@ en: member_: Member member_authorization: Authorizations member_info: Member Attributes + unapproved_members: Unapproved Members member_registration: Registration Approval member_role: Member Roles menu_enabled_for: Menu enabled for @@ -625,6 +626,7 @@ en: avatar: Profile Picture change_passwd: Password setting_privilege: Privilege + accept_member: Approve Member email: Email first_name: First Name last_name: Last Name diff --git a/config/routes.rb b/config/routes.rb index b84ed41..05e1027 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -44,7 +44,8 @@ Orbit::Application.routes.draw do get 'users/role_page' => "users#role_page" get 'users/check_availability' => "users#check_availability" get 'users/confirmation' => "users#confirmation" - post 'users/role_update' => "users#role_update" + get 'users/get_role_statuses' => "users#get_role_statuses" + patch 'users/role_update' => "users#role_update" patch 'users/basic_info_update' => "users#basic_info_update" resources :users do @@ -80,10 +81,14 @@ Orbit::Application.routes.draw do get 'get_month_traffic' end end + get "members/unapproved_members" => "members#unapproved_members" + resources :members do match "edit_passwd" => "members#edit_passwd" ,:as => :edit_passwd, via: [:get, :post] + match "accept_member" => "members#accept_member" ,:as => :accept_member, via: [:get, :post] match "edit_privilege" => "members#edit_privilege" ,:as => :edit_privilege, via: [:get, :post] end + resources :roles do get 'role_field' post 'toggle'