Changeset 1236

Show
Ignore:
Timestamp:
10/19/08 16:24:04 (3 months ago)
Author:
dom
Message:

Add an admin navbar, to be displayed if the user requests (fixes #261)

Location:
trunk
Files:
1 added
9 modified

Legend:

Unmodified
Added
Removed
  • trunk/Build.PL

    r1234 r1236  
    363363                      "navbar_locales.tt", 
    364364                      "navbar_help.tt", 
     365                      "navbar_admin.tt", 
    365366                      "navbar_home_link.tt", 
    366367                      "navbar_options.tt", 
  • trunk/Changes

    r1235 r1236  
    1414        Set content charset correctly in RDF (#260) 
    1515        Display geodata ellipsoid to user in edit from (#230) 
     16        Add an admin navbar, to be displayed if the user requests (#261) 
    1617 
    17180.63    16 August 2008 
  • trunk/MANIFEST

    r1230 r1236  
    4848templates/moderate_password_wrong.tt 
    4949templates/navbar.tt 
     50templates/navbar_admin.tt 
    5051templates/navbar_categories.tt 
    5152templates/navbar_help.tt 
  • trunk/lib/OpenGuides/CGI.pm

    r1105 r1236  
    3939      cookie_expires             => "never", 
    4040      track_recent_changes_views => 1, 
    41       display_google_maps        => 1 
     41      display_google_maps        => 1, 
     42      is_admin                   => 1 
    4243  ); 
    4344 
     
    8485      cookie_expires             => "never", 
    8586      track_recent_changes_views => 1, 
    86       display_google_maps        => 1 
     87      display_google_maps        => 1, 
     88      is_admin                   => 1 
    8789  ); 
    8890 
     
    127129                    exp        => $args{cookie_expires}, 
    128130                    trackrc    => $args{track_recent_changes_views} || 0, 
    129                     gmaps      => $args{display_google_maps} || 0 
     131                    gmaps      => $args{display_google_maps} || 0, 
     132                    admin      => $args{is_admin} || 0 
    130133                  }, 
    131134        -expires => $expires, 
     
    181184                       trackrc    => "track_recent_changes_views", 
    182185                       gmaps      => "display_google_maps", 
     186                       admin      => "is_admin", 
    183187                     ); 
    184188    my %long_data = map { $long_forms{$_} => $data{$_} } keys %long_forms; 
     
    200204                     track_recent_changes_views => 0, 
    201205                     display_google_maps        => 1, 
     206                     is_admin                   => 0, 
    202207                   ); 
    203208    my %return; 
  • trunk/lib/OpenGuides/Template.pm

    r1235 r1236  
    156156        $enable_page_deletion = 1; 
    157157    } 
     158    my $is_admin = 0; 
     159    if ( $cookie_data{is_admin} ) { 
     160        $is_admin = 1; 
     161    }  
    158162 
    159163    my $tt_vars = { 
     
    170174        navbar_on_home_page   => $config->navbar_on_home_page, 
    171175        omit_help_links       => $omit_help_links, 
     176        is_admin              => $is_admin, 
    172177        formatting_rules_link => $formatting_rules_link, 
    173178        formatting_rules_node => $formatting_rules_node, 
  • trunk/preferences.cgi

    r1162 r1236  
    4646        vars     => { 
    4747                      not_editable => 1, 
     48                      not_deletable => 1, 
    4849                    } 
    4950    ); 
     
    5657        template => "preferences.tt", 
    5758        vars     => {  
    58                       not_editable => 1, 
    59                       show_form    => 1 
     59                      not_editable  => 1, 
     60                      show_form     => 1, 
     61                      not_deletable => 1, 
    6062                    } 
    6163    ); 
  • trunk/t/13_cookies.t

    r953 r1236  
    44use Time::Piece; 
    55use Time::Seconds; 
    6 use Test::More tests => 27; 
     6use Test::More tests => 29; 
    77 
    88eval { OpenGuides::CGI->make_prefs_cookie; }; 
     
    3131    track_recent_changes_views => "rc_pref", 
    3232    display_google_maps        => "gm_pref", 
     33    is_admin                   => "admin_pref", 
    3334); 
    3435isa_ok( $cookie, "CGI::Cookie", "->make_prefs_cookie returns a cookie" ); 
     
    6970is( $prefs{display_google_maps}, "gm_pref", 
    7071                                     "...and Google Maps display preference" ); 
    71  
     72is( $prefs{is_admin}, "admin_pref", 
     73                                     "...and admin preference" ); 
    7274# Now make sure that true/false preferences are taken account of when 
    7375# they're false. 
     
    8183    track_recent_changes_views => 0, 
    8284    display_google_maps        => 0, 
     85    is_admin                   => 0, 
    8386); 
    8487 
     
    9396ok( !$prefs{track_recent_changes_views}, "...and recent changes prefs" ); 
    9497ok( !$prefs{display_google_maps}, "...and Google Maps prefs" ); 
     98ok( !$prefs{is_admin}, "...and admin prefs" ); 
    9599 
    96100# Check that cookie parsing fails nicely if no cookie set. 
     
    98102%prefs = eval { OpenGuides::CGI->get_prefs_from_cookie( config => $config ); }; 
    99103is( $@, "", "->get_prefs_from_cookie doesn't die if no cookie set" ); 
    100 is( keys %prefs, 10, "...and returns ten default values" ); 
     104is( keys %prefs, 11, "...and returns ten default values" ); 
  • trunk/templates/navbar.tt

    r1007 r1236  
    55  [% INCLUDE navbar_tools.tt %] 
    66  [% INCLUDE navbar_help.tt %] 
     7  [% INCLUDE navbar_admin.tt %] 
    78  [% INCLUDE navbar_options.tt %] 
    89  [% INCLUDE navbar_search.tt %] 
  • trunk/templates/preferences.tt

    r1085 r1236  
    5656    [% END %] 
    5757    <label for="show_minor">Include &#8220;minor edits&#8221; in Recent Changes.</label> 
     58    </p> 
     59 
     60    <p> 
     61    [% IF prefs.is_admin %] 
     62      <input type="checkbox" id="is_admin" name="is_admin" value="1" checked /> 
     63    [% ELSE %] 
     64      <input type="checkbox" id="is_admin" name="is_admin" value="1" /> 
     65    [% END %] 
     66    <label for="show_minor">Show admin related links</label> 
    5867    </p> 
    5968 
     
    145154  </p> 
    146155 
     156  <p>Admin links will 
     157    [% UNLESS prefs.is_admin %] not [% END %] 
     158    be included in navbar. 
     159  </p> 
    147160  <p>Minor edits 
    148161    [% UNLESS show_minor_edits_in_rc %] not [% END %]