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 -%> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue