diff --git a/app/controllers/admin/authorizations_controller.rb b/app/controllers/admin/authorizations_controller.rb index 8d2438d..37a995d 100644 --- a/app/controllers/admin/authorizations_controller.rb +++ b/app/controllers/admin/authorizations_controller.rb @@ -18,11 +18,11 @@ class Admin::AuthorizationsController < OrbitAdminController end unless @objects.blank? @object ||= @objects.first - @authorizations = Authorization.category_sub_managers(@object) + @authorizations = Authorization.category_sub_managers(@object) rescue nil else @error = t(:no_data) end - else + else @authorizations = @module_app.module_managers rescue nil end elsif @module_apps diff --git a/app/controllers/admin/members_controller.rb b/app/controllers/admin/members_controller.rb index 1481159..06298cc 100644 --- a/app/controllers/admin/members_controller.rb +++ b/app/controllers/admin/members_controller.rb @@ -2,7 +2,7 @@ class Admin::MembersController < OrbitMemberController before_action :set_member_profile, only: [:show, :edit, :update] def index - @roles = Role.all + @roles = Role.where(disabled: false).asc("_id") page_num = params[:page] || 1 @filter = params[:filter] @@ -76,9 +76,11 @@ class Admin::MembersController < OrbitMemberController @member = MemberProfile.new get_info_and_roles @user = User.new + @form_index = 0 end def edit + @form_index = 0 if @member.user.present? @user = @member.user else diff --git a/app/controllers/admin/role_statuses_controller.rb b/app/controllers/admin/role_statuses_controller.rb index f62b950..8db168d 100644 --- a/app/controllers/admin/role_statuses_controller.rb +++ b/app/controllers/admin/role_statuses_controller.rb @@ -2,8 +2,8 @@ class Admin::RoleStatusesController < OrbitMemberController before_action :set_role_status, only: [:show, :edit , :update, :destroy] def index - @role = Role.find(params[:role_id]) - @role_statuses = RoleStatus.where(role_id: @role.id) + @role = Role.find(params[:role_id]) rescue nil + @role_statuses = RoleStatus.where(role_id: @role.id) if @role respond_to do |format| format.html # index.html.erb @@ -33,9 +33,18 @@ class Admin::RoleStatusesController < OrbitMemberController end def update + if @role_status.update_attributes(role_status_params) + redirect_to action: :index + else + flash.now[:error] = t('update.error.category') + render action: :edit + end end def toggle + @role_status.disable = @role_status.disable ? false : true + @role_status.save! + render action: :index end def destroy diff --git a/app/models/member_profile.rb b/app/models/member_profile.rb index bcaf514..c39b2c3 100644 --- a/app/models/member_profile.rb +++ b/app/models/member_profile.rb @@ -27,4 +27,14 @@ class MemberProfile "#{self.first_name} #{self.last_name}" end end + + def disable_role=(var) + var[:id].each do |id,val| + if (val=="true") + self.role_ids.reject!{|t| t.to_s == id} + elsif(val=="false") + self.role_ids += Array(id) + end + end + end end diff --git a/app/views/admin/members/_form.html.erb b/app/views/admin/members/_form.html.erb index e69de29..6f9a766 100644 --- a/app/views/admin/members/_form.html.erb +++ b/app/views/admin/members/_form.html.erb @@ -0,0 +1,3 @@ +
+ <%= render partial: "roles", collection: @roles %> +
diff --git a/app/views/admin/members/_role.html.erb b/app/views/admin/members/_role.html.erb new file mode 100644 index 0000000..8fd98c8 --- /dev/null +++ b/app/views/admin/members/_role.html.erb @@ -0,0 +1,22 @@ +<% role_disable = @member.roles.include?(role) ? false : true %> + +
+
+

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

