Changeset 220 for server


Ignore:
Timestamp:
12/29/10 11:41:48 (13 years ago)
Author:
nanardon
Message:
  • add rpms/analyse function
Location:
server/trunk/web
Files:
2 added
2 edited

Legend:

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

    r202 r220  
    119119    my ($self, $c, $pkgid, $deptype) = @_; 
    120120 
    121     @{ $c->stash->{xmlrpc}{deps}{$deptype} } =  
     121    $c->stash->{xmlrpc} = [  
    122122        map {  
    123123            {  
     
    139139 
    140140            }, 
    141         )->all; 
     141        )->all ]; 
    142142} 
    143143 
     
    263263        /^changelog$/ and $c->go('changelog', [ $pkgid, @args ]); 
    264264        /^location$/  and $c->go('location',  [ $pkgid, @args ]); 
     265        /^analyse$/   and $c->go('analyse',  [ $pkgid, @args ]); 
    265266    } 
    266267    $c->stash->{rpmurl} = $c->req->path; 
     
    423424} 
    424425 
     426sub analyse :Chained('rpms_') :PathPart('analyse') :Args(0) :XMLRPC { 
     427    my ( $self, $c, $pkgid, $dist ) = @_; 
     428    $pkgid ||= $c->stash->{pkgid}; 
     429    $c->stash->{rpmurl} = ($c->req->path =~ m:(.*)/[^/]+:)[0]; 
     430    $dist->{distribution} ||= $c->req->param('distribution'); 
     431    $dist->{release} ||= $c->req->param('release'); 
     432    $dist->{arch} ||= $c->req->param('arch'); 
     433 
     434    if ($c->req->param('analyse')) { 
     435 
     436        my @deplist = map { 
     437            [ $_->{name}, $_->{sense}, $_->{evr} ] 
     438        } @{ $c->forward('deps', [ $pkgid, 'R' ]) }; 
     439 
     440        $c->stash->{xmlrpc} = $c->forward( 
     441            '/analysis/solver/find_requirements', 
     442            [ $dist, 
     443                'P', \@deplist, [] ] 
     444        ); 
     445    } else { 
     446        $c->stash->{xmlrpc} = ''; 
     447    } 
     448} 
     449 
    425450=head1 AUTHOR 
    426451 
  • server/trunk/web/root/templates/html/rpms/menu.tt

    r154 r220  
    66<li><a href="[% c.uri_for('/', rpmurl, 'changelog') %]">ChangeLog</a></li> 
    77<li><a href="[% c.uri_for('/', rpmurl, 'location') %]">Location</a></li> 
     8<li><a href="[% c.uri_for('/', rpmurl, 'analyse') %]">Analyse</a></li> 
    89</ul> 
Note: See TracChangeset for help on using the changeset viewer.