[Rt-commit] r19328 - rt/3.999/branches/config-in-db/lib/RT/Model

sunnavy at bestpractical.com sunnavy at bestpractical.com
Wed Apr 22 21:14:53 EDT 2009


Author: sunnavy
Date: Wed Apr 22 21:14:52 2009
New Revision: 19328

Modified:
   rt/3.999/branches/config-in-db/lib/RT/Model/Config.pm

Log:
no need to update if the old value is the same as new value

Modified: rt/3.999/branches/config-in-db/lib/RT/Model/Config.pm
==============================================================================
--- rt/3.999/branches/config-in-db/lib/RT/Model/Config.pm	(original)
+++ rt/3.999/branches/config-in-db/lib/RT/Model/Config.pm	Wed Apr 22 21:14:52 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