Merge branch 'master' of github.com:Rulingcom/NCCU

Conflicts:
	config/initializers/resque.rb
This commit is contained in:
chris 2012-10-16 14:14:56 +08:00
commit f7f0b48707
8 changed files with 135 additions and 37 deletions

View File

@ -4,33 +4,45 @@
//extended jquery to search fast. //extended jquery to search fast.
$.extend($.expr[':'], { $.extend($.expr[':'], {
'containsi': function (elem, i, match, array) { 'containsi': function (elem, i, match, array) {
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0; return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
} }
}); });
var interval,sval; var interval,sval;
$(document).ready(function(){ $(document).ready(function(){
$("#user_filter").keyup(function(e){ $("#user_filter").keyup(function(e){
if((e.which>96 && e.which<123) || (e.which>64 && e.which<92) || (e.which == 32) || (e.which == 8)){ if((e.which>96 && e.which<123) || (e.which>64 && e.which<92) || (e.which == 32) || (e.which == 8)){
sval = $(this).val(); sval = $(this).val();
$(".checkbox").popover("hide"); $(".checkbox").popover("hide");
$("div.checkblock").hide(); $("div.checkblock").hide();
clearInterval(interval); clearInterval(interval);
interval = setInterval(waitForSearch,1000); interval = setInterval(waitForSearch,1000);
} }
}) })
}) })
var waitForSearch = function(){ var waitForSearch = function(){
if(sval){ if(sval){
var totalfoundbyname = $("div#users_checkbox_ary label.member-name:containsi("+sval+")").length var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range
if(totalfoundbyname!=0){ var re2 = new RegExp("^[\uE7C7-\uE7F3]*$");
$("div#users_checkbox_ary label.member-name:containsi("+sval+")").parent().parent().show(); if ((re1.test(sval) && (re2.test(sval)))){
}else if(totalfoundbyname==0){
$("div#users_checkbox_ary div.for_unit:containsi("+sval+")").parent().show(); var totalfoundbyname = $("div#users_checkbox_ary label.member-name:contains("+sval+")").length
} if(totalfoundbyname!=0){
}else{ $("div#users_checkbox_ary label.member-name:contains("+sval+")").parent().parent().show();
$(".checkbox").popover('hide'); }else if(totalfoundbyname==0){
$("div.checkblock").show(); $("div#users_checkbox_ary div.for_unit:contains("+sval+")").parent().show();
} }
clearInterval(interval); }else{
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);
} }

View File

@ -6,7 +6,7 @@ class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController
def setting def setting
@sys_users = User.all(conditions: {admin: false}).includes(:avatar) @sys_users = User.all(conditions: {admin: false}).includes(:avatar)
@ob_auth = ObjectAuth.find params[:object_auth_id] @ob_auth = ObjectAuth.find params[:object_auth_id]
@options_from_collection_for_select_ob_auth = [@ob_auth].collect{|oa| [oa.auth_obj.pp_object,oa.id] } @options_from_collection_for_select_ob_auth = @ob_auth.siblings.collect{|oa| [oa.auth_obj.pp_object,oa.id] }
@users_array = @ob_auth.privilege_users rescue [] @users_array = @ob_auth.privilege_users rescue []
respond_to do |format| respond_to do |format|
@ -73,7 +73,6 @@ class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController
end end
def setup_vars def setup_vars
# binding.pry
if request.env['HTTP_REFERER'].split('/')[4] == "object_auths" if request.env['HTTP_REFERER'].split('/')[4] == "object_auths"
@app_key = params[:app_key] @app_key = params[:app_key]
else else

View File

@ -5,6 +5,10 @@ class ObjectAuth < PrototypeAuth
after_save :check_user_has_app_auth after_save :check_user_has_app_auth
# > - Something.find_with_auth(query) # > - Something.find_with_auth(query)
# > - or Something.find(query).auth # > - or Something.find(query).auth
def siblings
ObjectAuth.where({obj_authable_type: obj_authable_type,title: title})
end
def auth_obj def auth_obj
class_obj = eval(self.obj_authable_type) class_obj = eval(self.obj_authable_type)
class_obj.find self.obj_authable_id class_obj.find self.obj_authable_id

View File

@ -45,13 +45,8 @@ $(document).ready(function() {
} }
}); });
$('#category_id').change(function() { $('#ob_auth_id').change(function() {
$.ajax({ window.location.href = "/admin/object_auths/"+$(this).val()+"/new_interface?app_key="+$("#app_key").val();
type: 'GET',
dataType: "script",
url:$(this).parents("from").attr("href"),
data:$(this).parents("form").serialize()
});
}); });
}); });
</script> </script>

View File

@ -1,9 +1,9 @@
require 'resque_scheduler' require 'resque_scheduler'
# require 'resque_scheduler/server' require 'resque_scheduler/server'
# require 'yaml' # require 'yaml'
Resque.redis = 'localhost:6379' Resque.redis = 'localhost:6379'
Resque.redis.namespace = "resque:nccu_stage" Resque.redis.namespace = "resque"
# If you want to be able to dynamically change the schedule, # If you want to be able to dynamically change the schedule,
# uncomment this line. A dynamic schedule can be updated via the # uncomment this line. A dynamic schedule can be updated via the

