diff --git a/app/controllers/admin/authorizations_controller.rb b/app/controllers/admin/authorizations_controller.rb index 37a995d..0eb56d2 100644 --- a/app/controllers/admin/authorizations_controller.rb +++ b/app/controllers/admin/authorizations_controller.rb @@ -23,7 +23,7 @@ class Admin::AuthorizationsController < OrbitAdminController @error = t(:no_data) end else - @authorizations = @module_app.module_managers rescue nil + @authorizations = @module_app.module_managers rescue [] end elsif @module_apps @module_app = @module_apps.first diff --git a/app/controllers/admin/members_controller.rb b/app/controllers/admin/members_controller.rb index 06298cc..4162f67 100644 --- a/app/controllers/admin/members_controller.rb +++ b/app/controllers/admin/members_controller.rb @@ -81,6 +81,7 @@ class Admin::MembersController < OrbitMemberController def edit @form_index = 0 + get_info_and_roles if @member.user.present? @user = @member.user else @@ -102,6 +103,7 @@ class Admin::MembersController < OrbitMemberController end def update + Rails.logger.info"@@@@@@@@@@@"+member_profile_params.inspect respond_to do |format| if @member.update(member_profile_params) if @member.user.present? @@ -133,6 +135,23 @@ class Admin::MembersController < OrbitMemberController render action: "index" end + def edit_passwd + @member = MemberProfile.find(params[:member_id]) + @user = @member.user + if current_user.id == @user.id + redirect_to :action => :index + end + end + + def edit_privilege + @member = MemberProfile.find(params[:member_id]) + @user = @member.user + @workgroup = Workgroup.find_by(key: 'admin') + if current_user.id == @user.id + redirect_to :action => :index + end + end + private # Use callbacks to share common setup or constraints between actions. diff --git a/app/models/member_profile.rb b/app/models/member_profile.rb index c39b2c3..66f7924 100644 --- a/app/models/member_profile.rb +++ b/app/models/member_profile.rb @@ -18,6 +18,7 @@ class MemberProfile has_one :user has_and_belongs_to_many :roles + has_and_belongs_to_many :role_statuses mount_uploader :avatar, AvatarUploader paginates_per 10 diff --git a/app/views/admin/members/_member_for_listing.html.erb b/app/views/admin/members/_member_for_listing.html.erb index 2435608..a83c548 100644 --- a/app/views/admin/members/_member_for_listing.html.erb +++ b/app/views/admin/members/_member_for_listing.html.erb @@ -22,7 +22,7 @@
diff --git a/app/views/admin/members/_role.html.erb b/app/views/admin/members/_role.html.erb index 8fd98c8..41d5d63 100644 --- a/app/views/admin/members/_role.html.erb +++ b/app/views/admin/members/_role.html.erb @@ -1,7 +1,7 @@ <% role_disable = @member.roles.include?(role) ? false : true %> -
+ <%= hidden_field_tag("member_profile[disable_role][id][#{role.id}]",role_disable,:for=>@form_index,"data-deploy"=>"right",:class=>"toggle-check",:value=>role_disable)%>

<%= role.title %><%= t(:role_info)%>

@@ -12,11 +12,18 @@
<%= label_tag t(:status), nil, {:func=>"field_label", :for=>"1", :class=>"control-label muted"} %>
- <% role.role_statuses.where(disable: false).each_with_index do |rrs, i|%> + <% role.role_statuses.where(disable: false).each_with_index do |rrs, i| %> + <% end %> +
-
+ + + + + - \ No newline at end of file diff --git a/app/views/admin/members/_show_roles.html.erb b/app/views/admin/members/_show_roles.html.erb new file mode 100644 index 0000000..4d52b5e --- /dev/null +++ b/app/views/admin/members/_show_roles.html.erb @@ -0,0 +1,8 @@ + +
+

<%= show_roles.title %><%= t(:role_info)%>

