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 %>
+
+
+
+
+
+
+ <% @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| %>
+
+
+<% 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| %>