Changeset 76
- Timestamp:
- 12/05/10 07:14:41 (14 years ago)
- Location:
- server/trunk/web
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/lib/Sophie/Controller/0Explorer.pm
r43 r76 53 53 my $rsdist = $c->forward('/search/distrib_search', [ $c->session->{__explorer} ]); 54 54 55 my @col = qw(dirname basename md5 size pkgid count); 55 56 $c->stash->{xmlrpc} = [ 56 map { { pkgid => $_->get_column('pkgid') } } 57 map { { 58 pkgid => $_->get_column('pkgid'), 59 filename => $_->get_column('dirname') . $_->get_column('basename'), 60 dirname => $_->get_column('dirname'), 61 basename => $_->get_column('basename'), 62 md5 => $_->get_column('md5'), 63 perm => $_->get_column('perm'), 64 size => $_->get_column('size'), 65 user => $_->get_column('user'), 66 group => $_->get_column('group'), 67 has_content => $_->get_column('has_content'), 68 count => $_->get_column('count') 69 } } 57 70 $c->model('Base') 58 71 ->resultset('Files') … … 62 75 }, 63 76 { 64 'select' => [ 65 ' contents IS NULL as has_contents', 'pkgid'66 ],67 as => [ qw(has_content pkgid)],68 order_by => 'pkgid' 69 } 77 'select' => [ 'contents is NOT NULL as has_content', 'rpmfilesmode(mode) as perm', @col, '"group"', 78 '"user"' ], 79 as => [ qw(has_content perm), @col, 'group', 'user' ], 80 order_by => [ 'pkgid' ], 81 82 }, 70 83 )->all ]; 71 84 } -
server/trunk/web/lib/Sophie/Controller/Distrib.pm
r57 r76 287 287 } 288 288 289 sub list_rpms :Chained('distrib_view') PathPart('rpms') {289 sub list_rpms :Chained('distrib_view') PathPart('rpms') Args(0) { 290 290 my ( $self, $c ) = @_; 291 291 $c->forward('rpms', $c->stash->{dist}); 292 292 } 293 293 294 sub list_srpms :Chained('distrib_view') PathPart('srpms') {294 sub list_srpms :Chained('distrib_view') PathPart('srpms') Args(0) { 295 295 my ( $self, $c ) = @_; 296 296 $c->forward('srpms', $c->stash->{dist}); 297 297 } 298 298 299 sub srpm_by_name :Chained('distrib_view') PathPart('srpms') Args(1){300 my ($self, $c, $name ) = @_;299 sub srpm_by_name :Chained('distrib_view') PathPart('srpms') { 300 my ($self, $c, $name, @subpart) = @_; 301 301 $c->stash->{dist}{src} = 1; 302 302 ($c->stash->{pkgid}) = @{ $c->forward('/search/bytag', 303 303 [ $c->stash->{dist}, 'name', $name ])->{results} }; 304 304 $c->go('/404/index') unless ($c->stash->{pkgid}); 305 $c->go('/rpms/rpms', [ $c->stash->{pkgid} ]);306 } 307 308 sub rpm_by_name :Chained('distrib_view') PathPart('rpms') Args(1){309 my ($self, $c, $name ) = @_;305 $c->go('/rpms/rpms', [ $c->stash->{pkgid}, @subpart ]); 306 } 307 308 sub rpm_by_name :Chained('distrib_view') PathPart('rpms') { 309 my ($self, $c, $name, @subpart) = @_; 310 310 $c->stash->{dist}{src} = 0; 311 311 ($c->stash->{pkgid}) = @{ $c->forward('/search/bytag', 312 312 [ $c->stash->{dist}, 'name', $name ])->{results} }; 313 313 $c->go('/404/index') unless ($c->stash->{pkgid}); 314 $c->go('/rpms/rpms', [ $c->stash->{pkgid} ]);314 $c->go('/rpms/rpms', [ $c->stash->{pkgid}, @subpart ]); 315 315 } 316 316 … … 347 347 348 348 sub media_rpm_bypkgid :Chained('_media_list_rpms') PathPart('by-pkgid') { 349 my ( $self, $c, $pkgid, $part ) = @_;349 my ( $self, $c, $pkgid, @part ) = @_; 350 350 if ($pkgid) { 351 351 if (@{ $c->forward('/search/bypkgid', [ $c->stash->{dist}, $pkgid 352 352 ])->{results} } ) { 353 353 $c->stash->{pkgid} = $pkgid; 354 $c->go('/rpms/rpms', [ $pkgid, $part ]);354 $c->go('/rpms/rpms', [ $pkgid, @part ]); 355 355 } else { 356 356 $c->go('/404/index'); -
server/trunk/web/lib/Sophie/Controller/Rpms.pm
r61 r76 141 141 { 142 142 my $match = $c->stash->{pkgid}; 143 ($c->stash->{rpmurl}) = $c->req->path =~144 m{(.*/\Q$match\E)(?:/[^/]+)?$};145 143 } 146 144 #$c->model('Base')->resultset('Rpms')->search(pkgid => $pkgid)->next; … … 152 150 153 151 sub rpms : Private { 154 my ( $self, $c, $pkgid, $subpart) = @_; 152 my ( $self, $c, $pkgid, $subpart, @args) = @_; 153 $c->stash->{rpmurl} = $c->req->path; 155 154 # Because $c->forward don't take into account Chained sub 156 155 $c->forward('rpms_', [ $pkgid ]); 157 156 for ($subpart || '') { 158 /^deps$/ and $c->go('alldeps', [ $pkgid]);159 /^files$/ and $c->go('files', [ $pkgid ]);160 /^changelog$/ and $c->go('changelog', [ $pkgid ]);157 /^deps$/ and $c->go('alldeps', [ $pkgid, @args ]); 158 /^files$/ and $c->go('files', [ $pkgid, @args ]); 159 /^changelog$/ and $c->go('changelog', [ $pkgid, @args ]); 161 160 } 162 161 … … 173 172 sub alldeps :Chained('rpms_') :PathPart('deps') :Args(0) :XMLRPCLocal { 174 173 my ( $self, $c, $pkgid ) = @_; 174 $c->stash->{rpmurl} = ($c->req->path =~ m:(.*)/[^/]+:)[0]; 175 175 $pkgid ||= $c->stash->{pkgid}; 176 176 … … 202 202 203 203 sub files :Chained('rpms_') :PathPart('files') :Args(0) :XMLRPCLocal { 204 my ( $self, $c, $pkgid ) = @_; 204 my ( $self, $c, $pkgid, $number ) = @_; 205 $c->stash->{rpmurl} = ($c->req->path =~ m:(.*)/[^/]+:)[0]; 205 206 $pkgid ||= $c->stash->{pkgid}; 206 207 207 my @col = qw(dirname basename md5 size); 208 if ($number) { # This come from a forward 209 $c->go('files_contents', [ $number ]); 210 } 211 212 my @col = qw(dirname basename md5 size count); 208 213 $c->stash->{xmlrpc} = [ map { 209 214 { … … 217 222 group => $_->get_column('group'), 218 223 has_content => $_->get_column('has_content'), 224 count => $_->get_column('count'), 219 225 } 220 226 } $c->model('Base')->resultset('Files')->search( … … 232 238 } 233 239 240 sub files_contents :Chained('rpms_') :PathPart('files') :Args(1) { 241 my ( $self, $c, $number ) = @_; 242 $c->stash->{rpmurl} = ($c->req->path =~ m:(.*)/[^/]+/[^/]+:)[0]; 243 my $pkgid = $c->stash->{pkgid}; 244 245 $c->stash->{xmlrpc} = $c->model('Base')->resultset('Files')->search( 246 { 247 pkgid => $pkgid, 248 count => $number, 249 }, 250 { 251 select => ['contents'], 252 } 253 )->get_column('contents')->first; 254 } 255 234 256 sub changelog :Chained('rpms_') :PathPart('changelog') :Args(0) { 235 257 my ( $self, $c, $pkgid ) = @_; 236 258 $pkgid ||= $c->stash->{pkgid}; 259 $c->stash->{rpmurl} = ($c->req->path =~ m:(.*)/[^/]+:)[0]; 237 260 238 261 my @ch; -
server/trunk/web/root/static/sophie.css
r57 r76 27 27 font-size: 1.2em; 28 28 } 29 30 pre.filedata { 31 padding: 2em; 32 margin: 2em; 33 background: #F5F5DC; 34 border: outset; 35 } -
server/trunk/web/root/templates/html/0explorer/file.tt
r40 r76 4 4 5 5 [% FOREACH file = xmlrpc %] 6 [% IF loop.first %] 7 <table> 8 [% END %] 6 9 [% info = c.forward('/rpms/info', [ file.pkgid ]) %] 10 <tr><td colspan="6"> 7 11 <a href="[% c.uri_for('/rpms', file.pkgid) %]"> 8 12 [% info.name | html %]-[% info.version %]-[% info.release %].[% info.arch %] 9 </a><br> 13 </a></td></tr> 14 15 <tr class="filename"><td>[% file.perm %]</td><td align="right">[% file.size | format('%6d') 16 %]</td><td>[% file.user | format('%10s') -%]</td> 17 <td>[%- file.group | format('%10s') %]</td><td>[% file.md5 %]</td> 18 <td> 19 [% IF file.has_content %] 20 <a href="[% c.uri_for('/rpms', file.pkgid, 'files', file.count) %]"> 21 [% file.basename %] 22 </a> 23 [% ELSE %] 24 [% file.basename %] 25 [% END %] 26 </td></tr> 27 28 [% IF loop.last %] 29 </table> 30 [% END %] 10 31 [% END %] 11 32 -
server/trunk/web/root/templates/html/rpms/files.tt
r57 r76 10 10 <tr><td>[% file.perm %]</td><td align="right">[% file.size | format('%6d') %]</td><td>[% 11 11 file.user | format('%10s') -%]</td> 12 <td>[%- file.group | format('%10s') %]</td><td>[% file.filename %]</td> 13 <td>[% file.has_content %]</tr> 12 <td>[%- file.group | format('%10s') %]</td> 13 <td> 14 [% IF file.has_content %] 15 <a href="[% c.uri_for('/', rpmurl, 'files', file.count) %]"> 16 [% file.filename | html %] 17 </a> 18 [% ELSE %] 19 [% file.filename | html %] 20 [% END %] 21 </td></tr> 14 22 [%- IF loop.last -%] 15 23 </table> -
server/trunk/web/root/templates/html/rpms/menu.tt
r57 r76 2 2 <a href="[% c.uri_for('/', rpmurl, 'deps') %]">Deps</a> 3 3 <a href="[% c.uri_for('/', rpmurl, 'files') %]">Files</a> 4 <a href="[% c.uri_for('/', rpmurl, 'changelog') %]">ChangeLog</a>
Note: See TracChangeset
for help on using the changeset viewer.