+
+
<%= t('status') %>
+
<%= show_attribute_value(@user.role_statuses.where(:role_id=>show_roles.id).map{|t|t.title.to_s}.join(',')) rescue '' %>
+
+
diff --git a/app/views/admin/members/_user_basic_privilege.html.erb b/app/views/admin/members/_user_basic_privilege.html.erb new file mode 100644 index 0000000..d7f0899 --- /dev/null +++ b/app/views/admin/members/_user_basic_privilege.html.erb @@ -0,0 +1,29 @@ +
+
+

<%=t("users.setting_privilege")%>

+
+
+ + +
+ +
+ <%= @member.name %> +
+
+ <%= form_for @user, :html => { :class=>"form-horizontal main-forms", :id=>"user-forms"} do |m| %> + +
+ +
+ +
+
+ <% end %> +
+
\ No newline at end of file diff --git a/app/views/admin/members/_user_profile.html.erb b/app/views/admin/members/_user_profile.html.erb new file mode 100644 index 0000000..91657c5 --- /dev/null +++ b/app/views/admin/members/_user_profile.html.erb @@ -0,0 +1,20 @@ +
+

<%= t(i18n)%>

+
+
<%= t('users.first_name')%>
+
<%= @member.first_name %>
+
<%= t('users.last_name')%>
+
<%= @member.last_name %>
+
<%= t('users.email')%>
+
<%= @member.email %>
+ <% if !@member.sid.blank? %> +
<%= t('users.sid')%>
+
<%= @member.sid %>
+
<%= t('users.office_tel')%>
+
<%= @member.office_tel %>
+ <% end %> +
<%= t('users.sex')%>
+
<%= t("users.#{@member.sex}") %>
+ +
+
\ No newline at end of file diff --git a/app/views/admin/members/edit.html.erb b/app/views/admin/members/edit.html.erb index d67a493..afa2305 100644 --- a/app/views/admin/members/edit.html.erb +++ b/app/views/admin/members/edit.html.erb @@ -26,9 +26,9 @@
- <%= render :partial => 'user_basic_passwd'%> - <%= render :partial => 'member_basic', :locals => {:f => f}%> - <%= render :partial => 'form', :locals => { :f => f } %> + <%= render partial: 'user_basic_passwd'%> + <%= render partial: 'member_basic', locals: {f: f}%> + <%= render partial: 'roles', locals: {f: f} %>
diff --git a/app/views/admin/members/edit_passwd.html.erb b/app/views/admin/members/edit_passwd.html.erb new file mode 100644 index 0000000..5fcdadd --- /dev/null +++ b/app/views/admin/members/edit_passwd.html.erb @@ -0,0 +1,36 @@ +<% content_for :side_bar do %> + <%= render :partial => 'admin/members/side_bar' %> +<% end %> + +<% content_for :page_specific_css do -%> + <%= stylesheet_link_tag "lib/wrap-nav.css" %> + <%= stylesheet_link_tag "lib/pageslide.css" %> + <%= stylesheet_link_tag "lib/main-forms.css" %> + <%= stylesheet_link_tag "lib/fileupload.css" %> + <%= stylesheet_link_tag "lib/togglebox.css" %> +<% end -%> +<% content_for :page_specific_javascript do -%> + <%= javascript_include_tag "lib/jquery.tmpl.min.js" %> + <%= javascript_include_tag "lib/bootstrap-fileupload.js" %> + <%= javascript_include_tag "lib/member/role-forms.js" %> + <%= javascript_include_tag "lib/member/textarea-lang-btn.js" %> +<% end -%> + + +<%= form_for @member, :url => admin_member_path(@member), :html => { :multipart => true , :class=>"form-horizontal main-forms", :id=>"user-forms"} do |f| %> + +
+
+ <%= render :partial => 'user_basic_passwd', :locals => {:f => f}%> +
+ + +
+ <%= link_back('btn') %> + <%= hidden_field_tag 'edit_type', 'edit_passwd' %> + <%= link_to t(:update_), "#", :class=>"btn btn-primary returnDecide", :onclick=>"$('#edit_user_#{@user.id}').submit()" %> +
+ +
+ +<% end -%> diff --git a/app/views/admin/members/edit_privilege.html.erb b/app/views/admin/members/edit_privilege.html.erb new file mode 100644 index 0000000..d45df46 --- /dev/null +++ b/app/views/admin/members/edit_privilege.html.erb @@ -0,0 +1,36 @@ +<% content_for :side_bar do %> + <%= render :partial => 'admin/members/side_bar' %> +<% end %> + +<% content_for :page_specific_css do -%> + <%= stylesheet_link_tag "lib/wrap-nav.css" %> + <%= stylesheet_link_tag "lib/pageslide.css" %> + <%= stylesheet_link_tag "lib/main-forms.css" %> + <%= stylesheet_link_tag "lib/fileupload.css" %> + <%= stylesheet_link_tag "lib/togglebox.css" %> +<% end -%> +<% content_for :page_specific_javascript do -%> + <%= javascript_include_tag "lib/jquery.tmpl.min.js" %> + <%= javascript_include_tag "lib/bootstrap-fileupload.js" %> + <%= javascript_include_tag "lib/member/role-forms.js" %> + <%= javascript_include_tag "lib/member/textarea-lang-btn.js" %> +<% end -%> + + +<%= form_for @member, :url => admin_member_path(@member), :html => { :multipart => true , :class=>"form-horizontal main-forms", :id=>"user-forms"} do |f| %> + +
+
+ <%= render :partial => 'user_basic_privilege', :locals => {:f => f}%> +
+ + +
+ <%= link_back('btn') %> + <%= hidden_field_tag 'edit_type', 'edit_privilege' %> + <%= link_to t(:update_), "#", :class=>"btn btn-primary returnDecide", :onclick=>"$('#edit_user_#{@user.id}').submit()" %> +
+ +
+ +<% end -%> diff --git a/app/views/admin/members/new.html.erb b/app/views/admin/members/new.html.erb index 8bbac39..00a186f 100644 --- a/app/views/admin/members/new.html.erb +++ b/app/views/admin/members/new.html.erb @@ -24,9 +24,9 @@
- <%= render :partial => 'user_basic_passwd'%> - <%= render :partial => 'member_basic', :locals => {:f => f}%> - <%= render :partial => 'form', :locals => { :f => f } %> + <%= render partial: 'user_basic_passwd'%> + <%= render partial: 'member_basic', locals: {f: f}%> + <%= render partial: 'roles', locals: { f: f } %>
diff --git a/app/views/admin/members/show.html.erb b/app/views/admin/members/show.html.erb index 56ce349..e79b7ce 100644 --- a/app/views/admin/members/show.html.erb +++ b/app/views/admin/members/show.html.erb @@ -17,18 +17,18 @@

