gitweb: allow action specialization in page header
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 11 Nov 2010 12:26:13 +0000 (13:26 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 17 Nov 2010 21:02:19 +0000 (13:02 -0800)
An optional -action_extra parameter is given to git_header_html() to
identify a variant of the action that is being displayed. For example,
this can be used to specify that the remotes view is being used for a
specific remote and not to display all remotes.

When -action_extra is provided, the action name in the header will be
turned into a link to the action without any arguments or parameters, to
provide a quick link to the non-specific variant of the action.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl

index 7cd50d4b8255a09f32b95e41c240ca49d2568ec3..c3b89666c5a4fe89665ba48379ac6c363c26c11c 100755 (executable)
@@ -3526,7 +3526,15 @@ EOF
        if (defined $project) {
                print $cgi->a({-href => href(action=>"summary")}, esc_html($project));
                if (defined $action) {
-                       print " / $action";
+                       my $action_print = $action ;
+                       if (defined $opts{-action_extra}) {
+                               $action_print = $cgi->a({-href => href(action=>$action)},
+                                       $action);
+                       }
+                       print " / $action_print";
+               }
+               if (defined $opts{-action_extra}) {
+                       print " / $opts{-action_extra}";
                }
                print "\n";
        }