forked from saurabh/orbit4-5
some category disable improvements
This commit is contained in:
parent
aac6b97d2d
commit
4b86270725
|
@ -58,10 +58,20 @@ $(document).ready(function() {
|
||||||
$("#remove_users").removeClass("hide");
|
$("#remove_users").removeClass("hide");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var is_category_disabled = function(id){
|
||||||
|
var obj = app_categories.filter(function(c){return c.id == id})[0];
|
||||||
|
return obj.disable;
|
||||||
|
}
|
||||||
|
|
||||||
$("select[name=anything]").on("change",function(){
|
$("select[name=anything]").on("change",function(){
|
||||||
|
$(".select_user_modal").removeClass("hide");
|
||||||
|
$("#disabled_message_span").addClass("hide");
|
||||||
var value_to_filter = $(this).val();
|
var value_to_filter = $(this).val();
|
||||||
if(value_to_filter != ""){
|
if(value_to_filter != ""){
|
||||||
|
if(is_category_disabled(value_to_filter)){
|
||||||
|
$(".select_user_modal").addClass("hide");
|
||||||
|
$("#disabled_message_span").removeClass("hide");
|
||||||
|
}
|
||||||
lis.each(function(){
|
lis.each(function(){
|
||||||
var categories = $(this).data("categories");
|
var categories = $(this).data("categories");
|
||||||
if(categories.indexOf(value_to_filter) == -1){
|
if(categories.indexOf(value_to_filter) == -1){
|
||||||
|
|
|
@ -4,6 +4,7 @@ class OrbitAdminController < ApplicationController
|
||||||
include OrbitBackendHelper
|
include OrbitBackendHelper
|
||||||
|
|
||||||
before_action :authenticate_user, :log_user_action, :load_authorized_categories
|
before_action :authenticate_user, :log_user_action, :load_authorized_categories
|
||||||
|
before_action :check_for_nil_categories, :only => [:new, :edit]
|
||||||
layout "back_end"
|
layout "back_end"
|
||||||
|
|
||||||
def sort
|
def sort
|
||||||
|
@ -81,4 +82,11 @@ class OrbitAdminController < ApplicationController
|
||||||
@current_user_is_sub_manager = current_user.is_sub_manager?(@module_app) rescue false
|
@current_user_is_sub_manager = current_user.is_sub_manager?(@module_app) rescue false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_for_nil_categories
|
||||||
|
@user_authorized_categories = @module_app.categories.enabled.authorized(current_user)
|
||||||
|
if @current_user_is_sub_manager && @user_authorized_categories.blank?
|
||||||
|
render_403
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,7 +41,7 @@ class PagePartsController < ApplicationController
|
||||||
|
|
||||||
app = ModuleApp.find_by_key(module_name) rescue nil
|
app = ModuleApp.find_by_key(module_name) rescue nil
|
||||||
app = OrbitWidget.find_by_key(module_name) if app.nil?
|
app = OrbitWidget.find_by_key(module_name) if app.nil?
|
||||||
@categories = app.categories rescue []
|
@categories = app.categories.enabled rescue []
|
||||||
@tags = app.tags rescue []
|
@tags = app.tags rescue []
|
||||||
@widget_methods = app.widget_methods
|
@widget_methods = app.widget_methods
|
||||||
@widget_settings = app.widget_settings
|
@widget_settings = app.widget_settings
|
||||||
|
@ -100,7 +100,7 @@ class PagePartsController < ApplicationController
|
||||||
module_name = module_name.downcase.singularize
|
module_name = module_name.downcase.singularize
|
||||||
app = ModuleApp.find_by_key(module_name) rescue nil
|
app = ModuleApp.find_by_key(module_name) rescue nil
|
||||||
app = OrbitWidget.find_by_key(module_name) if app.nil?
|
app = OrbitWidget.find_by_key(module_name) if app.nil?
|
||||||
@categories = app.categories rescue []
|
@categories = app.categories.enabled rescue []
|
||||||
@tags = app.tags rescue []
|
@tags = app.tags rescue []
|
||||||
@widget_methods = app.widget_methods
|
@widget_methods = app.widget_methods
|
||||||
@widget_settings = app.widget_settings
|
@widget_settings = app.widget_settings
|
||||||
|
|
|
@ -75,11 +75,17 @@ class PagesController < ApplicationController
|
||||||
end
|
end
|
||||||
params[:url] = page.url
|
params[:url] = page.url
|
||||||
|
|
||||||
|
categories = page.categories.collect do |c|
|
||||||
|
if !c.disable
|
||||||
|
return c
|
||||||
|
end
|
||||||
|
end
|
||||||
|
categories = ["all"] if categories.blank?
|
||||||
@manifest = @key
|
@manifest = @key
|
||||||
OrbitHelper.set_params params,current_user
|
OrbitHelper.set_params params,current_user
|
||||||
OrbitHelper.set_site_locale locale
|
OrbitHelper.set_site_locale locale
|
||||||
OrbitHelper.set_this_module_app module_app.singularize
|
OrbitHelper.set_this_module_app module_app.singularize
|
||||||
OrbitHelper.set_page_categories page.categories || []
|
OrbitHelper.set_page_categories categories || ["all"]
|
||||||
OrbitHelper.set_page_tags page.tags || []
|
OrbitHelper.set_page_tags page.tags || []
|
||||||
OrbitHelper.set_page_role_status page.role_status || []
|
OrbitHelper.set_page_role_status page.role_status || []
|
||||||
OrbitHelper.set_member_sort_position page.member_sort_position
|
OrbitHelper.set_member_sort_position page.member_sort_position
|
||||||
|
@ -164,7 +170,7 @@ class PagesController < ApplicationController
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if !module_app.key.eql?("page_content")
|
if !module_app.key.eql?("page_content")
|
||||||
categories = module_app.categories.collect do |cat|
|
categories = module_app.categories.enabled.collect do |cat|
|
||||||
{
|
{
|
||||||
"title" => cat.title,
|
"title" => cat.title,
|
||||||
"id" => cat.id.to_s
|
"id" => cat.id.to_s
|
||||||
|
@ -203,7 +209,7 @@ class PagesController < ApplicationController
|
||||||
@pages = Page.where(:page_id.ne => "" , :page_id.exists => true)
|
@pages = Page.where(:page_id.ne => "" , :page_id.exists => true)
|
||||||
@modules = ModuleApp.all.frontend_enabled
|
@modules = ModuleApp.all.frontend_enabled
|
||||||
@module_app = ModuleApp.find_by_key(@page.module) rescue nil
|
@module_app = ModuleApp.find_by_key(@page.module) rescue nil
|
||||||
@categories = @module_app.categories rescue []
|
@categories = @module_app.categories.enabled rescue []
|
||||||
if @module_app.key.eql?("page_content")
|
if @module_app.key.eql?("page_content")
|
||||||
@categories = []
|
@categories = []
|
||||||
end
|
end
|
||||||
|
|
|
@ -87,7 +87,8 @@ module OrbitBackendHelper
|
||||||
|
|
||||||
|
|
||||||
def select_category(f, module_app)
|
def select_category(f, module_app)
|
||||||
render :partial => '/admin/categories/select_form', :locals => {:f=> f, :module_app=>module_app, :categories=>module_app.categories.enabled.authorized(current_user) }
|
@user_authorized_categories = module_app.categories.enabled.authorized(current_user) if @user_authorized_categories.nil?
|
||||||
|
render :partial => '/admin/categories/select_form', :locals => {:f=> f, :module_app=>module_app, :categories=> @user_authorized_categories }
|
||||||
end
|
end
|
||||||
|
|
||||||
def select_tags(f, module_app)
|
def select_tags(f, module_app)
|
||||||
|
@ -193,6 +194,10 @@ module OrbitBackendHelper
|
||||||
render "public/401"
|
render "public/401"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def render_403
|
||||||
|
render "public/403"
|
||||||
|
end
|
||||||
|
|
||||||
def need_access_right
|
def need_access_right
|
||||||
render_401 if !has_access?
|
render_401 if !has_access?
|
||||||
end
|
end
|
||||||
|
|
|
@ -51,6 +51,7 @@
|
||||||
<label>Categories :
|
<label>Categories :
|
||||||
<%= select_tag "anything", options_from_collection_for_select(@objects, "id", "title"), :prompt => "Select Category" if !@objects.nil? %>
|
<%= select_tag "anything", options_from_collection_for_select(@objects, "id", "title"), :prompt => "Select Category" if !@objects.nil? %>
|
||||||
</label>
|
</label>
|
||||||
|
<span id="disabled_message_span" class="alert alert-error pull-right hide">This category is disabled.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul id="card-list-submanagers" class="checkbox-card clearfix">
|
<ul id="card-list-submanagers" class="checkbox-card clearfix">
|
||||||
|
@ -87,6 +88,7 @@
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var lis = $("ul#card-list-submanagers li");
|
var lis = $("ul#card-list-submanagers li");
|
||||||
|
var app_categories = <%= @objects.collect{|c| {"id" => c.id.to_s, "disable" => c.disable}}.to_json.html_safe %>;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 40px 0 0 0;
|
||||||
|
background-color: #F3F3F3;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<!-- Error Pages Start Here -->
|
||||||
|
<div id="error-page">
|
||||||
|
<div class="card">
|
||||||
|
<div class="figure code-401"></div>
|
||||||
|
<div class="message">
|
||||||
|
<h2>Categories not present.</h2>
|
||||||
|
<p>You dont have any categories assigned or your assigned categories are disabled. Contact manager or admin.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Error Pages End Here -->
|
Loading…
Reference in New Issue