Changeset 5759

Show
Ignore:
Timestamp:
05/22/08 15:32:51 (6 months ago)
Author:
uta
Message:

2008/05/22 sync

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • rubricks_core/trunk/app/controllers/application.rb

    r5745 r5759  
    11class ApplicationController < ActionController::Base 
    22  filter_parameter_logging  'password' 
     3  after_filter              :append_block_control 
    34  before_filter             :before_request 
    4   after_filter              :append_block_control 
    55  default_authorize 
    66  include DefinePageInstanceMethods 
     
    8080  def must_login_action 
    8181    if guest? 
    82       render :text => RubricksLib.hl('[_Common_MustLogin]') 
     82      render :text => RubricksLib.hl('[_Common_Unauthorized]') 
    8383      return false 
    8484    end 
     
    134134    before_request_protection_for_session_fixation_attack 
    135135    RubricksLib.load_lang 
     136    log_rubricks 
    136137  end 
    137138 
     
    172173 
    173174  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]) 
    196176  end 
    197177 
     
    243223        site_start_menu = RubricksLib.site_start_menu_option 
    244224        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]
    246226          url   = url_for(:controller => '/system/login', :action => 'login_page') 
    247227        else 
  • rubricks_core/trunk/app/models/rubricks_attachment.rb

    r5744 r5759  
    2323  validates_length_of       :name, :in => 1..64 
    2424  validates_format_of       :name, :with => %r|[^/]+| 
    25  
    26   after_destroy { |record| record.delete_file } 
     25  after_destroy             {|record| record.delete_file} 
    2726 
    2827  class << self 
  • rubricks_core/trunk/app/models/rubricks_lib.rb

    r5744 r5759  
    4545end 
    4646 
     47require_dependency 'rubricks_lib/rubricks_cache_lib' 
    4748require_dependency 'rubricks_lib/rubricks_character_set_convert_lib' 
    4849require_dependency 'rubricks_lib/rubricks_component_info_lib' 
  • rubricks_core/trunk/app/models/rubricks_lib/rubricks_login_lib.rb

    r5745 r5759  
    4949                result[:login_message]      = RubricksLib.hl('[_System_Login_MessageChangePassword]') + get_password_messages 
    5050              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} 
    5952                ru_data.merge!({:mobile_ident => options[:mobile_ident]}) unless options[:mobile_ident].blank? 
    6053                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  ")) 
    6661                end 
    6762                result[:user] = ru 
  • rubricks_core/trunk/app/models/rubricks_trail.rb

    r5574 r5759  
    3737    EXPORT_MAX      = 10000 
    3838    FILTER_DEFAULT  = { 
    39       :trails_action_type               => ACTION_TYPES.stringify_keys.keys, 
    40       :trails_date                      => '[_System_AdminTrails_NotSpecified]', 
    4139      :trails_component_name            => 'all', 
    4240      :trails_component_display_name    => '[_System_AdminTrails_AllComponent]', 
    43       :trails_user_name                 => '[_System_AdminTrails_NotSpecified]', 
    4441    } 
    4542    LIST_PER_PAGE   = 100 
     
    4946 
    5047  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 true 
    58     end 
    59  
    6048    def filter_to_conditions(filter_conditions) 
    6149      queries = [] 
     
    8674        conditions << '' 
    8775      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 = ?' 
    9081        conditions << filter_conditions[:trails_user_name] 
    91       else 
    92         queries << 'user_name != ?' 
    93         conditions << '' 
    9482      end 
    9583      action_types = filter_conditions[:trails_action_type].keys rescue [] 
     
    140128        options[:object_data] = object_data.to_json.json_fix_special_char 
    141129        options[:object_data] = ''.to_json if options[:object_data].length > MAX_DATA_SIZE 
     130        rts = nil 
    142131        case options[:action_type] 
    143132        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) 
    146134        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! 
    149141        end 
    150142      end 
  • rubricks_core/trunk/app/models/rubricks_user.rb

    r5748 r5759  
    4444  validates_length_of       :admin_memo, :in => 0..20000 
    4545  after_create              :validate_user_limit 
    46   after_save                :save_password_history, :validate_difference_login_name_and_password 
     46  after_save                :mail_if_change_password, :save_password_history, :validate_difference_login_name_and_password 
    4747  attr_accessor             :password_changed 
    4848  cattr_accessor            :callback_after_invalidate 
     
    354354 
    355355  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 
    364357  end 
    365358 
     
    514507  end 
    515508 
     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 
    516521  def validate_difference_login_name_and_password 
    517522    raise RubricksError::User::ValidateSameInValueException if auth_by_password(self.login_name) 
  • rubricks_core/trunk/languages/english.rb

    r5748 r5759  
    179179      '_Common_Move'                            => 'Move', 
    180180      '_Common_Multiple'                        => 'Multiple', 
    181       '_Common_MustLogin'                       => 'You must login for using this page.', 
     181      '_Common_MustLogin'                       => 'You must login for browsing this site.', 
    182182      '_Common_Name'                            => 'Name', 
    183183      '_Common_NetworkError'                    => '[Network Error] Please retry later.', 
     
    250250      '_Common_RecordNotFound'                  => '[Record Not Found] Please refresh data, and try again.', 
    251251      '_Common_Refresh'                         => 'Refresh', 
     252      '_Common_RefuseGuest'                     => 'You can use this page while you log into this site.', 
    252253      '_Common_Register'                        => 'Register', 
    253254      '_Common_Registered_Group'                => 'Registered Group', 
     
    281282      '_Common_Signature'                       => 'Signature', 
    282283      '_Common_SiteAdmin'                       => 'Site Admin', 
     284      '_Common_SortKeyUserId'                   => 'User ID', 
     285      '_Common_SortKeyUserName'                 => 'User Name', 
    283286      '_Common_Start'                           => 'Start', 
    284287      '_Common_States'                          => 'States', 
     
    310313      '_Common_Tuesday'                         => 'Tue', 
    311314      '_Common_TuesdayFull'                     => 'Tuesday', 
    312       '_Common_Unauthorized'                    => 'You must login.', 
     315      '_Common_Unauthorized'                    => 'You must login for browsing this page.', 
    313316      '_Common_Uninstall'                       => 'Uninstall', 
    314317      '_Common_Uninstall_Confirm'               => 'Are you sure to uninstall this?', 
     
    383386      '_Common_Version'                         => 'Version', 
    384387      '_Common_Wait'                            => 'Just a second', 
     388      '_Common_WaitingApproval'                 => 'Waiting Approval', 
    385389      '_Common_Week'                            => 'Week', 
    386390      '_Common_Wednesday'                       => 'Wed', 
  • rubricks_core/trunk/languages/japanese.rb

    r5748 r5759  
    200200      '_Common_Move'                            => '移動', 
    201201      '_Common_Multiple'                        => '耇数可', 
    202       '_Common_MustLogin'                       => 'この機胜はログむン埌に利甚できたす。', 
     202      '_Common_MustLogin'                       => 'このサむトを利甚するにはログむンする忠
     203芁がありたす。', 
    203204      '_Common_Name'                            => '名前', 
    204205      '_Common_NetworkError'                    => '通信゚ラヌが発生したした。しばらくしおから操䜜をやり盎しおください。', 
     
    279280§ã—ようずしおいたす。既にデヌタが倉曎されおいる可胜性がありたす。デヌタを再衚瀺しお確認しおください。', 
    280281      '_Common_Refresh'                         => '最新衚瀺', 
     282      '_Common_RefuseGuest'                     => 'この機胜はログむンするこずで利甚するこずができたす。', 
    281283      '_Common_Register'                        => '登録', 
    282284      '_Common_Registered_Group'                => '登録グルヌプ', 
     
    313315      '_Common_SiteAdmin'                       => 'サむト管理耠
    314316', 
     317      '_Common_SortKeyUserId'                   => 'ナヌザIDの', 
     318      '_Common_SortKeyUserName'                 => 'ナヌザ名(よみがな)の', 
    315319      '_Common_Start'                           => '起動', 
    316320      '_Common_States'                          => 'ステヌタス', 
     
    445449      '_Common_Wait'                            => 'お埠
    446450ちください', 
     451      '_Common_WaitingApproval'                 => '承認埠
     452ち', 
    447453      '_Common_Week'                            => '週', 
    448454      '_Common_Wednesday'                       => 'æ°Ž', 
  • rubricks_core/trunk/vendor/plugins/rails_protection/lib/rails_protection_for_csrf.rb

    r4936 r5759  
    33    module ActionControllerMethods #:nodoc: 
    44      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 
    713        end 
    814      end 
     
    5965    end 
    6066 
     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 
    6173    class SessionValidateException < ::ActionController::ActionControllerError 
    6274    end 
     
    6476end 
    6577 
     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 
     87end 
    6688::ActionController::Base.send(:include, RailsProtection::Csrf::ActionControllerMethods) 
    6789::ActionController::Base.class_eval do 
     
    7395end 
    7496::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 
     103end 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_base.rb

    r5604 r5759  
    3939    end 
    4040 
     41    alias :rubricks_redirect_to_original :redirect_to unless method_defined?(:rubricks_redirect_to_original) 
    4142    def redirect_to(options = {}, *parameters_for_method_reference) 
    4243      case options 
    4344      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) 
    4946      when String 
    5047        redirect_to(RubricksLib.base_url + options) 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_define_page.rb

    r5695 r5759  
    1919      def print 
    2020        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) 
    2223        @title, @contents_blocks, rb_id = get_page_data 
    2324        @language = RubricksLib.lang_code 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_realtime_validator.rb

    r5702 r5759  
    33    module RealtimeValidatorMethods 
    44      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) 
    510        @headers["Content-type"] = 'text/javascript' 
    611        if valid 
    712          res = <<-"EOS" 
    813            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              } 
    1019            } else { 
    1120              _box['ajax_updater_last_value_#{params[:css_id]}'] = false; 
     
    1524        else 
    1625          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            } 
    1831          EOS 
    1932        end 
    20         render :text => re
     33        re
    2134      end 
    2235    end 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils.rb

    r5604 r5759  
    22require_dependency 'action_controller_rubricks_utils_filter' 
    33require_dependency 'action_controller_rubricks_utils_logger' 
     4require_dependency 'action_controller_rubricks_utils_refuse_guest' 
    45 
    56module ActionController 
     
    89    include RubricksUtilsFilterMethods 
    910    include RubricksUtilsLoggerMethods 
     11    include RubricksUtilsRefuseGuestMethods 
    1012  end 
    1113end 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_rubricks_utils_logger.rb

    r5604 r5759  
    1010        end 
    1111      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 
    1234    end 
    1335  end 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_controller_user_management.rb

    r5745 r5759  
    182182        @options = merge_options 
    183183        judge_show_group(@options) 
     184        set_sort_key(params[:group_user_sort]) 
    184185        @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) 
    187187        render :template => '/system/user_management/group_show_user_list.rhtml' 
    188188      end 
     
    284284          @partial_list     = [] 
    285285        end 
     286        headers["Content-Type"] = "text/html" 
    286287        render :template => '/system/user_management/print_control' 
    287288      end 
     
    947948      end 
    948949 
     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 
    949956      def judge_edit_group(options = nil) 
    950957        options ||= merge_options 
     
    9961003      end 
    9971004 
     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 
    9981012      def user_filter_merge_conditions(input_data, page) 
    9991013        options = merge_options 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_pagination_helper.rb

    r5688 r5759  
    8282        options                 = DEFAULT_OPTIONS.merge(arguments[:options]) 
    8383        params                  = options[:params].dup 
    84         params[:update]       ||= 'rubricks_partition_m' 
     84        params[:update]       ||= 'rubricks_partition_m' if options[:ajax_request].blank? 
    8585        params[:url]          ||= {:action => 'main'} 
    8686        params[:url][:params] ||= {} 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_realtime_validator_helper.rb

    r5747 r5759  
    22  module Helpers 
    33    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
    55        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
    77        elsif css_id.is_a? Array 
    88          result = '' 
    99          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
    1111          end 
    1212        end 
     
    9393      alias :end_validate :validate_form_end unless method_defined?(:end_validate) 
    9494 
    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
    9696        validator_name_orig = @validator_name 
    9797        @validator_name = button_id unless button_id.nil? 
    9898        result = '' 
    99         result += begin_hash(css_id, with_script_tag
     99        result += begin_hash(css_id, with_script_tag, msg_space_id
    100100 
    101101        options_without_script_close_tag = [:fieldset_count] 
     
    140140 
    141141      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" 
    145159            _box['#{@validator_name}_hash']['#{css_id}'] = { 
    146160              '/.*/': function(element, options) { 
     
    169183      def ajax_js(css_id, value) 
    170184        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 
    171186        return '' if !path || !msg 
    172187        res = '' 
     
    187202        res += <<-"EOS" 
    188203          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}){ 
    190205            var ajax_updater_#{css_id} = function(){ 
    191206              new Ajax.Request('#{path}' ,{ 
     
    202217            return _box['validates_#{@validator_name}_wait']('#{css_id}') + '#{check_msg}'; 
    203218          } 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; 
    205222          } 
    206223        EOS 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_helper.rb

    r5695 r5759  
    99          concat(str.compress_blank_and_linefeed, block.binding) 
    1010        end 
    11       end 
    12  
    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 html 
    2011      end 
    2112 
     
    3122end 
    3223 
     24require_dependency 'action_view_rubricks_block_helper' 
    3325require_dependency 'action_view_rubricks_buttons_helper' 
    3426require_dependency 'action_view_rubricks_filter_helper' 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_rubricks_user_data_helper.rb

    r5695 r5759  
    5151 
    5252      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) 
    5955        options = ru.image_options.merge({:src => src}) 
    6056        return tag('img', options) 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/action_view_user_management_helper.rb

    r5748 r5759  
    112112        html  = [] 
    113113        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 
    115115        when 'full' 
    116116          display_kana = ((RubricksLib.current_lang == 'japanese' && RubricksConfig.get('site_display_kana')) ? true : false) 
     
    128128      end 
    129129 
    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]}) 
    132134      end 
    133135 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/active_record_base.rb

    r5573 r5759  
    88 
    99    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 
    1030      def update!(id, attributes) 
    1131        if id.is_a?(Array) 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_base.rb

    r5550 r5759  
    33require_dependency 'active_support_core_ext_date_comparison' 
    44require_dependency 'active_support_core_ext_date_json' 
     5require_dependency 'active_support_core_ext_date_range' 
    56require_dependency 'active_support_core_ext_date_time_json' 
    67require_dependency 'active_support_core_ext_date_time_strftime' 
     
    2223 
    2324class Date 
     25  include ActiveSupport::CoreExtensions::Date::Range 
    2426  include ActiveSupport::CoreExtensions::Date::Comparison 
    2527  include ActiveSupport::CoreExtensions::Date::Json 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/active_support_core_ext_date_comparison.rb

    r5432 r5759  
    44      module Comparison 
    55        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') 
    1213          conditions.unshift(queries.join(' AND ')) 
    1314          return conditions 
  • rubricks_core/trunk/vendor/plugins/rubricks/lib/authorize_filter.rb

    r5695 r5759  
    55    module ClassMethods 
    66      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 <