[Rt-commit] r19540 - in rt/3.999/trunk: .

sunnavy at bestpractical.com sunnavy at bestpractical.com
Thu May 7 03:27:46 EDT 2009


Author: sunnavy
Date: Thu May  7 03:27:46 2009
New Revision: 19540

Modified:
   rt/3.999/trunk/   (props changed)
   rt/3.999/trunk/lib/RT/Model/Config.pm

Log:
 r20881 at sunnavys-mb (orig r19328):  sunnavy | 2009-04-23 09:14:52 +0800
 no need to update if the old value is the same as new value


Modified: rt/3.999/trunk/lib/RT/Model/Config.pm
==============================================================================
--- rt/3.999/trunk/lib/RT/Model/Config.pm	(original)
+++ rt/3.999/trunk/lib/RT/Model/Config.pm	Thu May  7 03:27:46 2009
@@ -49,6 +49,7 @@
 use strict;
 package RT::Model::Config;
 use base qw/RT::Record/;
+use FreezeThaw qw/cmpStr/;
 
 sub table {'Configs'}
 
@@ -76,7 +77,7 @@
     my ( $ret, $msg ) = $config->load_by_cols( name => $name );
     if ($ret) {
         my $value = $config->value;
-        return '' if defined $value && $value eq '[empty string]';
+        return '' if defined $value && $value eq $self->_empty_string;
         return $value;
     }
     else {
@@ -118,7 +119,14 @@
     my $config = RT::Model::Config->new( current_user => RT->system_user );
     my ( $ret, $msg ) = $config->load_by_cols( name => $name );
     if ($ret) {
-        return $config->set_value( $value );
+        my $old_value = $config->value;
+        if ( cmpStr( $old_value, $value ) == 0 ) {
+            Jifty->log->info(
+                "$name: new value is the same as old value, no need to update");
+        }
+        else {
+            return $config->set_value( $value );
+        }
     }
     else {
         Jifty->log->info( "no $name exist yet, will create a new item" );


More information about the Rt-commit mailing list