Development

Changeset 8159

You must first sign up to be able to contribute.

Changeset 8159

Show
Ignore:
Timestamp:
03/30/08 21:37:09 (8 months ago)
Author:
francois
Message:

sfPropelVersionableBehaviorPlugin Fixed ResourceVersion::getResourceInstance() creates new objects and saving these objects creates a new row in the resource table (closes #3229)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/sfPropelVersionableBehaviorPlugin/trunk/README

    r8098 r8159  
    427427== Changelog == 
    428428 
    429 === 2008-03-21 | Trunk === 
    430  
     429=== 2008-03-30 | Trunk === 
     430 
     431 * francois: Fixed `ResourceVersion::getResourceInstance()` creates new objects and saving these objects creates a new row in the resource table (#3229) 
    431432 * francois: Added `isLastVersion()` method 
    432433 * francois: Avoid saving unchanged records to save database space (refs #3150) 
    433434 * francois: Added `ResourceAttributeVersion::getResourceVersions()` method 
    434  * francois: Added `ResourceVersion::getResourceVersion()` method 
     435 * francois: Added `ResourceVersion::getResourceAttributeVersions()` method 
    435436 * francois: Avoid saving unchanged columns to save database space 
    436437 * francois: [BC Break] Added a `resource_attribute_version_hash` table, now middle table between versions and attributes 
  • plugins/sfPropelVersionableBehaviorPlugin/trunk/lib/model/ResourceVersion.php

    r8032 r8159  
    101101  { 
    102102    $resource_name = $this->getResourceName(); 
    103     return sfPropelVersionableBehavior::populateResourceFromVersion(new $resource_name(), $this); 
     103    $resource = sfPropelVersionableBehavior::populateResourceFromVersion(new $resource_name(), $this); 
     104    $resource->setNew(false); 
     105     
     106    return $resource; 
    104107  } 
    105108   
  • plugins/sfPropelVersionableBehaviorPlugin/trunk/test/unit/PropelVersionableBehaviorTest.php

    r8041 r8159  
    102102)))); 
    103103 
    104 $t = new lime_test(59, new lime_output_color()); 
     104$t = new lime_test(61, new lime_output_color()); 
    105105 
    106106// save() 
     
    427427} 
    428428 
     429#3229 Plugin creates new objects when restoring a resource from a resource version 
     430$r = _create_resource(); 
     431$r->setByName($test_class_title_column, 'v1', BasePeer::TYPE_FIELDNAME); 
     432$r->save(); 
     433$id1 = $r->getId(); 
     434$version = $r->getCurrentResourceVersion(); 
     435$resource = $version->getResourceInstance(); 
     436$t->is($resource->isNew(), false, 'ResourceVersion::getResourceInstance() does not return a new object'); 
     437$resource->save(); 
     438$t->is($resource->getId(), $id1, 'saving a resource restored by getResourceInstance() does not create a new row'); 
     439 
     440 
     441 
     442 
     443 
    429444// Helper functions 
    430445