+
+ +
+ + <% @form_index = @form_index +1 %> + +
+ <%= 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|%> + <% end %> +
+
+ +
+ +
\ No newline at end of file diff --git a/app/views/admin/members/_roles.html.erb b/app/views/admin/members/_roles.html.erb new file mode 100644 index 0000000..f06f8e5 --- /dev/null +++ b/app/views/admin/members/_roles.html.erb @@ -0,0 +1 @@ +<%= render partial: "role", collection: @roles %> diff --git a/app/views/admin/members/edit.html.erb b/app/views/admin/members/edit.html.erb index 54f27b4..d67a493 100644 --- a/app/views/admin/members/edit.html.erb +++ b/app/views/admin/members/edit.html.erb @@ -28,6 +28,7 @@ <%= render :partial => 'user_basic_passwd'%> <%= render :partial => 'member_basic', :locals => {:f => f}%> + <%= render :partial => 'form', :locals => { :f => f } %> diff --git a/app/views/admin/members/new.html.erb b/app/views/admin/members/new.html.erb index 0934040..8bbac39 100644 --- a/app/views/admin/members/new.html.erb +++ b/app/views/admin/members/new.html.erb @@ -26,6 +26,7 @@
<%= render :partial => 'user_basic_passwd'%> <%= render :partial => 'member_basic', :locals => {:f => f}%> + <%= render :partial => 'form', :locals => { :f => f } %>
diff --git a/app/views/admin/role_statuses/_edit.html.erb b/app/views/admin/role_statuses/_edit.html.erb new file mode 100644 index 0000000..defe395 --- /dev/null +++ b/app/views/admin/role_statuses/_edit.html.erb @@ -0,0 +1,10 @@ +<%= form_for @role_status, url: admin_role_status_path(id: @role_status.id), remote: true, :html => { :id => 'form_role_filter' } do |f| %> +
+ Edit + <%= render :partial => 'form', :locals => {:f => f} %> +
+
+ <%= t(:cancel) %> + <%= f.submit t(:update_), class: 'btn btn-primary btn-small' %> +
+<% end %> diff --git a/app/views/admin/role_statuses/_form.html.erb b/app/views/admin/role_statuses/_form.html.erb index d5c4789..3903f41 100644 --- a/app/views/admin/role_statuses/_form.html.erb +++ b/app/views/admin/role_statuses/_form.html.erb @@ -4,7 +4,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)})" %> - <%= f.text_field locale, :class => 'input-large', :value => (@role_filter.title_translations[locale] rescue ''), placeholder: t(:name) %> + <%= f.text_field locale, :class => 'input-large', :value => (@role_status.title_translations[locale] rescue ''), placeholder: t(:name) %> <% end %> <% end %> <%= f.hidden_field :role_id, :value => params[:role_id] if !params[:role_id].blank? %> \ No newline at end of file diff --git a/app/views/admin/role_statuses/_index.html.erb b/app/views/admin/role_statuses/_index.html.erb index c5523c9..7893d68 100644 --- a/app/views/admin/role_statuses/_index.html.erb +++ b/app/views/admin/role_statuses/_index.html.erb @@ -9,7 +9,7 @@ - <%= render :partial => 'role_status', :collection => @role_status %> + <%= render :partial => 'role_status', :collection => @role_statuses %> diff --git a/app/views/admin/role_statuses/_new.html.erb b/app/views/admin/role_statuses/_new.html.erb index 538424b..1b1f340 100644 --- a/app/views/admin/role_statuses/_new.html.erb +++ b/app/views/admin/role_statuses/_new.html.erb @@ -1,7 +1,7 @@ -<%= form_for @role_status, url: admin_role_status_path(id: @role_status.id), remote: true, :html => { :id => 'form_role_filter' } do |f| %> +<%= form_for @role_status, url: admin_role_statuses_path(id: @role_status.id), remote: true, :html => { :id => 'form_role_filter' } do |f| %>
Add - <%= render :partial => 'form', :locals => {:f => f} %> + <%= render partial: 'form', locals: {f: f} %>
<%= t(:cancel) %> diff --git a/app/views/admin/role_statuses/_role_status.html.erb b/app/views/admin/role_statuses/_role_status.html.erb index 89fb94b..09e0925 100644 --- a/app/views/admin/role_statuses/_role_status.html.erb +++ b/app/views/admin/role_statuses/_role_status.html.erb @@ -14,6 +14,6 @@ <% end %> - <%= check_box_tag 'accept', role_status.disable ? 'fasle' : 'true', false ,{ :class => 'toggle-check role_status_checked', :data=>{:deploy=>"right"}, :data=>{:path=> eval("admin_role_status_toggle_path(role_status)")}, :checked=> role_status.disable} %> + <%= check_box_tag 'accept', role_status.disable ? 'false' : 'true', false ,{ :class => 'toggle-check role_status_checked', :data=>{:deploy=>"right"}, :data=>{:path=> eval("admin_role_status_toggle_path(role_status)")}, :checked=> role_status.disable} %> \ No newline at end of file diff --git a/app/views/admin/role_statuses/create.js.erb b/app/views/admin/role_statuses/create.js.erb new file mode 100644 index 0000000..e6bf2e5 --- /dev/null +++ b/app/views/admin/role_statuses/create.js.erb @@ -0,0 +1,2 @@ +$('<%= j render :partial => 'role_status', :collection => [@role_statuses] %>').appendTo('#role_filters').hide().fadeIn(); +$("#form_role_filter")[0].reset(); \ No newline at end of file diff --git a/app/views/admin/role_statuses/edit.html.erb b/app/views/admin/role_statuses/edit.html.erb new file mode 100644 index 0000000..9e91e9e --- /dev/null +++ b/app/views/admin/role_statuses/edit.html.erb @@ -0,0 +1 @@ +<%= render 'edit' %> \ No newline at end of file diff --git a/app/views/admin/role_statuses/edit.js.erb b/app/views/admin/role_statuses/edit.js.erb new file mode 100644 index 0000000..eaff01f --- /dev/null +++ b/app/views/admin/role_statuses/edit.js.erb @@ -0,0 +1 @@ +$("#form > form").replaceWith("<%= j render "form" %>"); \ No newline at end of file diff --git a/app/views/admin/role_statuses/index.js.erb b/app/views/admin/role_statuses/index.js.erb new file mode 100644 index 0000000..dff4053 --- /dev/null +++ b/app/views/admin/role_statuses/index.js.erb @@ -0,0 +1,4 @@ +// $("#role_filters_index").html("<%= j render 'index' %>") +location.reload(); +$.pageslide.close(); +openSlide(); \ No newline at end of file diff --git a/app/views/admin/role_statuses/update.js.erb b/app/views/admin/role_statuses/update.js.erb new file mode 100644 index 0000000..1dad7a1 --- /dev/null +++ b/app/views/admin/role_statuses/update.js.erb @@ -0,0 +1,3 @@ +$("#<%= dom_id @role_status %>").replaceWith("<%= j render :partial => 'role_status', :collection => [@role_statuses] %>"); +$("#form_role_filter").replaceWith("<%= j render "form" %>") +$("#form_role_filter")[0].reset(); \ No newline at end of file