Appauth new interface for setting managers. Fix showing sidebar for News and Announcement when setting managers at module app page.
This commit is contained in:
parent
a43877323e
commit
b6aad17681
Binary file not shown.
|
@ -1,34 +0,0 @@
|
||||||
// JavaScript Document
|
|
||||||
|
|
||||||
// can copy code to any of ur desired javascsript
|
|
||||||
|
|
||||||
//extended jquery to search fast.
|
|
||||||
$.extend($.expr[':'], {
|
|
||||||
'containsi': function (elem, i, match, array) {
|
|
||||||
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var interval,sval;
|
|
||||||
$(document).ready(function(){
|
|
||||||
$("#user_filter").keyup(function(){
|
|
||||||
sval = $(this).val();
|
|
||||||
$(".checkbox").popover("hide");
|
|
||||||
$("div.checkblock").hide();
|
|
||||||
clearInterval(interval);
|
|
||||||
interval = setInterval(waitForSearch,1000);
|
|
||||||
})
|
|
||||||
})
|
|
||||||
var waitForSearch = function(){
|
|
||||||
if(sval){
|
|
||||||
var totalfoundbyname = $("div#users_checkbox_ary label.member-name:containsi("+sval+")").length
|
|
||||||
if(totalfoundbyname!=0){
|
|
||||||
$("div#users_checkbox_ary label.member-name:containsi("+sval+")").parent().parent().show();
|
|
||||||
}else if(totalfoundbyname==0){
|
|
||||||
$("div#users_checkbox_ary div.for_unit:containsi("+sval+")").parent().show();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$(".checkbox").popover('hide');
|
|
||||||
$("div.checkblock").show();
|
|
||||||
}
|
|
||||||
clearInterval(interval);
|
|
||||||
}
|
|
|
@ -17,6 +17,10 @@ class Admin::ModuleAppsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def module_auth_proc
|
||||||
|
@module_app = ModuleApp.find(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@module_app = ModuleApp.find(params[:id])
|
@module_app = ModuleApp.find(params[:id])
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
class Admin::NewInterfaceModuleAppsController < ApplicationController
|
||||||
|
before_filter :authenticate_user!
|
||||||
|
before_filter :is_admin?
|
||||||
|
include AdminHelper
|
||||||
|
|
||||||
|
layout "new_admin"
|
||||||
|
|
||||||
|
def setting
|
||||||
|
@sys_users = User.all
|
||||||
|
@module_app = ModuleApp.find(params[:module_app_id])
|
||||||
|
@options_from_collection_for_select_bulletin_categorys = [@module_app].collect{|ma| [ma.title,ma.id] }
|
||||||
|
# if params.has_key? :category
|
||||||
|
# @bulletin_category = BulletinCategory.find params[:category][:id]
|
||||||
|
# else
|
||||||
|
# @bulletin_category = @bulletin_categorys.first
|
||||||
|
# end
|
||||||
|
@users_array = @module_app.managing_users rescue []
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_setting
|
||||||
|
module_app = update_setting_by_params
|
||||||
|
if module_app.save!
|
||||||
|
flash[:notice] = "Update Done"
|
||||||
|
else
|
||||||
|
flash[:notice] = "Update Failed"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def user_list
|
||||||
|
@module_app = ModuleApp.find params[:module_app][:id]
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
def update_setting_by_params
|
||||||
|
ma = ModuleApp.find params[:module_app][:id]
|
||||||
|
user_sat = User.find params[:users].keys
|
||||||
|
users_to_new = user_sat - ma.managing_users
|
||||||
|
users_to_remove = ma.managing_users - user_sat
|
||||||
|
|
||||||
|
users_to_new.each do |new_user|
|
||||||
|
ma.assign_manager(new_user,current_user)
|
||||||
|
end
|
||||||
|
|
||||||
|
users_to_remove.each do |remove_user|
|
||||||
|
ma.remove_manager(remove_user)
|
||||||
|
end
|
||||||
|
ma
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_categorys(id = nil)
|
||||||
|
@bulletin_categorys = []
|
||||||
|
if(is_manager? || is_admin?)
|
||||||
|
@bulletin_categorys = (id ? BulletinCategory.find(id).to_a : BulletinCategory.excludes('disabled' => true))
|
||||||
|
elsif is_sub_manager?
|
||||||
|
@bulletin_categorys = BulletinCategory.authed_for_user(current_user,'submit_new')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end
|
|
@ -68,9 +68,9 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def active_sys_call_for_app(controller_name,action_name,app_title)
|
def active_sys_call_for_app(controller_name,action_name,app_title,field = :id)
|
||||||
unless active_for_action(controller_name,action_name).nil?
|
unless active_for_action(controller_name,action_name).nil?
|
||||||
app = ModuleApp.find params[:id]
|
app = ModuleApp.find params[field]
|
||||||
app.title == app_title ? 'active' : nil
|
app.title == app_title ? 'active' : nil
|
||||||
else
|
else
|
||||||
nil
|
nil
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
<% if module_app -%>
|
||||||
|
|
||||||
|
<div class="modal hide fade in" id="module_app-<%=module_app.id%>">
|
||||||
|
<div class="modal-header">
|
||||||
|
<a class="close" data-dismiss="modal">×</a>
|
||||||
|
<h3><%= t("admin.user_role.auth.manager") %></h3>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="clear">
|
||||||
|
<% module_app.managing_users.each do |user| %>
|
||||||
|
<div class="checkbox clear checked">
|
||||||
|
<div class='member-avatar'>
|
||||||
|
<% if user.avatar? %>
|
||||||
|
<%= image_tag(user.avatar.thumb.url,:class => "member-img") %>
|
||||||
|
<% else %>
|
||||||
|
<%= image_tag "person.png",:class => "member-img" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<%= label_tag "lab-user-#{user.id}", (user.name rescue ''),:class=>"member-name",:id=>nil -%>
|
||||||
|
</div>
|
||||||
|
<% end -%>
|
||||||
|
<divl>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<a href="#" class="btn" data-dismiss="modal"><%= t("modal.close") %></a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<script type="text/javascript" src="/static/kernel.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$("#module_app-<%=module_app.id%>").on("show", function () {
|
||||||
|
});
|
||||||
|
$(".modal").on("hidden", function () {
|
||||||
|
$("#show_preview").remove();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end -%>
|
|
@ -0,0 +1,25 @@
|
||||||
|
<%= content_tag :div ,:id => "users_checkbox_ary",:class => 'clear' do -%>
|
||||||
|
<% @sys_users.each do |sys_user| -%>
|
||||||
|
|
||||||
|
<div class="checkblock">
|
||||||
|
|
||||||
|
<% sys_user.sub_roles.each do |sr| %>
|
||||||
|
<div class="for_unit" style="display:none;"> <%= sr.key %></div>
|
||||||
|
<% end %>
|
||||||
|
<%= content_tag :div,:data=>{'original-title'=>t('announcement.bulletin.approval_setting_window_title'),:content => "#{sys_user.sub_roles.collect{|sr| sr.i18n_variable[I18n.locale]}.join(',')}"},:class=>"checkbox clear" do %>
|
||||||
|
<div class="check-icon">
|
||||||
|
</div>
|
||||||
|
<div class='member-avatar'>
|
||||||
|
<% if sys_user.avatar? %>
|
||||||
|
<%= image_tag(sys_user.avatar.thumb.url,:class => "member-img") %>
|
||||||
|
<% else %>
|
||||||
|
<%= image_tag "person.png",:class => "member-img" %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<%= label_tag "lab-user-#{sys_user.id}", (sys_user.name rescue ''),:class=>"member-name",:id=>nil -%>
|
||||||
|
<%= check_box_tag "[users][#{sys_user.id}]", 'true',users.include?(sys_user),:class => "check" -%>
|
||||||
|
<%end -%>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end -%>
|
||||||
|
<% end -%>
|
|
@ -0,0 +1,56 @@
|
||||||
|
<% content_for :page_specific_css do %>
|
||||||
|
<%= stylesheet_link_tag "inc/permission-checkbox" %>
|
||||||
|
<% end %>
|
||||||
|
<% content_for :page_specific_javascript do %>
|
||||||
|
<%= javascript_include_tag "inc/permission-checkbox" %>
|
||||||
|
<%= javascript_include_tag "inc/search" %>
|
||||||
|
<%= javascript_include_tag "inc/modal-preview" %>
|
||||||
|
<% end %>
|
||||||
|
<%#= label_tag :fact_check_setting, t("announcement.bulletin.fact_check_setting") %>
|
||||||
|
<%= form_tag('', :remote => true,:class => "prevent_enter_submit_form") %>
|
||||||
|
<div class="subnav clear">
|
||||||
|
<ul class="nav nav-pills filter pull-left">
|
||||||
|
<li class="accordion-group">
|
||||||
|
<div class="form-search" style="margin: 5px 10px;">
|
||||||
|
<%= label_tag :module, t("module") %>
|
||||||
|
<%= select "module_app",'id',@options_from_collection_for_select_bulletin_categorys %>
|
||||||
|
<%= search_field_tag 'user_filter' %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<%= link_to t("admin.user_role.auth.manager"), admin_module_app_manager_auth_show_path , :class=>'preview_trigger btn btn-success pull-right'%>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<%#= label_tag :role, t("admin.roles") %>
|
||||||
|
<div class="clear">
|
||||||
|
<%= content_tag :div do -%>
|
||||||
|
<% form_tag admin_module_app_manager_auth_proc_path do %>
|
||||||
|
<%= render :partial => "privilege_user", :locals => {:users => @users_array} %>
|
||||||
|
<div class="form-actions form-fixed pagination-right">
|
||||||
|
<%= submit_tag "Update", :class => 'btn btn-primary' %>
|
||||||
|
</div>
|
||||||
|
<% end -%>
|
||||||
|
<% end -%>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
var availableTags = [];
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$(".prevent_enter_submit_form").bind("keypress", function(e) {
|
||||||
|
if (e.keyCode == 13) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#category_id').change(function() {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
dataType: "script",
|
||||||
|
url:$(this).parents("from").attr("href"),
|
||||||
|
data:$(this).parents("form").serialize()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,2 @@
|
||||||
|
$("#users_checkbox_ary").replaceWith('<%= escape_javascript(render :partial => "privilege_user", :locals => {:users => @users_array})%>');
|
||||||
|
permissionCheckbox();
|
|
@ -0,0 +1 @@
|
||||||
|
alert( "<% flash.each do |key, msg| %><%= msg %><% end%>");
|
|
@ -0,0 +1,2 @@
|
||||||
|
$('#show_preview').html("<%= escape_javascript(render(:partial => 'modal_list',:locals => {:module_app => @module_app})) %>");
|
||||||
|
var start_modal_with_id = "module_app-<%=@module_app.id%>"
|
|
@ -5,7 +5,7 @@
|
||||||
<%= javascript_include_tag "/static/kernel.js" %>
|
<%= javascript_include_tag "/static/kernel.js" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals','bulletin_category_setting') || active_sys_call_for_app('module_apps','edit','Announcement') do -%>
|
<%= content_tag :li, :class => (active_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals') || active_sys_call_for_app('new_interface_module_apps','setting','Announcement',:module_app_id) ) do -%>
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + t('admin.announcement'), panel_announcement_back_end_bulletins_path %>
|
<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + t('admin.announcement'), panel_announcement_back_end_bulletins_path %>
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals')) do -%>
|
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals')) do -%>
|
||||||
<%= content_tag :li, link_to(t('announcement.all_articles'), panel_announcement_back_end_bulletins_path), :class => active_for_action('bulletins', 'index') %>
|
<%= content_tag :li, link_to(t('announcement.all_articles'), panel_announcement_back_end_bulletins_path), :class => active_for_action('bulletins', 'index') %>
|
||||||
|
@ -13,13 +13,13 @@
|
||||||
<%= content_tag :li, link_to(t('announcement.categories'), panel_announcement_back_end_bulletin_categorys_path), :class => (active_for_action('bulletin_categorys', 'index') || active_for_action('bulletin_category_setting', 'setting')) %>
|
<%= content_tag :li, link_to(t('announcement.categories'), panel_announcement_back_end_bulletin_categorys_path), :class => (active_for_action('bulletin_categorys', 'index') || active_for_action('bulletin_category_setting', 'setting')) %>
|
||||||
<%= content_tag :li, link_to(t('announcement.tags'), panel_announcement_back_end_tags_path), :class => active_for_action('/panel/announcement/back_end/tags', 'index') %>
|
<%= content_tag :li, link_to(t('announcement.tags'), panel_announcement_back_end_tags_path), :class => active_for_action('/panel/announcement/back_end/tags', 'index') %>
|
||||||
<%= content_tag :li, link_to(t('announcement.bulletin.approval_setting'), panel_announcement_back_end_approval_setting_path), :class => active_for_action('approvals', 'setting') if (is_manager? rescue nil) %>
|
<%= content_tag :li, link_to(t('announcement.bulletin.approval_setting'), panel_announcement_back_end_approval_setting_path), :class => active_for_action('approvals', 'setting') if (is_manager? rescue nil) %>
|
||||||
<%= content_tag :li, link_to(t('admin.module.authorization'),edit_admin_module_app_path(ModuleApp.first(conditions: {title: "Announcement"}))), :class => active_sys_call_for_app('module_apps','edit','Announcement') if (is_admin? rescue nil) %>
|
<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: "Announcement"}))), :class => active_sys_call_for_app('new_interface_module_apps','setting','Announcement',:module_app_id) if (is_admin? rescue nil) %>
|
||||||
|
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals','news_bulletin_category_setting') do -%>
|
<%= content_tag :li, :class =>( active_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')|| active_sys_call_for_app('new_interface_module_apps','setting','news',:module_app_id)) do -%>
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + t('admin.news'), panel_news_back_end_news_bulletins_path %>
|
<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + t('admin.news'), panel_news_back_end_news_bulletins_path %>
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')) do -%>
|
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')) do -%>
|
||||||
<%= content_tag :li, link_to(t('announcement.all_articles'), panel_news_back_end_news_bulletins_path), :class => active_for_action('news_bulletins', 'index') %>
|
<%= content_tag :li, link_to(t('announcement.all_articles'), panel_news_back_end_news_bulletins_path), :class => active_for_action('news_bulletins', 'index') %>
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<%= content_tag :li, link_to(t('announcement.categories'), panel_news_back_end_news_bulletin_categorys_path), :class => (active_for_action('news_bulletin_categorys', 'index') || active_for_action('news_bulletin_category_setting', 'setting'))%>
|
<%= content_tag :li, link_to(t('announcement.categories'), panel_news_back_end_news_bulletin_categorys_path), :class => (active_for_action('news_bulletin_categorys', 'index') || active_for_action('news_bulletin_category_setting', 'setting'))%>
|
||||||
<%= content_tag :li, link_to(t('announcement.tags'), panel_news_back_end_tags_path), :class => active_for_action('/panel/news/back_end/tags', 'index') %>
|
<%= content_tag :li, link_to(t('announcement.tags'), panel_news_back_end_tags_path), :class => active_for_action('/panel/news/back_end/tags', 'index') %>
|
||||||
<%= content_tag :li, link_to(t('announcement.bulletin.approval_setting'), panel_news_back_end_news_approval_setting_path), :class => active_for_action('news_approvals', 'setting') if (is_manager? rescue nil) %>
|
<%= content_tag :li, link_to(t('announcement.bulletin.approval_setting'), panel_news_back_end_news_approval_setting_path), :class => active_for_action('news_approvals', 'setting') if (is_manager? rescue nil) %>
|
||||||
<%= content_tag :li, link_to(t('admin.module.authorization'),edit_admin_module_app_path(ModuleApp.first(conditions: {key: "news"}))), :class => active_sys_call_for_app('module_apps','edit','news') if (is_admin? rescue nil) %>
|
<%= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "news"}))), :class => active_sys_call_for_app('new_interface_module_apps','setting','news',:module_app_id) if (is_admin? rescue nil) %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
Reference in New Issue