View File

@ -77,7 +77,6 @@ namespace :mid_site do
local_user.save! local_user.save!
end end
sys_users = User.all(conditions: {admin: false}).includes(:avatar).to_a sys_users = User.all(conditions: {admin: false}).includes(:avatar).to_a
Rails.cache.write('user_setting', sys_users)
end end

87
lib/tasks/nccu.rake Normal file
View File

@ -0,0 +1,87 @@
namespace :nccu do
task :copy_news_object_auth_to_all_of_news_cate => :environment do
# users = user_data.collect do |login_uid|
# nccu_id = get_nccu_id_from_mid_site(login_uid)
# resource = nccu_id.nil? ? nil : (User.first(conditions:{ nccu_ldap_uid: nccu_id }))
# end
nbc = NewsBulletinCategory.first({conditions: "administration"})
users_ary = Array.new(ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "NewsBulletinCategory",obj_authable_id: nbc.id}}).privilege_user_ids)
to_nbcs = NewsBulletinCategory.where(:key.ne=> 'administration')
to_nbcs.each do |cate|
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "NewsBulletinCategory",obj_authable_id: cate.id}})
oa.privilege_user_ids = users_ary
oa.save
end
end
task :apply_180_news_cate_auth_to_171 => :environment do
ldap_id_data = [3603,100212, 8151, 3471, 145232, 133380, 133222, 127983, 127977, 127692, 123617, 123566, 58483, 48234, 29237, 9253, 8948, 8703, 8251, 7336, 7242, 7220, 6912, 6603, 6459, 5475, 3643, 3641, 3559, 3310, 3248, 2672, 2531, 1633, 1521, 1516, 145571, 20610, 123604, 100211, 39571, 29479, 8013, 6968, 5868, 5724, 5401, 4369, 3573, 3377, 2918, 2822, 2309, 2134, 1731, 1527]
users_ary = Array.new(User.where(:nccu_ldap_uid.in => ldap_id_data ))
NewsBulletinCategory.all.each do |cate|
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "NewsBulletinCategory",obj_authable_id: cate.id}})
oa.privilege_users = users_ary
oa.save
end
end
task :remove_3603 => :environment do
user_email = 'tu65@nccu.edu.tw'
user = User.first({conditions:{email: user_email}})
NewsBulletinCategory.all.each do |cate|
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "NewsBulletinCategory",obj_authable_id: cate.id}})
oa.privilege_users.delete_if{|t| t == user}
oa.save
end
key = 'Announcement'
bc = BulletinCategory.first({conditions:{key: key}})
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "BulletinCategory",obj_authable_id: bc.id}})
oa.privilege_users.delete_if{|t| t == user}
oa.save
end
task :add_nccu_account_1008 => :environment do
a = ['yjlin3@nccu.edu.tw','liwen@nccu.edu.tw','yhc@nccu.edu.tw','kenliu@nccu.edu.tw','cfc@nccu.edu.tw','jasper@nccu.edu.tw','donghe@nccu.edu.tw','frees712@nccu.edu.tw','jeanch@nccu.edu.tw','posty@nccu.edu.tw','yiting@nccu.edu.tw','frank997@nccu.edu.tw']
users_ary = User.any_in(email: a)
NewsBulletinCategory.all.each do |cate|
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "NewsBulletinCategory",obj_authable_id: cate.id}})
oa.privilege_users = oa.privilege_users + users_ary
oa.save
end
key = 'Announcement'
bc = BulletinCategory.first({conditions:{key: key}})
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "BulletinCategory",obj_authable_id: bc.id}})
oa.privilege_users = oa.privilege_users + users_ary
oa.save
end
task :add_nccu_account_1009 => :environment do
a = ["blannytg@nccu.edu.tw","yucca@nccu.edu.tw","fish14@nccu.edu.tw","amanda13@nccu.edu.tw"]
users_ary = User.any_in(email: a)
NewsBulletinCategory.all.each do |cate|
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "NewsBulletinCategory",obj_authable_id: cate.id}})
oa.privilege_users = oa.privilege_users + users_ary
oa.save
end
a=["annieayu@nccu.edu.tw","blannytg@nccu.edu.tw","yucca@nccu.edu.tw","amanda13@nccu.edu.tw"]
users_ary = User.any_in(email: a)
key = 'Announcement'
bc = BulletinCategory.first({conditions:{key: key}})
oa = ObjectAuth.first({conditions:{title: "submit",obj_authable_type: "BulletinCategory",obj_authable_id: bc.id}})
oa.privilege_users = oa.privilege_users + users_ary
oa.save
end
end

View File

@ -1,3 +1,4 @@
<div id= "poststuff">
<% # encoding: utf-8 %> <% # encoding: utf-8 %>
<%= f.error_messages %> <%= f.error_messages %>
@ -104,4 +105,5 @@
<div class="form-actions"> <div class="form-actions">
<%= f.submit t('submit'), :class=>'btn btn-primary' %> <%= f.submit t('submit'), :class=>'btn btn-primary' %>
<%= link_to t('cancel'), get_go_back, :class=>"btn" %> <%= link_to t('cancel'), get_go_back, :class=>"btn" %>
</div> </div>
</div>