Changeset 5759
- Timestamp:
- 05/22/08 15:32:51 (6 months ago)
- Files:
-
- rubricks_core/trunk/app/controllers/application.rb (modified) (5 diffs)
- rubricks_core/trunk/app/models/rubricks_attachment.rb (modified) (1 diff)
- rubricks_core/trunk/app/models/rubricks_lib.rb (modified) (1 diff)
- rubricks_core/trunk/app/models/rubricks_lib/rubricks_cache_lib.rb (added)
- rubricks_core/trunk/app/models/rubricks_lib/rubricks_login_lib.rb (modified) (1 diff)
- rubricks_core/trunk/app/models/rubricks_trail.rb (modified) (4 diffs)
- rubricks_core/trunk/app/models/rubricks_user.rb (modified) (3 diffs)
- rubricks_core/trunk/languages/english.rb (modified) (5 diffs)
- rubricks_core/trunk/languages/japanese.rb (modified) (4 diffs)
- rubricks_core/trunk/vendor/plugins/rails_protection/lib/rails_protection_for_csrf.rb (modified) (4 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_base.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_define_page.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_realtime_validator.rb (modified) (2 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils.rb (modified) (2 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils_logger.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils_refuse_guest.rb (added)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_user_management.rb (modified) (4 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_pagination_helper.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_realtime_validator_helper.rb (modified) (6 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_block_helper.rb (added)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_helper.rb (modified) (2 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_user_data_helper.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_user_management_helper.rb (modified) (2 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/active_record_base.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_base.rb (modified) (2 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_core_ext_date_comparison.rb (modified) (1 diff)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_core_ext_date_range.rb (added)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/authorize_filter.rb (modified) (6 diffs)
- rubricks_core/trunk/vendor/plugins/rubricks/lib/rubricks_error.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
rubricks_core/trunk/app/controllers/application.rb
r5745 r5759 1 1 class ApplicationController < ActionController::Base 2 2 filter_parameter_logging 'password' 3 after_filter :append_block_control 3 4 before_filter :before_request 4 after_filter :append_block_control5 5 default_authorize 6 6 include DefinePageInstanceMethods … … 80 80 def must_login_action 81 81 if guest? 82 render :text => RubricksLib.hl('[_Common_ MustLogin]')82 render :text => RubricksLib.hl('[_Common_Unauthorized]') 83 83 return false 84 84 end … … 134 134 before_request_protection_for_session_fixation_attack 135 135 RubricksLib.load_lang 136 log_rubricks 136 137 end 137 138 … … 172 173 173 174 def before_request_store_common_data 174 if Thread.current[:store_common_data].blank? || RubricksLib.test_mode? 175 Thread.current[:store_common_data] = true 176 Thread.current[:cookie_path] = ::ApplicationControllerExtension.cookie_path 177 RubricksConfig.cache 178 if RubricksUser.exists?(session[:user]) 179 ru = RubricksUser.find(session[:user], :include => [:rubricks_groups, :rubricks_theme]) 180 Thread.current[:current_user] = ru if ru.effective 181 end 182 if Thread.current[:current_user].blank? || RubricksLib.guest? 183 Thread.current[:current_user] = RubricksUser.guest_user 184 Thread.current[:current_groups] = [RubricksGroup.find(RubricksGroup::GUEST_GROUP_ID)] rescue nil 185 Thread.current[:current_theme_name] = RubricksConfig.get('site_default_theme') 186 Thread.current[:admin_group] = false 187 else 188 Thread.current[:current_groups] = Thread.current[:current_user].rubricks_groups 189 Thread.current[:current_theme_name] = Thread.current[:current_user].rubricks_theme.name 190 Thread.current[:admin_group] = Thread.current[:current_user].admin_group? 191 end 192 if Thread.current[:permitted_functions].blank? || RubricksLib.test_mode? 193 Thread.current[:permitted_functions] = RubricksGroup.authorized_function_list_with_multiple_groups(Thread.current[:current_groups]) 194 end 195 end 175 RubricksLib.store_common_data(session[:user]) 196 176 end 197 177 … … 243 223 site_start_menu = RubricksLib.site_start_menu_option 244 224 if params[:controller].sub(%r|^/?|, '') == site_start_menu[:controller].sub(%r|^/?|, '') && params[:main] == site_start_menu[:main] 245 flash[:login_message] = ' TEST'225 flash[:login_message] = '[_Common_MustLogin]' 246 226 url = url_for(:controller => '/system/login', :action => 'login_page') 247 227 else rubricks_core/trunk/app/models/rubricks_attachment.rb
r5744 r5759 23 23 validates_length_of :name, :in => 1..64 24 24 validates_format_of :name, :with => %r|[^/]+| 25 26 after_destroy { |record| record.delete_file } 25 after_destroy {|record| record.delete_file} 27 26 28 27 class << self rubricks_core/trunk/app/models/rubricks_lib.rb
r5744 r5759 45 45 end 46 46 47 require_dependency 'rubricks_lib/rubricks_cache_lib' 47 48 require_dependency 'rubricks_lib/rubricks_character_set_convert_lib' 48 49 require_dependency 'rubricks_lib/rubricks_component_info_lib' rubricks_core/trunk/app/models/rubricks_lib/rubricks_login_lib.rb
r5745 r5759 49 49 result[:login_message] = RubricksLib.hl('[_System_Login_MessageChangePassword]') + get_password_messages 50 50 else 51 ############################################################################ 52 #todo 53 ############################################################################ 54 #ru_data = {:certified => '', :lock_count => 0, :login_at => Time.now} 55 #ru_data.merge!({:mobile_ident => options[:mobile_ident]}) unless options[:mobile_ident].blank? 56 #ru.update_user(ru_data) 57 #result[:user] = ru 58 ru_data = {:certified => '', :lock_count => 0, :login_at => Time.now, :raw_password => options[:login_pw], :password_changed_on => Date.today} 51 ru_data = {:certified => '', :lock_count => 0, :login_at => Time.now} 59 52 ru_data.merge!({:mobile_ident => options[:mobile_ident]}) unless options[:mobile_ident].blank? 60 53 begin 61 ru.update_user(ru_data) 62 rescue Exception 63 ru_data.delete(:raw_password) 64 ru_data.delete(:password_changed_on) 65 ru.update_user(ru_data) 54 ActiveRecord::Base.transaction do 55 ru.ignore_csrf_validation = true 56 ru.update_user(ru_data) 57 end 58 rescue Exception => ex 59 RAILS_DEFAULT_LOGGER.error(ex.message) 60 RAILS_DEFAULT_LOGGER.error(ex.backtrace.join("\n ")) 66 61 end 67 62 result[:user] = ru rubricks_core/trunk/app/models/rubricks_trail.rb
r5574 r5759 37 37 EXPORT_MAX = 10000 38 38 FILTER_DEFAULT = { 39 :trails_action_type => ACTION_TYPES.stringify_keys.keys,40 :trails_date => '[_System_AdminTrails_NotSpecified]',41 39 :trails_component_name => 'all', 42 40 :trails_component_display_name => '[_System_AdminTrails_AllComponent]', 43 :trails_user_name => '[_System_AdminTrails_NotSpecified]',44 41 } 45 42 LIST_PER_PAGE = 100 … … 49 46 50 47 class << self 51 def filter_default?(filter_conditions)52 return false if filter_conditions[:trails_date_begin] && (filter_conditions[:trails_date_begin] != RubricksLib.hl(FILTER_DEFAULT[:trails_date]))53 return false if filter_conditions[:trails_date_end] && (filter_conditions[:trails_date_end] != RubricksLib.hl(FILTER_DEFAULT[:trails_date]))54 return false if filter_conditions[:trails_target_component] && (filter_conditions[:trails_target_component] != FILTER_DEFAULT[:trails_component_name])55 return false if filter_conditions[:trails_user_name] && (filter_conditions[:trails_user_name] != FILTER_DEFAULT[:trails_user_name])56 return false if filter_conditions[:trails_action_type] && (FILTER_DEFAULT[:trails_action_type] - filter_conditions[:trails_action_type].keys != [])57 return true58 end59 60 48 def filter_to_conditions(filter_conditions) 61 49 queries = [] … … 86 74 conditions << '' 87 75 end 88 if filter_conditions[:trails_user_name] && filter_conditions[:trails_user_name] != FILTER_DEFAULT[:trails_user_name] 89 queries << 'user_name = ?' 76 if filter_conditions[:trails_user_name].blank? 77 queries << 'user_login_name != ?' 78 conditions << '' 79 else 80 queries << 'user_login_name = ?' 90 81 conditions << filter_conditions[:trails_user_name] 91 else92 queries << 'user_name != ?'93 conditions << ''94 82 end 95 83 action_types = filter_conditions[:trails_action_type].keys rescue [] … … 140 128 options[:object_data] = object_data.to_json.json_fix_special_char 141 129 options[:object_data] = ''.to_json if options[:object_data].length > MAX_DATA_SIZE 130 rts = nil 142 131 case options[:action_type] 143 132 when 'detail', 'download', 'list', 'login', 'logout' 144 rtf = RubricksTrailSetting.find(:first, :conditions => ['component_name = ? and record_type = ?', options[:component_name], RubricksTrailSetting::TYPE_READ], :select => :record_trails) 145 self.create!(options) if rtf && rtf.record_trails 133 rts = RubricksTrailSetting.find(:first, :conditions => ['component_name = ? and record_type = ?', options[:component_name], RubricksTrailSetting::TYPE_READ], :select => :record_trails) 146 134 when 'create', 'delete', 'install', 'uninstall', 'update', 'upload' 147 rtf = RubricksTrailSetting.find(:first, :conditions => ['component_name = ? and record_type = ?', options[:component_name], RubricksTrailSetting::TYPE_UPDATE], :select => :record_trails) 148 self.create!(options) if rtf && rtf.record_trails 135 rts = RubricksTrailSetting.find(:first, :conditions => ['component_name = ? and record_type = ?', options[:component_name], RubricksTrailSetting::TYPE_UPDATE], :select => :record_trails) 136 end 137 if rts && rts.record_trails 138 rt = self.new(options) 139 rt.ignore_csrf_validation = true 140 rt.save! 149 141 end 150 142 end rubricks_core/trunk/app/models/rubricks_user.rb
r5748 r5759 44 44 validates_length_of :admin_memo, :in => 0..20000 45 45 after_create :validate_user_limit 46 after_save : save_password_history, :validate_difference_login_name_and_password46 after_save :mail_if_change_password, :save_password_history, :validate_difference_login_name_and_password 47 47 attr_accessor :password_changed 48 48 cattr_accessor :callback_after_invalidate … … 354 354 355 355 def auth_by_password(str) 356 ############################################################################ 357 #todo 358 ############################################################################ 359 #Digest::SHA512.hexdigest(str) == self.login_pass 360 result = false 361 result = true if Digest::SHA512.hexdigest(str) == self.login_pass 362 result = true if str.crypt(self.login_pass) == self.login_pass 363 return result 356 Digest::SHA512.hexdigest(str) == self.login_pass 364 357 end 365 358 … … 514 507 end 515 508 509 def mail_if_change_password 510 if self.password_changed 511 System::SystemMailer.set_config 512 begin 513 System::SystemMailer.deliver_password_changed(self.name, self.email_by_admin) 514 rescue Exception => ex 515 logger.error(ex.message) 516 logger.error(ex.backtrace.join("\n ")) 517 end 518 end 519 end 520 516 521 def validate_difference_login_name_and_password 517 522 raise RubricksError::User::ValidateSameInValueException if auth_by_password(self.login_name) rubricks_core/trunk/languages/english.rb
r5748 r5759 179 179 '_Common_Move' => 'Move', 180 180 '_Common_Multiple' => 'Multiple', 181 '_Common_MustLogin' => 'You must login for using this page.',181 '_Common_MustLogin' => 'You must login for browsing this site.', 182 182 '_Common_Name' => 'Name', 183 183 '_Common_NetworkError' => '[Network Error] Please retry later.', … … 250 250 '_Common_RecordNotFound' => '[Record Not Found] Please refresh data, and try again.', 251 251 '_Common_Refresh' => 'Refresh', 252 '_Common_RefuseGuest' => 'You can use this page while you log into this site.', 252 253 '_Common_Register' => 'Register', 253 254 '_Common_Registered_Group' => 'Registered Group', … … 281 282 '_Common_Signature' => 'Signature', 282 283 '_Common_SiteAdmin' => 'Site Admin', 284 '_Common_SortKeyUserId' => 'User ID', 285 '_Common_SortKeyUserName' => 'User Name', 283 286 '_Common_Start' => 'Start', 284 287 '_Common_States' => 'States', … … 310 313 '_Common_Tuesday' => 'Tue', 311 314 '_Common_TuesdayFull' => 'Tuesday', 312 '_Common_Unauthorized' => 'You must login .',315 '_Common_Unauthorized' => 'You must login for browsing this page.', 313 316 '_Common_Uninstall' => 'Uninstall', 314 317 '_Common_Uninstall_Confirm' => 'Are you sure to uninstall this?', … … 383 386 '_Common_Version' => 'Version', 384 387 '_Common_Wait' => 'Just a second', 388 '_Common_WaitingApproval' => 'Waiting Approval', 385 389 '_Common_Week' => 'Week', 386 390 '_Common_Wednesday' => 'Wed', rubricks_core/trunk/languages/japanese.rb
r5748 r5759 200 200 '_Common_Move' => 'ç§»å', 201 201 '_Common_Multiple' => 'è€æ°å¯', 202 '_Common_MustLogin' => 'ãã®æ©èœã¯ãã°ã€ã³åŸã«å©çšã§ããŸãã', 202 '_Common_MustLogin' => 'ãã®ãµã€ããå©çšããã«ã¯ãã°ã€ã³ããå¿ 203 èŠããããŸãã', 203 204 '_Common_Name' => 'åå', 204 205 '_Common_NetworkError' => 'éä¿¡ãšã©ãŒãçºçããŸããããã°ããããŠããæäœãããçŽããŠãã ããã', … … 279 280 §ããããšããŠããŸããæ¢ã«ããŒã¿ã倿ŽãããŠããå¯èœæ§ããããŸããããŒã¿ãå衚瀺ããŠç¢ºèªããŠãã ããã', 280 281 '_Common_Refresh' => 'ææ°è¡šç€º', 282 '_Common_RefuseGuest' => 'ãã®æ©èœã¯ãã°ã€ã³ããããšã§å©çšããããšãã§ããŸãã', 281 283 '_Common_Register' => 'ç»é²', 282 284 '_Common_Registered_Group' => 'ç»é²ã°ã«ãŒã', … … 313 315 '_Common_SiteAdmin' => 'ãµã€ã管çè 314 316 ', 317 '_Common_SortKeyUserId' => 'ãŠãŒã¶IDã®', 318 '_Common_SortKeyUserName' => 'ãŠãŒã¶å(ãã¿ããª)ã®', 315 319 '_Common_Start' => 'èµ·å', 316 320 '_Common_States' => 'ã¹ããŒã¿ã¹', … … 445 449 '_Common_Wait' => 'ãåŸ 446 450 ã¡ãã ãã', 451 '_Common_WaitingApproval' => 'æ¿èªåŸ 452 ã¡', 447 453 '_Common_Week' => 'é±', 448 454 '_Common_Wednesday' => 'æ°Ž', rubricks_core/trunk/vendor/plugins/rails_protection/lib/rails_protection_for_csrf.rb
r4936 r5759 3 3 module ActionControllerMethods #:nodoc: 4 4 def protection_for_csrf 5 if ENV['RAILS_ENV'] != 'test' && request.method == :post && params[:rails_protection_session_id] != session.session_id 6 raise RailsProtection::Csrf::SessionValidateException 5 unless ENV['RAILS_ENV'] == 'test' 6 case request.method 7 when :post, :put, :delete 8 raise RailsProtection::Csrf::SessionValidateException unless params[:rails_protection_session_id] == session.session_id 9 else 10 Thread.current[:rails_protection_refuse_update] = true if session[:rails_protection_ignore_csrf_validation].blank? 11 end 12 session[:rails_protection_ignore_csrf_validation] = nil 7 13 end 8 14 end … … 59 65 end 60 66 67 module ActiveRecordMethods #:nodoc: 68 def validate_for_csrf 69 raise RailsProtection::Csrf::SessionValidateException if Thread.current[:rails_protection_refuse_update] && self.ignore_csrf_validation.blank? 70 end 71 end 72 61 73 class SessionValidateException < ::ActionController::ActionControllerError 62 74 end … … 64 76 end 65 77 78 ::ActionController::Base.class_eval do 79 alias :rails_protection_redirect_to_original :redirect_to unless method_defined?(:rails_protection_redirect_to_original) 80 def redirect_to(options = {}, *parameters_for_method_reference) 81 case request.method 82 when :post, :put, :delete 83 session[:rails_protection_ignore_csrf_validation] = true 84 end 85 rails_protection_redirect_to_original(options, *parameters_for_method_reference) 86 end 87 end 66 88 ::ActionController::Base.send(:include, RailsProtection::Csrf::ActionControllerMethods) 67 89 ::ActionController::Base.class_eval do … … 73 95 end 74 96 ::ActionView::Base.send(:include, RailsProtection::Csrf::ActionViewMethods) 97 98 ::ActiveRecord::Base.send(:include, RailsProtection::Csrf::ActiveRecordMethods) 99 ::ActiveRecord::Base.class_eval do 100 attr_accessor :ignore_csrf_validation 101 before_destroy :validate_for_csrf 102 before_save :validate_for_csrf 103 end rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_base.rb
r5604 r5759 39 39 end 40 40 41 alias :rubricks_redirect_to_original :redirect_to unless method_defined?(:rubricks_redirect_to_original) 41 42 def redirect_to(options = {}, *parameters_for_method_reference) 42 43 case options 43 44 when %r{^\w+://.*} 44 raise DoubleRenderError if performed? 45 logger.info("Redirected to #{options}") if logger 46 response.redirect(options) 47 response.redirected_to = options 48 @performed_redirect = true 45 rubricks_redirect_to_original(options) 49 46 when String 50 47 redirect_to(RubricksLib.base_url + options) rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_define_page.rb
r5695 r5759 19 19 def print 20 20 Thread.current[:print] = true 21 @print_contents = simple_render_component_as_string(params[:controller], params[:page], params.dup) 21 params[:print_action] ||= params[:page] 22 @print_contents = simple_render_component_as_string(params[:controller], params[:print_action], params.dup) 22 23 @title, @contents_blocks, rb_id = get_page_data 23 24 @language = RubricksLib.lang_code rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_realtime_validator.rb
r5702 r5759 3 3 module RealtimeValidatorMethods 4 4 def render_ajax_validation(valid = false) 5 res = create_ajax_validation_str(valid) 6 render :text => res 7 end 8 9 def create_ajax_validation_str(valid) 5 10 @headers["Content-type"] = 'text/javascript' 6 11 if valid 7 12 res = <<-"EOS" 8 13 if(_box['#{params[:css_id]}wait']){ 9 $('#{params[:css_id]}_msg').innerHTML = _box['validates_#{params[:validator_name]}_ok']('#{params[:css_id]}') 14 var msg_space_id = rubricks.common.Validator.get_msg_space_id('#{params[:css_id]}'); 15 var msg_html_str = _box['validates_#{params[:validator_name]}_ok']('#{params[:css_id]}'); 16 if($(msg_space_id)){ 17 $(msg_space_id).innerHTML = msg_html_str; 18 } 10 19 } else { 11 20 _box['ajax_updater_last_value_#{params[:css_id]}'] = false; … … 15 24 else 16 25 res = <<-"EOS" 17 $('#{params[:css_id]}_msg').innerHTML = _box['validates_#{params[:validator_name]}_error']('#{params[:css_id]}') + '#{params[:msg]}' 26 var msg_space_id = rubricks.common.Validator.get_msg_space_id('#{params[:css_id]}'); 27 var msg_html_str = _box['validates_#{params[:validator_name]}_error']('#{params[:css_id]}') + '#{params[:msg]}'; 28 if($(msg_space_id)){ 29 $(msg_space_id).innerHTML = msg_html_str; 30 } 18 31 EOS 19 32 end 20 re nder :text => res33 res 21 34 end 22 35 end rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils.rb
r5604 r5759 2 2 require_dependency 'action_controller_rubricks_utils_filter' 3 3 require_dependency 'action_controller_rubricks_utils_logger' 4 require_dependency 'action_controller_rubricks_utils_refuse_guest' 4 5 5 6 module ActionController … … 8 9 include RubricksUtilsFilterMethods 9 10 include RubricksUtilsLoggerMethods 11 include RubricksUtilsRefuseGuestMethods 10 12 end 11 13 end rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils_logger.rb
r5604 r5759 10 10 end 11 11 end 12 13 def log_rubricks 14 logger.info " Processing: #{rubricks_processing}" 15 logger.info " Login Name: #{rubricks_id}" 16 end 17 18 private 19 def rubricks_id 20 begin 21 return (RubricksLib.current_user.blank?) ? '-' : RubricksLib.current_user.login_name 22 rescue Exception => ex 23 return '-' 24 end 25 end 26 27 def rubricks_processing 28 begin 29 return "#{params[:controller].controllerize}\##{params[:action]}" 30 rescue Exception => ex 31 return '-' 32 end 33 end 12 34 end 13 35 end rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_user_management.rb
r5745 r5759 182 182 @options = merge_options 183 183 judge_show_group(@options) 184 set_sort_key(params[:group_user_sort]) 184 185 @id = params[:id].to_i 185 @print = true unless params[:print].nil? 186 @pages, @users_belongs_to = paginate(:'rubricks_user', :conditions => ['rubricks_groups.id = ?', @id], :include => :rubricks_groups, :order => 'login_name asc', :per_page => RubricksLib::LIST_PER_PAGE) 186 @pages, @users_belongs_to = paginate(:'rubricks_user', :conditions => ['rubricks_groups.id = ?', @id], :include => :rubricks_groups, :order => group_user_list_order, :per_page => RubricksLib::LIST_PER_PAGE) 187 187 render :template => '/system/user_management/group_show_user_list.rhtml' 188 188 end … … 284 284 @partial_list = [] 285 285 end 286 headers["Content-Type"] = "text/html" 286 287 render :template => '/system/user_management/print_control' 287 288 end … … 947 948 end 948 949 950 def group_user_list_order 951 sort_order = session[:system_sort_order] || 'asc' 952 sort_key = session[:system_sort_key] || 'user_name' 953 return ((sort_key == 'user_name') ? "rubricks_users.kana #{sort_order}, rubricks_users.name #{sort_order}" : "rubricks_users.login_name #{sort_order}") 954 end 955 949 956 def judge_edit_group(options = nil) 950 957 options ||= merge_options … … 996 1003 end 997 1004 1005 def set_sort_key(sort_conditions) 1006 unless sort_conditions.blank? 1007 session[:system_sort_key] = sort_conditions[:key] 1008 session[:system_sort_order] = sort_conditions[:order] 1009 end 1010 end 1011 998 1012 def user_filter_merge_conditions(input_data, page) 999 1013 options = merge_options rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_pagination_helper.rb
r5688 r5759 82 82 options = DEFAULT_OPTIONS.merge(arguments[:options]) 83 83 params = options[:params].dup 84 params[:update] ||= 'rubricks_partition_m' 84 params[:update] ||= 'rubricks_partition_m' if options[:ajax_request].blank? 85 85 params[:url] ||= {:action => 'main'} 86 86 params[:url][:params] ||= {} rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_realtime_validator_helper.rb
r5747 r5759 2 2 module Helpers 3 3 module PrototypeHelper 4 def validate(css_id, options, button_id = nil, with_script_tag = true )4 def validate(css_id, options, button_id = nil, with_script_tag = true, msg_space_id = nil) 5 5 if css_id.is_a? String 6 result = validate_one(css_id, options, button_id = nil, with_script_tag )6 result = validate_one(css_id, options, button_id = nil, with_script_tag, msg_space_id) 7 7 elsif css_id.is_a? Array 8 8 result = '' 9 9 css_id.each do |css_id_one| 10 result += validate_one(css_id_one, options, button_id = nil, with_script_tag )10 result += validate_one(css_id_one, options, button_id = nil, with_script_tag, msg_space_id) 11 11 end 12 12 end … … 93 93 alias :end_validate :validate_form_end unless method_defined?(:end_validate) 94 94 95 def validate_one(css_id, options, button_id = nil, with_script_tag = true )95 def validate_one(css_id, options, button_id = nil, with_script_tag = true, msg_space_id = nil) 96 96 validator_name_orig = @validator_name 97 97 @validator_name = button_id unless button_id.nil? 98 98 result = '' 99 result += begin_hash(css_id, with_script_tag )99 result += begin_hash(css_id, with_script_tag, msg_space_id) 100 100 101 101 options_without_script_close_tag = [:fieldset_count] … … 140 140 141 141 private 142 def begin_hash(css_id, with_script_tag) 143 res = <<-"EOS" 144 #{with_script_tag ? '<script type="text/javascript">' : ''} 142 def begin_hash(css_id, with_script_tag, msg_space_id) 143 res = '' 144 if with_script_tag 145 res += <<-"EOS" 146 <script type="text/javascript"> 147 EOS 148 end 149 150 unless msg_space_id.blank? 151 res += <<-"EOS" 152 if($('#{css_id}')){ 153 $('#{css_id}').msg_space_id = '#{msg_space_id}'; 154 } 155 EOS 156 end 157 158 res += <<-"EOS" 145 159 _box['#{@validator_name}_hash']['#{css_id}'] = { 146 160 '/.*/': function(element, options) { … … 169 183 def ajax_js(css_id, value) 170 184 path, param_id, msg, check_msg = value[:path], value[:param_id] || '', value[:msg], value[:check_msg] || '[_Common_Validate_Checking]' 185 skip_if_same_value = value[:skip_if_same_value] == false ? false : true 171 186 return '' if !path || !msg 172 187 res = '' … … 187 202 res += <<-"EOS" 188 203 var last_value = _box['ajax_updater_last_value_#{css_id}']; 189 if( !last_value || last_value != element.value){204 if((!last_value || last_value != element.value) || !#{skip_if_same_value}){ 190 205 var ajax_updater_#{css_id} = function(){ 191 206 new Ajax.Request('#{path}' ,{ … … 202 217 return _box['validates_#{@validator_name}_wait']('#{css_id}') + '#{check_msg}'; 203 218 } else { 204 return $('#{css_id}_msg').innerHTML 219 var msg_space_id = rubricks.common.Validator.get_msg_space_id('#{css_id}'); 220 var msg_html_str = $(msg_space_id) ? $(msg_space_id).innerHTML : ''; 221 return msg_html_str; 205 222 } 206 223 EOS rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_helper.rb
r5695 r5759 9 9 concat(str.compress_blank_and_linefeed, block.binding) 10 10 end 11 end12 13 def link_block_to_component(str, url_options)14 html = '<div style="margin:3px 3px 3px 0; text-align:right;">'15 html += %Q|<span class="icon_frame_inactive" onclick="rubricks.common.MenuHandler.update_main_contents('#{url_for(url_options)}');">|16 html += %Q|<span class="buttons icon_arrow_right">#{hl(str)}</span>|17 html += '</span>'18 html += '</div>'19 return html20 11 end 21 12 … … 31 22 end 32 23 24 require_dependency 'action_view_rubricks_block_helper' 33 25 require_dependency 'action_view_rubricks_buttons_helper' 34 26 require_dependency 'action_view_rubricks_filter_helper' rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_user_data_helper.rb
r5695 r5759 51 51 52 52 def user_image_tag(ru) 53 image_path = ru.image_path 54 if image_path.is_a?(String) 55 src = url_for({:controller => '/'}) + image_path 56 else 57 src = url_for(image_path) 58 end 53 path = ru.image_path 54 src = (path.is_a?(String)) ? image_path(path) : url_for(path) 59 55 options = ru.image_options.merge({:src => src}) 60 56 return tag('img', options) rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_user_management_helper.rb
r5748 r5759 112 112 html = [] 113 113 html << %Q|<a href="#" onclick="#{options[:package]}.user_detail_window_render(#{ru.id}); return false;">| if options[:with_detail] && !print? 114 case options[:type] 114 case options[:type].to_s 115 115 when 'full' 116 116 display_kana = ((RubricksLib.current_lang == 'japanese' && RubricksConfig.get('site_display_kana')) ? true : false) … … 128 128 end 129 129 130 def render_user_link(ru) 131 render_user_info(ru, {:package => 'rubricks.system.user', :type => 'name'}) 130 def render_user_link(*args) 131 options = args.flex :ru, :type 132 options[:type] ||= 'name' 133 render_user_info(options[:ru], {:package => 'rubricks.system.user', :type => options[:type]}) 132 134 end 133 135 rubricks_core/trunk/vendor/plugins/rubricks/lib/active_record_base.rb
r5573 r5759 8 8 9 9 class << self 10 alias :rubricks_belongs_to_original :belongs_to unless method_defined?(:rubricks_belongs_to_original) 11 def belongs_to(association_name, options = {}) 12 raise_if_nil = options.delete(:raise_if_nil) 13 rubricks_belongs_to_original(association_name, options) 14 if raise_if_nil 15 self.instance_eval do 16 unless method_defined?("rubricks_#{association_name}_original") 17 alias_method("rubricks_#{association_name}_original", association_name) 18 end 19 define_method(association_name) do 20 eval(<<-"EOS") 21 original_association = self.rubricks_#{association_name}_original 22 raise ActiveRecord::RecordNotFound if original_association.nil? 23 original_association 24 EOS 25 end 26 end 27 end 28 end 29 10 30 def update!(id, attributes) 11 31 if id.is_a?(Array) rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_base.rb
r5550 r5759 3 3 require_dependency 'active_support_core_ext_date_comparison' 4 4 require_dependency 'active_support_core_ext_date_json' 5 require_dependency 'active_support_core_ext_date_range' 5 6 require_dependency 'active_support_core_ext_date_time_json' 6 7 require_dependency 'active_support_core_ext_date_time_strftime' … … 22 23 23 24 class Date 25 include ActiveSupport::CoreExtensions::Date::Range 24 26 include ActiveSupport::CoreExtensions::Date::Comparison 25 27 include ActiveSupport::CoreExtensions::Date::Json rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_core_ext_date_comparison.rb
r5432 r5759 4 4 module Comparison 5 5 def is_in_a_day_conditions(column_name) 6 queries = [] 7 conditions = [] 8 queries << "#{column_name} >= ?" 9 conditions << ::DateTime.new(self.year, self.month, self.day, 0, 0, 0).strftime('%Y/%m/%d %H:%M:%S') 10 queries << "#{column_name} <= ?" 11 conditions << ::DateTime.new(self.year, self.month, (self.day), 23, 59, 59).strftime('%Y/%m/%d %H:%M:%S') 6 range = self.to_range 7 queries = [] 8 conditions = [] 9 queries << "#{column_name} >= ?" 10 conditions << range.first.strftime('%Y/%m/%d %H:%M:%S') 11 queries << "#{column_name} <= ?" 12 conditions << range.last.strftime('%Y/%m/%d %H:%M:%S') 12 13 conditions.unshift(queries.join(' AND ')) 13 14 return conditions rubricks_core/trunk/vendor/plugins/rubricks/lib/authorize_filter.rb
r5695 r5759 5 5 module ClassMethods 6 6 def default_authorize 7 before_filter :site_active_filter 8 before_filter :component_active_filter 9 before_filter :authorize_component_admin_filter 10 before_filter :authorize_component_access_filter 11 before_filter :authorize_component_block_filter 12 before_filter :initial_login_filter 7 class_inheritable_reader :server_authorize_options 8 before_filter :site_active_filter 9 before_filter :component_active_filter 10 before_filter :server_authorize_filter 11 before_filter :authorize_component_admin_filter 12 before_filter :authorize_component_access_filter 13 before_filter :authorize_component_block_filter 14 before_filter :initial_login_filter <
