Author: kake
Date: 2007-06-09 17:49:43 +0100 (Sat, 09 Jun 2007)
New Revision: 1045
Added:
trunk/t/58_recent_changes_navbar.t
Modified:
trunk/lib/OpenGuides.pm
trunk/newpage.cgi
Log:
Make sure that common categories and locales (if configured) show up on recent changes and create new page form (fixes #199).
Modified: trunk/lib/OpenGuides.pm
===================================================================
--- trunk/lib/OpenGuides.pm 2007-06-09 14:38:14 UTC (rev 1044)
+++ trunk/lib/OpenGuides.pm 2007-06-09 16:49:43 UTC (rev 1045)
@@ -628,6 +628,13 @@
}
}
$tt_vars{not_editable} = 1;
+ if ($config->enable_common_categories || $config->enable_common_locales) {
+ $tt_vars{common_catloc} = 1;
+ $tt_vars{common_categories} = $config->enable_common_categories;
+ $tt_vars{common_locales} = $config->enable_common_locales;
+ $tt_vars{catloc_link} = $config->script_url . $config->script_name
+ . "?id=";
+ }
$tt_vars{recent_changes} = \%recent_changes;
my %processing_args = (
id => $id,
Modified: trunk/newpage.cgi
===================================================================
--- trunk/newpage.cgi 2007-06-09 14:38:14 UTC (rev 1044)
+++ trunk/newpage.cgi 2007-06-09 16:49:43 UTC (rev 1045)
@@ -30,15 +30,24 @@
}
sub show_form {
+ my %tt_vars = (
+ not_editable => 1,
+ not_deletable => 1,
+ deter_robots => 1,
+ disallowed_chars => \@badchars,
+ pagename => $pagename,
+ );
+ if ($config->enable_common_categories || $config->enable_common_locales) {
+ $tt_vars{common_catloc} = 1;
+ $tt_vars{common_categories} = $config->enable_common_categories;
+ $tt_vars{common_locales} = $config->enable_common_locales;
+ $tt_vars{catloc_link} = $config->script_url . $config->script_name
+ . "?id=";
+ }
print OpenGuides::Template->output( wiki => $wiki,
config => $config,
template => "newpage.tt",
- vars => {
- not_editable => 1,
- not_deletable => 1,
- deter_robots => 1,
- disallowed_chars => \@badchars,
- pagename => $pagename }
+ vars => \%tt_vars,
);
}
Added: trunk/t/58_recent_changes_navbar.t
===================================================================
--- trunk/t/58_recent_changes_navbar.t (rev 0)
+++ trunk/t/58_recent_changes_navbar.t 2007-06-09 16:49:43 UTC (rev 1045)
@@ -0,0 +1,56 @@
+use strict;
+use OpenGuides;
+use OpenGuides::Test;
+use Test::More;
+use Wiki::Toolkit::Setup::SQLite;
+
+eval { require DBD::SQLite; };
+if ( $@ ) {
+ plan skip_all => "DBD::SQLite not installed - no database to test with";
+ exit 0;
+}
+
+eval { require Test::HTML::Content; };
+if ( $@ ) {
+ plan skip_all => "Test::HTML::Content not installed";
+ exit 0;
+}
+
+plan tests => 4;
+
+my ( $config, $guide, $wiki, $output );
+
+# Clear out the database from any previous runs.
+unlink "t/node.db";
+unlink <t/indexes/*>;
+Wiki::Toolkit::Setup::SQLite::setup( { dbname => "t/node.db" } );
+
+# Make a guide with common categories and locales enabled.
+$config = OpenGuides::Test->make_basic_config;
+$config->enable_common_categories( 1 );
+$config->enable_common_locales( 1 );
+$guide = OpenGuides->new( config => $config );
+
+# Make sure common categories and locales show up on recent changes display.
+$output = $guide->display_recent_changes(
+ return_output => 1,
+ );
+$output =~ s/^Content-Type.*[\r\n]+//m;
+Test::HTML::Content::tag_ok( $output, "div", { id => "navbar_categories" },
+ "common categories in recent changes navbar" );
+Test::HTML::Content::tag_ok( $output, "div", { id => "navbar_locales" },
+ "...common locales too" );
+
+# Now make a guide with common categories and locales disabled.
+$config = OpenGuides::Test->make_basic_config;
+$guide = OpenGuides->new( config => $config );
+
+# Make sure common categories/locales are omitted from recent changes display.
+$output = $guide->display_recent_changes(
+ return_output => 1,
+ );
+$output =~ s/^Content-Type.*[\r\n]+//m;
+Test::HTML::Content::no_tag( $output, "div", { id => "navbar_categories" },
+ "common categories in recent changes navbar" );
+Test::HTML::Content::no_tag( $output, "div", { id => "navbar_locales" },
+ "...common locales too" );