Changeset 2657
- Timestamp:
- 06/30/08 05:19:22 (20 months ago)
- Files:
-
- 1 modified
-
branches/release-41/lib/MT/CMS/Category.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/release-41/lib/MT/CMS/Category.pm
r1933 r2657 435 435 } 436 436 437 sub _adjust_ancestry { 438 my ( $cat, $ancestor ) = @_; 439 return unless $cat && $ancestor; 440 if ( $ancestor->parent && ( $ancestor->parent != $cat->id ) ) { 441 _adjust_ancestry($cat, $ancestor->parent_category); 442 } 443 else { 444 $ancestor->parent($cat->parent); 445 $ancestor->save; 446 } 447 } 448 437 449 sub move_category { 438 450 my $app = shift; … … 444 456 my $cat = $class->load( $app->param('move_cat_id') ) 445 457 or return; 446 my $new_parent = $app->param('move-radio'); 447 448 return 1 if ( $new_parent == $cat->parent ); 449 450 $cat->parent($new_parent); 458 459 my $new_parent_id = $app->param('move-radio'); 460 461 return 1 if ( $new_parent_id == $cat->parent ); 462 463 if ( $new_parent_id ) { 464 my $new_parent = $class->load( $new_parent_id ) 465 or return; 466 if ( $cat->is_ancestor( $new_parent ) ) { 467 _adjust_ancestry( $cat, $new_parent ); 468 } 469 } 470 $cat->parent($new_parent_id); 451 471 my @siblings = $class->load( 452 472 {
