Changeset 375 for server/trunk/web/lib


Ignore:
Timestamp:
06/02/11 18:26:10 (13 years ago)
Author:
nanardon
Message:
  • remove media not existing in dump when loading a distrib
Location:
server/trunk/web/lib/Sophie/Controller
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • server/trunk/web/lib/Sophie/Controller/Admin.pm

    r346 r375  
    6767 
    6868    my $d = $c->model('Base')->resultset('Distribution') 
    69         ->search(name => $distribspec->{distribution}) 
    70         ->search_related('Release', version => $distribspec->{release}) 
    71         ->search_related('Arch', arch => $distribspec->{arch})->next; 
     69        ->search({ name => $distribspec->{distribution} }) 
     70        ->search_related('Release', { version => $distribspec->{release} }) 
     71        ->search_related('Arch',    { arch => $distribspec->{arch} })->next; 
    7272    if ($d) { 
    7373        my $new = my $rs = $c->model('Base')->resultset('Medias') 
     
    9494            label => $medianame, 
    9595            d_arch => $c->model('Base')->resultset('Distribution') 
    96                 ->search(name => $distribspec->{distribution}) 
    97                 ->search_related('Release', version => $distribspec->{release}) 
    98                 ->search_related('Arch', arch => 
    99                     $distribspec->{arch})->next->d_arch_key, 
     96                ->search({ name => $distribspec->{distribution} }) 
     97                ->search_related('Release', 
     98                    { version => $distribspec->{release}} ) 
     99                ->search_related('Arch', 
     100                    { arch => $distribspec->{arch} })->next->d_arch_key, 
    100101        } 
    101102    ); 
     
    173174 
    174175    my $med = $c->model('Base')->resultset('Distribution') 
    175         ->search(name => $distribution) 
    176         ->search_related('Release', version => $version) 
    177         ->search_related('Arch', arch => $arch) 
    178         ->search_related('Medias', label => $label)->next or return; 
     176        ->search({ name => $distribution }) 
     177        ->search_related('Release', { version => $version }) 
     178        ->search_related('Arch',    { arch => $arch }) 
     179        ->search_related('Medias',  { label => $label })->next or return; 
    179180 
    180181    my $rspath = $c->model('Base')->resultset('Paths') 
     
    349350 
    350351    my $rsdist = $c->model('Base')->resultset('Distribution') 
    351         ->search(name => $distribution->{distribution}) 
    352         ->search_related('Release', version => $distribution->{release}) 
    353         ->search_related('Arch', arch => $distribution->{arch}) 
     352        ->search({ name => $distribution->{distribution} }) 
     353        ->search_related('Release', { version => $distribution->{release} }) 
     354        ->search_related('Arch',    { arch => $distribution->{arch} }) 
    354355        ->search_related('Medias'); 
    355356 
     
    366367 
    367368    my $ref = thaw($dump); 
    368  
    369     warn keys %{$ref->{path}}; 
    370369 
    371370    $c->forward('clean_distrib', [ $ref->{distrib} ]); 
     
    377376        ]); 
    378377 
     378    # cleaning media not existing anymore 
     379    foreach my $media (@{ $c->forward('/distrib/list', [ $ref->{distrib} ]) || []}) { 
     380        if (!grep { $media eq $_->{label} } (@{ $ref->{media} || []})) { 
     381            $c->forward('remove_media', [ $ref->{distrib}, $media ]); 
     382        } 
     383    } 
    379384    foreach my $media (@{ $ref->{media} || []}) { 
    380385        $c->forward('add_media', [ $ref->{distrib}, $media ]); 
  • server/trunk/web/lib/Sophie/Controller/Distrib.pm

    r368 r375  
    5757            $rs->search(undef, { order_by => ['version'] })->all ]; 
    5858    } 
    59     $rs = $rs->search(version => $release)->search_related('Arch'); 
     59    $rs = $rs->search({ version => $release })->search_related('Arch'); 
    6060    if (!$arch) { 
    6161        return $c->stash->{xmlrpc} = [ map { $_->arch }  
    6262            $rs->search(undef, { order_by => ['arch'] })->all ]; 
    6363    } 
    64     $rs = $rs->search(arch => $arch)->search_related('Medias'); 
     64    $rs = $rs->search({ arch => $arch })->search_related('Medias'); 
    6565    return $c->stash->{xmlrpc} = [ map { $_->label } 
    6666        $rs->search(undef, { order_by => ['label'] })->all ]; 
Note: See TracChangeset for help on using the changeset viewer.