<%= @member.name%>

- <%= @member.user.email %> + <%= @member.email %>
<%= link_to(" #{t(:edit)}".html_safe,edit_admin_member_path(@member.id),:class=>"btn btn-mini" ) if current_user.is_admin?%> - <%= link_to(" #{t("users.change_passwd")}".html_safe,:class=>"btn btn-mini" ) if current_user.is_admin? and current_user.id != @member.user.id %> - <%= link_to(" #{t("users.setting_privilege")}".html_safe,:class=>"btn btn-mini" ) if current_user.is_admin? and current_user.id != @member.user.id %> + <%= link_to(" #{t("users.change_passwd")}".html_safe,admin_member_edit_passwd_path(@member),:class=>"btn btn-mini" ) if current_user.is_admin? and current_user.id != @member.user.id %> + <%= link_to(" #{t("users.setting_privilege")}".html_safe,admin_member_edit_privilege_path(@member),:class=>"btn btn-mini" ) if current_user.is_admin? and current_user.id != @member.user.id %>
- - + <%= render :partial=> "user_profile",:locals=>{:role_class=>"basic",:i18n=>"profile"} %> + <%= render :partial=> "show_roles",collection: @member.roles %>
diff --git a/config/routes.rb b/config/routes.rb index 606d195..96d7a38 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -80,7 +80,10 @@ Orbit::Application.routes.draw do get 'get_month_traffic' end end - resources :members + resources :members do + match "edit_passwd" => "members#edit_passwd" ,:as => :edit_passwd, via: [:get, :post] + match "edit_privilege" => "members#edit_privilege" ,:as => :edit_privilege, via: [:get, :post] + end resources :roles do get 'role_field' post 'toggle'