[Rt-commit] rt branch, 3.9-merge-rtfm, updated. rt-3.9.6-1087-g03b94e1

? sunnavy sunnavy at bestpractical.com
Fri Dec 3 01:19:47 EST 2010


The branch, 3.9-merge-rtfm has been updated
       via  03b94e1ea6ace03fde5b0f534e716e6b43410dee (commit)
       via  73307aace4cc0779b3b36864c3a946bc3dff894d (commit)
       via  b1c08b0ff0d162d0d6c8f329836027ce08a13428 (commit)
       via  a16375ab488152e0d99b4cd0f51b19217f950485 (commit)
       via  cb35894aa29f7be0cbf8b49d482cc8a93c59aab8 (commit)
       via  ebd5318ddb2a9b924a6960e7a7bc5d7d5554ff50 (commit)
       via  8c868318bcd30e93ffbbfedad4ab63e8d315808e (commit)
       via  075d5328671defe582cb87225227d3f2571b061c (commit)
       via  6b56b98be8a0c36a708d437ed3bcf85d1c8ba21f (commit)
       via  3ca031b4d6d35a7a42a68a29430cacbd5e62e49b (commit)
       via  c5e50503fdc4adbc23bb81d9baa1f78bbbd442c4 (commit)
       via  c886e6c06b576600c856563ffe0b8944fad1df75 (commit)
      from  888016d5e351279dc650daf58e5f23abfada8adb (commit)

Summary of changes:
 lib/RT/Article.pm                                  |   38 ++++++++++----------
 lib/RT/Article_Overlay.pm                          |    4 +-
 lib/RT/Articles.pm                                 |    2 +-
 lib/RT/Articles_Overlay.pm                         |    4 +-
 lib/RT/Class.pm                                    |   32 ++++++++--------
 lib/RT/Class_Overlay.pm                            |    2 +-
 lib/RT/Classes.pm                                  |    2 +-
 lib/RT/Config.pm                                   |    2 +-
 lib/RT/ObjectClass.pm                              |   26 +++++++-------
 lib/RT/ObjectClasses.pm                            |    2 +-
 lib/RT/ObjectTopic.pm                              |   18 +++++-----
 lib/RT/ObjectTopics.pm                             |    2 +-
 lib/RT/Record.pm                                   |    3 +-
 lib/RT/Topic.pm                                    |   24 ++++++------
 lib/RT/Topics.pm                                   |    2 +-
 lib/RT/URI/fsck_com_article.pm                     |    6 ++--
 share/html/Admin/Articles/Classes/Modify.html      |    2 +-
 share/html/Admin/Articles/Classes/Objects.html     |    1 +
 share/html/{Articles => }/Article/Delete.html      |    2 +-
 share/html/{Articles => }/Article/Display.html     |    0
 share/html/{Articles => }/Article/Edit.html        |   14 +++++++-
 .../{Articles => }/Article/Elements/EditBasics     |    0
 .../Article/Elements/EditCustomFields              |    0
 .../html/{Articles => }/Article/Elements/EditLinks |    0
 .../{Articles => }/Article/Elements/EditTopics     |    0
 .../Article/Elements/LinkEntryInstructions         |    0
 .../{Articles => }/Article/Elements/Preformatted   |    0
 .../Article/Elements/SearchByCustomField           |    0
 .../Article/Elements/SelectSavedSearches           |    0
 .../Article/Elements/SelectSearchPrivacy           |    0
 .../{Articles => }/Article/Elements/ShowHistory    |    0
 .../html/{Articles => }/Article/Elements/ShowLinks |    0
 .../Article/Elements/ShowSavedSearches             |    0
 .../Article/Elements/ShowSearchCriteria            |    6 ++--
 .../{Articles => }/Article/Elements/ShowTopics     |    0
 .../{Articles => }/Article/ExtractFromTicket.html  |    0
 .../{Articles => }/Article/ExtractIntoClass.html   |    0
 .../{Articles => }/Article/ExtractIntoTopic.html   |    0
 share/html/{Articles => }/Article/History.html     |    0
 share/html/{Articles => }/Article/PreCreate.html   |    1 -
 share/html/{Articles => }/Article/Search.html      |   10 +++---
 share/html/Articles/Elements/GotoArticle           |    2 +-
 share/html/Articles/Elements/IncludeArticle        |    2 +-
 share/html/Articles/Elements/NewestArticles        |    4 +-
 share/html/Articles/Elements/QuickSearch           |    2 +-
 share/html/Articles/Elements/UpdatedArticles       |    4 +-
 share/html/Elements/Tabs                           |   26 ++++++++++----
 share/html/Search/Article.html                     |    2 +-
 share/html/Search/Elements/Article                 |    4 +-
 share/html/Ticket/Create.html                      |    1 +
 t/articles/article.t                               |    2 +-
 t/articles/class.t                                 |    2 +-
 t/articles/interface.t                             |   16 +++++----
 t/articles/queue-specific-class.t                  |   34 +++++++++---------
 t/articles/search-interface.t                      |    7 ++--
 t/articles/upload-customfields.t                   |   13 +++----
 t/articles/uri-a.t                                 |    2 +-
 t/articles/uri-rtfm.t                              |    2 +-
 58 files changed, 179 insertions(+), 151 deletions(-)
 rename share/html/{Articles => }/Article/Delete.html (98%)
 rename share/html/{Articles => }/Article/Display.html (100%)
 rename share/html/{Articles => }/Article/Edit.html (96%)
 rename share/html/{Articles => }/Article/Elements/EditBasics (100%)
 rename share/html/{Articles => }/Article/Elements/EditCustomFields (100%)
 rename share/html/{Articles => }/Article/Elements/EditLinks (100%)
 rename share/html/{Articles => }/Article/Elements/EditTopics (100%)
 rename share/html/{Articles => }/Article/Elements/LinkEntryInstructions (100%)
 rename share/html/{Articles => }/Article/Elements/Preformatted (100%)
 rename share/html/{Articles => }/Article/Elements/SearchByCustomField (100%)
 rename share/html/{Articles => }/Article/Elements/SelectSavedSearches (100%)
 rename share/html/{Articles => }/Article/Elements/SelectSearchPrivacy (100%)
 rename share/html/{Articles => }/Article/Elements/ShowHistory (100%)
 rename share/html/{Articles => }/Article/Elements/ShowLinks (100%)
 rename share/html/{Articles => }/Article/Elements/ShowSavedSearches (100%)
 rename share/html/{Articles => }/Article/Elements/ShowSearchCriteria (96%)
 rename share/html/{Articles => }/Article/Elements/ShowTopics (100%)
 rename share/html/{Articles => }/Article/ExtractFromTicket.html (100%)
 rename share/html/{Articles => }/Article/ExtractIntoClass.html (100%)
 rename share/html/{Articles => }/Article/ExtractIntoTopic.html (100%)
 rename share/html/{Articles => }/Article/History.html (100%)
 rename share/html/{Articles => }/Article/PreCreate.html (99%)
 rename share/html/{Articles => }/Article/Search.html (93%)

- Log -----------------------------------------------------------------
commit c886e6c06b576600c856563ffe0b8944fad1df75
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:12:15 2010 +0800

    go on with name update

diff --git a/lib/RT/Config.pm b/lib/RT/Config.pm
index 7faf3a4..019af51 100644
--- a/lib/RT/Config.pm
+++ b/lib/RT/Config.pm
@@ -906,7 +906,7 @@ sub SetFromConfig {
             if ( $source{'Extension'} ne $args{'Extension'} ) {
                 # as a site config is loaded earlier then its base config
                 # then we warn only on different extensions, for example
-                # RTIR's options is set in main site config or RTFM's
+                # RTIR's options is set in main site config
                 warn
                     "Change of config option '$name' at $args{'File'} line $args{'Line'} has been ignored."
                     ." It may be ok, but we want you to be aware."
diff --git a/lib/RT/Record.pm b/lib/RT/Record.pm
index 77d0b65..96c679b 100755
--- a/lib/RT/Record.pm
+++ b/lib/RT/Record.pm
@@ -1519,7 +1519,8 @@ sub CustomFields {
     return $cfs;
 }
 
-# TODO: This _only_ works for RT::Class classes. it doesn't work, for example, for RT::FM classes.
+# TODO: This _only_ works for RT::Class classes. it doesn't work, for example,
+# for RT::IR classes.
 
 sub _LookupId {
     my $self = shift;
diff --git a/lib/RT/URI/fsck_com_article.pm b/lib/RT/URI/fsck_com_article.pm
index 14f1ebf..ef52367 100644
--- a/lib/RT/URI/fsck_com_article.pm
+++ b/lib/RT/URI/fsck_com_article.pm
@@ -89,7 +89,7 @@ When handed an L<RT::Article> object, figure out its URI
 
 =head2 ParseURI URI
 
-When handed an fsck.com-rtfm: URI, figures out things like whether its a local article
+When handed an fsck.com-article URI, figures out things like whether its a local article
 and what its ID is
 
 =cut
@@ -173,7 +173,7 @@ Return the URI scheme for RT articles
 
 sub Scheme {
     my $self = shift;
-	return "fsck.com-rtfm";
+	return "fsck.com-article";
 }
 
 =head2 HREF
diff --git a/t/articles/article.t b/t/articles/article.t
index 91dac26..33becb0 100644
--- a/t/articles/article.t
+++ b/t/articles/article.t
@@ -123,7 +123,7 @@ ok($referred_To_by_a->First->BaseObj->isa('RT::Article'), "Yep. its an article")
 ok($id,$msg);
 
 
-# Create an Article A RefersTo Ticket 1 from the RTFM side
+# Create an Article A RefersTo Ticket 1 from the Articles side
 use RT::Ticket;
 
 
diff --git a/t/articles/class.t b/t/articles/class.t
index 564efc9..6dd4916 100644
--- a/t/articles/class.t
+++ b/t/articles/class.t
@@ -43,7 +43,7 @@ ok($cl->id, "Loaded the class we want");
 # Create a new user. make sure they can't create a class
 
 my $u= RT::User->new($RT::SystemUser);
-$u->Create(Name => "RTFMTest".time, Privileged => 1);
+$u->Create(Name => "ArticlesTest".time, Privileged => 1);
 ok ($u->Id, "Created a new user");
 
 # Make sure you can't create a group with no acls
diff --git a/t/articles/interface.t b/t/articles/interface.t
index 5eb7483..be933de 100644
--- a/t/articles/interface.t
+++ b/t/articles/interface.t
@@ -162,9 +162,9 @@ ok($ret, "Test ticket for articles created: $msg");
 
 isa_ok($m, 'Test::WWW::Mechanize');
 ok($m->login, 'logged in');
-$m->follow_link_ok({text => 'RTFM'}, 'UI -> RTFM');
+$m->follow_link_ok({text => 'Articles'}, 'UI -> Articles');
 $m->content_contains($article3->Name);
-$m->follow_link_ok( {text => $article3->Name}, 'RTFM -> '. $article3->Name );
+$m->follow_link_ok( {text => $article3->Name}, 'Articles -> '. $article3->Name );
 $m->title_is("Article #" . $article3->Id . ": " . $article3->Name);
 $m->follow_link_ok( { text => 'Modify'}, 'Article -> Modify' );
 
@@ -206,8 +206,8 @@ $m->content_contains($ticket->Subject,
 
 diag("Test creating a ticket in Class2 and make sure we don't see Class1 Topics") if $ENV{TEST_VERBOSE};
 {
-$m->follow_link_ok( {text => 'RTFM'}, 'UI -> RTFM');
-$m->follow_link_ok( {text => 'Articles' }, 'RTFM -> Articles' );
+$m->follow_link_ok( {text => 'Articles'}, 'UI -> Articles');
+$m->follow_link_ok( {text => 'Articles' }, 'Articles -> Articles' );
 $m->follow_link_ok( {text => 'New Article' }, 'Articles -> New Article' );
 $m->follow_link_ok( {text => 'in class '.$class2->Name }, 'New Article -> in class '.$class2->Name );
 $m->content_lacks( $topic1->Name, "Topic1 from Class1 isn't shown" );
diff --git a/t/articles/queue-specific-class.t b/t/articles/queue-specific-class.t
index c16ef63..6bd39c0 100644
--- a/t/articles/queue-specific-class.t
+++ b/t/articles/queue-specific-class.t
@@ -13,7 +13,7 @@ my %class = map { $_ => '' } qw/foo bar/;
 diag "create classes foo and bar" if $ENV{TEST_VERBOSE};
 
 for my $name ( keys %class ) {
-    $m->get_ok( '/Admin/RTFM/Classes/Modify.html?Create=1',
+    $m->get_ok( '/Admin/Articles/Classes/Modify.html?Create=1',
         'class create page' );
 
     $m->submit_form(
@@ -31,7 +31,7 @@ for my $name ( keys %class ) {
 diag "create articles in foo and bar" if $ENV{TEST_VERBOSE};
 
 for my $name ( keys %class ) {
-    $m->get_ok( '/RTFM/Article/Edit.html?Class=' . $class{$name},
+    $m->get_ok( '/Article/Edit.html?Class=' . $class{$name},
         'article create page' );
 
     $m->submit_form(
@@ -44,7 +44,7 @@ for my $name ( keys %class ) {
 
 diag "apply foo to queue General" if $ENV{TEST_VERBOSE};
 {
-    $m->get_ok( '/Admin/RTFM/Classes/Objects.html?id=' . $class{foo},
+    $m->get_ok( '/Admin/Articles/Classes/Objects.html?id=' . $class{foo},
         'apply page' );
     $m->submit_form(
         form_number => 3,
@@ -79,7 +79,7 @@ diag "update ticket to see if there is article foo"
 
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM_Content' => 'article' },
+        fields      => { 'Articles_Content' => 'article' },
         button      => 'Go',
     );
     $m->content_like( qr/article foo.*article foo/s, 'selected article foo' );
@@ -89,7 +89,7 @@ diag "update ticket to see if there is article foo"
         'ticket update page' );
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM-Include-Article-Named' => 'article foo' },
+        fields      => { 'Articles-Include-Article-Named' => 'article foo' },
         button      => 'Go',
     );
     $m->content_like( qr/article foo.*article foo/s, 'selected article foo' );
@@ -99,7 +99,7 @@ diag "update ticket to see if there is article foo"
         'ticket update page' );
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM-Include-Article-Named' => 'articlei bar' },
+        fields      => { 'Articles-Include-Article-Named' => 'articlei bar' },
         button      => 'Go',
     );
     $m->content_unlike( qr/article foo.*article foo/s, 'no article foo' );
@@ -108,7 +108,7 @@ diag "update ticket to see if there is article foo"
 
 diag "apply bar to globally" if $ENV{TEST_VERBOSE};
 {
-    $m->get_ok( '/Admin/RTFM/Classes/Objects.html?id=' . $class{bar},
+    $m->get_ok( '/Admin/Articles/Classes/Objects.html?id=' . $class{bar},
         'apply page' );
     $m->submit_form(
         form_number => 3,
@@ -129,7 +129,7 @@ diag "update ticket to see if there are both article foo and bar"
 
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM_Content' => 'article' },
+        fields      => { 'Articles_Content' => 'article' },
         button      => 'Go',
     );
     $m->content_like( qr/article foo.*article foo/s, 'selected article foo' );
@@ -139,7 +139,7 @@ diag "update ticket to see if there are both article foo and bar"
         'ticket update page' );
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM-Include-Article-Named' => 'article foo' },
+        fields      => { 'Articles-Include-Article-Named' => 'article foo' },
         button      => 'Go',
     );
     $m->content_like( qr/article foo.*article foo/s, 'selected article foo' );
@@ -149,7 +149,7 @@ diag "update ticket to see if there are both article foo and bar"
         'ticket update page' );
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM-Include-Article-Named' => 'article bar' },
+        fields      => { 'Articles-Include-Article-Named' => 'article bar' },
         button      => 'Go',
     );
     $m->content_like( qr/article bar.*article bar/s, 'selected article bar' );
@@ -159,7 +159,7 @@ diag "update ticket to see if there are both article foo and bar"
 
 diag "remove both foo and bar" if $ENV{TEST_VERBOSE};
 {
-    $m->get_ok( '/Admin/RTFM/Classes/Objects.html?id=' . $class{foo},
+    $m->get_ok( '/Admin/Articles/Classes/Objects.html?id=' . $class{foo},
         'apply page' );
     $m->submit_form(
         form_number => 3,
@@ -168,7 +168,7 @@ diag "remove both foo and bar" if $ENV{TEST_VERBOSE};
     );
     $m->content_contains( 'Object deleted', 'removed foo' );
 
-    $m->get_ok( '/Admin/RTFM/Classes/Objects.html?id=' . $class{bar},
+    $m->get_ok( '/Admin/Articles/Classes/Objects.html?id=' . $class{bar},
         'apply page' );
     $m->submit_form(
         form_number => 3,
@@ -189,7 +189,7 @@ diag "update ticket to see if there are both article foo and bar"
 
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM_Content' => 'article' },
+        fields      => { 'Articles_Content' => 'article' },
         button      => 'Go',
     );
     $m->content_lacks( 'article foo', 'no article foo' );
@@ -199,7 +199,7 @@ diag "update ticket to see if there are both article foo and bar"
         'ticket update page' );
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM-Include-Article-Named' => 'article foo' },
+        fields      => { 'Articles-Include-Article-Named' => 'article foo' },
         button      => 'Go',
     );
     $m->content_lacks( 'article foo', 'no article foo' );
@@ -209,7 +209,7 @@ diag "update ticket to see if there are both article foo and bar"
         'ticket update page' );
     $m->submit_form(
         form_number => 3,
-        fields      => { 'RTFM-Include-Article-Named' => 'article bar' },
+        fields      => { 'Articles-Include-Article-Named' => 'article bar' },
         button      => 'Go',
     );
     $m->content_lacks( 'article foo', 'no article foo' );
diff --git a/t/articles/search-interface.t b/t/articles/search-interface.t
index 65557fa..e9db0f1 100644
--- a/t/articles/search-interface.t
+++ b/t/articles/search-interface.t
@@ -106,7 +106,7 @@ ok($ret, "article 4 created");
 
 isa_ok($m, 'Test::WWW::Mechanize');
 ok($m->login, 'logged in');
-$m->follow_link_ok({text => 'RTFM'}, 'UI -> RTFM');
-$m->follow_link_ok( {text => 'Articles'}, 'RTFM -> Articles');
+$m->follow_link_ok({text => 'Articles'}, 'UI -> Articles');
+$m->follow_link_ok( {text => 'Articles'}, 'Articles -> Articles');
 $m->follow_link_ok( {text => 'in class '.$class->Name}, 'Articles in class '.$class->Name);
 $m->content_contains($article1->Name);
diff --git a/t/articles/upload-customfields.t b/t/articles/upload-customfields.t
index 622c321..f694d0b 100644
--- a/t/articles/upload-customfields.t
+++ b/t/articles/upload-customfields.t
@@ -57,7 +57,7 @@ my $tcf = (grep { /AddCustomField-/ } map { $_->name } $m->current_form->inputs
 $m->tick( $tcf, 0 );         # Associate the new CF with this queue
 $m->click('UpdateObjs');
 $m->content_like( qr/Object created/, 'TCF added to the queue' );
-$m->follow_link( text => 'RTFM');
+$m->follow_link( text => 'Articles');
 $m->follow_link( text => 'Articles');
 $m->follow_link( text => 'New Article');
 

commit c5e50503fdc4adbc23bb81d9baa1f78bbbd442c4
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:20:32 2010 +0800

    /Articles/Article => /Article

diff --git a/share/html/Articles/Article/Delete.html b/share/html/Article/Delete.html
similarity index 100%
rename from share/html/Articles/Article/Delete.html
rename to share/html/Article/Delete.html
diff --git a/share/html/Articles/Article/Display.html b/share/html/Article/Display.html
similarity index 100%
rename from share/html/Articles/Article/Display.html
rename to share/html/Article/Display.html
diff --git a/share/html/Articles/Article/Edit.html b/share/html/Article/Edit.html
similarity index 100%
rename from share/html/Articles/Article/Edit.html
rename to share/html/Article/Edit.html
diff --git a/share/html/Articles/Article/Elements/EditBasics b/share/html/Article/Elements/EditBasics
similarity index 100%
rename from share/html/Articles/Article/Elements/EditBasics
rename to share/html/Article/Elements/EditBasics
diff --git a/share/html/Articles/Article/Elements/EditCustomFields b/share/html/Article/Elements/EditCustomFields
similarity index 100%
rename from share/html/Articles/Article/Elements/EditCustomFields
rename to share/html/Article/Elements/EditCustomFields
diff --git a/share/html/Articles/Article/Elements/EditLinks b/share/html/Article/Elements/EditLinks
similarity index 100%
rename from share/html/Articles/Article/Elements/EditLinks
rename to share/html/Article/Elements/EditLinks
diff --git a/share/html/Articles/Article/Elements/EditTopics b/share/html/Article/Elements/EditTopics
similarity index 100%
rename from share/html/Articles/Article/Elements/EditTopics
rename to share/html/Article/Elements/EditTopics
diff --git a/share/html/Articles/Article/Elements/LinkEntryInstructions b/share/html/Article/Elements/LinkEntryInstructions
similarity index 100%
rename from share/html/Articles/Article/Elements/LinkEntryInstructions
rename to share/html/Article/Elements/LinkEntryInstructions
diff --git a/share/html/Articles/Article/Elements/Preformatted b/share/html/Article/Elements/Preformatted
similarity index 100%
rename from share/html/Articles/Article/Elements/Preformatted
rename to share/html/Article/Elements/Preformatted
diff --git a/share/html/Articles/Article/Elements/SearchByCustomField b/share/html/Article/Elements/SearchByCustomField
similarity index 100%
rename from share/html/Articles/Article/Elements/SearchByCustomField
rename to share/html/Article/Elements/SearchByCustomField
diff --git a/share/html/Articles/Article/Elements/SelectSavedSearches b/share/html/Article/Elements/SelectSavedSearches
similarity index 100%
rename from share/html/Articles/Article/Elements/SelectSavedSearches
rename to share/html/Article/Elements/SelectSavedSearches
diff --git a/share/html/Articles/Article/Elements/SelectSearchPrivacy b/share/html/Article/Elements/SelectSearchPrivacy
similarity index 100%
rename from share/html/Articles/Article/Elements/SelectSearchPrivacy
rename to share/html/Article/Elements/SelectSearchPrivacy
diff --git a/share/html/Articles/Article/Elements/ShowHistory b/share/html/Article/Elements/ShowHistory
similarity index 100%
rename from share/html/Articles/Article/Elements/ShowHistory
rename to share/html/Article/Elements/ShowHistory
diff --git a/share/html/Articles/Article/Elements/ShowLinks b/share/html/Article/Elements/ShowLinks
similarity index 100%
rename from share/html/Articles/Article/Elements/ShowLinks
rename to share/html/Article/Elements/ShowLinks
diff --git a/share/html/Articles/Article/Elements/ShowSavedSearches b/share/html/Article/Elements/ShowSavedSearches
similarity index 100%
rename from share/html/Articles/Article/Elements/ShowSavedSearches
rename to share/html/Article/Elements/ShowSavedSearches
diff --git a/share/html/Articles/Article/Elements/ShowSearchCriteria b/share/html/Article/Elements/ShowSearchCriteria
similarity index 100%
rename from share/html/Articles/Article/Elements/ShowSearchCriteria
rename to share/html/Article/Elements/ShowSearchCriteria
diff --git a/share/html/Articles/Article/Elements/ShowTopics b/share/html/Article/Elements/ShowTopics
similarity index 100%
rename from share/html/Articles/Article/Elements/ShowTopics
rename to share/html/Article/Elements/ShowTopics
diff --git a/share/html/Articles/Article/ExtractFromTicket.html b/share/html/Article/ExtractFromTicket.html
similarity index 100%
rename from share/html/Articles/Article/ExtractFromTicket.html
rename to share/html/Article/ExtractFromTicket.html
diff --git a/share/html/Articles/Article/ExtractIntoClass.html b/share/html/Article/ExtractIntoClass.html
similarity index 100%
rename from share/html/Articles/Article/ExtractIntoClass.html
rename to share/html/Article/ExtractIntoClass.html
diff --git a/share/html/Articles/Article/ExtractIntoTopic.html b/share/html/Article/ExtractIntoTopic.html
similarity index 100%
rename from share/html/Articles/Article/ExtractIntoTopic.html
rename to share/html/Article/ExtractIntoTopic.html
diff --git a/share/html/Articles/Article/History.html b/share/html/Article/History.html
similarity index 100%
rename from share/html/Articles/Article/History.html
rename to share/html/Article/History.html
diff --git a/share/html/Articles/Article/PreCreate.html b/share/html/Article/PreCreate.html
similarity index 100%
rename from share/html/Articles/Article/PreCreate.html
rename to share/html/Article/PreCreate.html
diff --git a/share/html/Articles/Article/Search.html b/share/html/Article/Search.html
similarity index 100%
rename from share/html/Articles/Article/Search.html
rename to share/html/Article/Search.html

commit 3ca031b4d6d35a7a42a68a29430cacbd5e62e49b
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:24:28 2010 +0800

    update code for /Articles/Article => /Article

diff --git a/lib/RT/URI/fsck_com_article.pm b/lib/RT/URI/fsck_com_article.pm
index ef52367..7c9af2e 100644
--- a/lib/RT/URI/fsck_com_article.pm
+++ b/lib/RT/URI/fsck_com_article.pm
@@ -186,7 +186,7 @@ Otherwise, return its URI
 sub HREF {
     my $self = shift;
     if ($self->IsLocal && $self->Object) {
-        return ( $RT::WebURL . "/Articles/Article/Display.html?id=".$self->Object->Id);
+        return ( $RT::WebURL . "/Articles/Display.html?id=".$self->Object->Id);
     }   
     else {
         return ($self->URI);
diff --git a/share/html/Article/Delete.html b/share/html/Article/Delete.html
index 0f6c97e..479afc1 100644
--- a/share/html/Article/Delete.html
+++ b/share/html/Article/Delete.html
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#%# END BPS TAGGED BLOCK }}}
 % if ($ARGS{'Delete'}) {
-<& /Articles/Article/Elements/Tabs, Title => $title &>
+<& /Article/Elements/Tabs, Title => $title &>
 
 <%$title%>
 <& /Elements/ListActions, actions => \@results &>
diff --git a/share/html/Article/Elements/ShowSearchCriteria b/share/html/Article/Elements/ShowSearchCriteria
index 33e0bdd..bc50da4 100644
--- a/share/html/Article/Elements/ShowSearchCriteria
+++ b/share/html/Article/Elements/ShowSearchCriteria
@@ -78,12 +78,12 @@
 <td class="value"><&|/l&>matches</&> 
 % my $matches = $field->Name."~";
 % my $nomatches = $field->Name."!~";
-<& /Articles/Article/Elements/SearchByCustomField, 
+<& /Article/Elements/SearchByCustomField, 
     Field => $field, 
     Name => $matches,
     Values => $ARGS{$matches} &>
     <&|/l&>and not</&>
-<& /Articles/Article/Elements/SearchByCustomField, 
+<& /Article/Elements/SearchByCustomField, 
     Field => $field, 
     Name => $nomatches,
     Values => $ARGS{$nomatches}
@@ -133,7 +133,7 @@
 <tr>
 <td class="label"></td>
 <td>
-<& /Articles/Article/Elements/EditTopics, %ARGS, Classes => \@Classes, OnlyThisClass => 1 &>
+<& /Article/Elements/EditTopics, %ARGS, Classes => \@Classes, OnlyThisClass => 1 &>
 <br />
 <input type="checkbox" name="ExpandTopics" <% $ARGS{'ExpandTopics'} ? 'checked="checked"' : "" %> />
 <&|/l&>Include subtopics</&> 
diff --git a/share/html/Article/Search.html b/share/html/Article/Search.html
index 6447523..124b69f 100644
--- a/share/html/Article/Search.html
+++ b/share/html/Article/Search.html
@@ -55,7 +55,7 @@
 <td valign="top" width="50%">
 <ul>
 % while (my $class = $Classes->Next) {
-<li><a href="<%RT->Config->Get('WebPath')%>/Articles/Article/Search.html?<% $m->comp('/Elements/QueryString', %filtered, Class => $class->id) %>"><&|/l, $class->Name&>in class [_1]</&></a></li>
+<li><a href="<%RT->Config->Get('WebPath')%>/Article/Search.html?<% $m->comp('/Elements/QueryString', %filtered, Class => $class->id) %>"><&|/l, $class->Name&>in class [_1]</&></a></li>
 % }  
 </ul>
 </td>
@@ -101,15 +101,15 @@
 </form>
 
 <div align=right>
-<a href="<%RT->Config->Get('WebPath')%>/Articles/Article/Search.html<%$QueryString%>"><&|/l&>Bookmarkable link for this search</&></a><br />
+<a href="<%RT->Config->Get('WebPath')%>/Article/Search.html<%$QueryString%>"><&|/l&>Bookmarkable link for this search</&></a><br />
 </div>
 <%init>
 use RT::SavedSearch;
 my @results;
 my $articles = RT::Articles->new( $session{'CurrentUser'} );
 my $format = q{
-    '<a href="/Articles/Article/Display.html?id=__id__">__id__</a>/TITLE:#',
-    '<a href="/Articles/Article/Display.html?id=__id__">__Name__</a>/TITLE:Name',
+    '<a href="/Article/Display.html?id=__id__">__id__</a>/TITLE:#',
+    '<a href="/Article/Display.html?id=__id__">__Name__</a>/TITLE:Name',
     '__ClassName__',
     '__CreatedRelative__',
     '__LastUpdatedRelative__',
@@ -121,7 +121,7 @@ my $format = q{
 # If it is a number, load the article with that ID.  Otherwise, search
 # on name and summary.
 if ($ARGS{'q'} && $ARGS{'q'} =~ /^(\d+)$/) {
-    return $m->comp("/Articles/Article/Display.html", id => $1);
+    return $m->comp("/Article/Display.html", id => $1);
 }
 # }}}
 
diff --git a/share/html/Articles/Elements/GotoArticle b/share/html/Articles/Elements/GotoArticle
index d84a2a5..d274776 100644
--- a/share/html/Articles/Elements/GotoArticle
+++ b/share/html/Articles/Elements/GotoArticle
@@ -44,7 +44,7 @@
 %# works based on those contributions, and sublicense and distribute
 %# those contributions and any derivatives thereof.
 %#%# END BPS TAGGED BLOCK }}}
-<form ACTION="<% RT->Config->Get('WebPath') %>/Articles/Article/Search.html">
+<form ACTION="<% RT->Config->Get('WebPath') %>/Article/Search.html">
 <input type="hidden" name="HideOptions" value="1" />
 <input size="12" name="q" accesskey="0" />
 % if ($class or $topic) {
diff --git a/share/html/Articles/Elements/IncludeArticle b/share/html/Articles/Elements/IncludeArticle
index 55e1557..2515d4b 100644
--- a/share/html/Articles/Elements/IncludeArticle
+++ b/share/html/Articles/Elements/IncludeArticle
@@ -79,7 +79,7 @@ foreach my $arg ( keys %$parent_args ) {
     );
     next unless $article && $article->id;
 
-    my $formatted_article = $m->scomp('/Articles/Article/Elements/Preformatted',
+    my $formatted_article = $m->scomp('/Article/Elements/Preformatted',
         Article => $article, Ticket => $Ticket
     );
 
diff --git a/share/html/Articles/Elements/NewestArticles b/share/html/Articles/Elements/NewestArticles
index e946332..0916ce1 100644
--- a/share/html/Articles/Elements/NewestArticles
+++ b/share/html/Articles/Elements/NewestArticles
@@ -56,9 +56,9 @@
 % $i++;
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>">                                
 <td align="right"><%$Article->Id%></td>
-<td><a href="<% RT->Config->Get('WebPath') %>/Articles/Article/Display.html?id=<%$Article->Id%>"><%$Article->Name || loc('(no name)')%></a></td>
+<td><a href="<% RT->Config->Get('WebPath') %>/Article/Display.html?id=<%$Article->Id%>"><%$Article->Name || loc('(no name)')%></a></td>
 <td><%$Article->CreatorObj->Name%></td>
-<td align="right">[<a href="<% RT->Config->Get('WebPath') %>/Articles/Article/Edit.html?id=<%$Article->Id%>"><&|/l&>Update</&></a>]</td>
+<td align="right">[<a href="<% RT->Config->Get('WebPath') %>/Article/Edit.html?id=<%$Article->Id%>"><&|/l&>Update</&></a>]</td>
 </tr>
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>">
 <td>&nbsp;</td>
diff --git a/share/html/Articles/Elements/QuickSearch b/share/html/Articles/Elements/QuickSearch
index b78c210..76cae77 100644
--- a/share/html/Articles/Elements/QuickSearch
+++ b/share/html/Articles/Elements/QuickSearch
@@ -47,7 +47,7 @@
 <& /Elements/TitleBoxStart, title => loc('Quick search') &>
 <ul>
 % while (my $class = $classes->Next) {
-<li><a href="<%RT->Config->Get('WebPath')%>/Articles/Article/Search.html?Class=<%$class->Name%>&Parent=0&HideOptions=1"><%$class->Name%></a></li>
+<li><a href="<%RT->Config->Get('WebPath')%>/Article/Search.html?Class=<%$class->Name%>&Parent=0&HideOptions=1"><%$class->Name%></a></li>
 % }
 </ul>
 <& /Elements/TitleBoxEnd &>
diff --git a/share/html/Articles/Elements/UpdatedArticles b/share/html/Articles/Elements/UpdatedArticles
index 560f0f5..c7af41a 100644
--- a/share/html/Articles/Elements/UpdatedArticles
+++ b/share/html/Articles/Elements/UpdatedArticles
@@ -57,9 +57,9 @@
 % $i++;
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>">                                
 <td align="right"><%$Article->Id%></td>
-<td><a href="<% RT->Config->Get('WebPath') %>/Articles/Article/Display.html?id=<%$Article->Id%>"><%$Article->Name || loc('(no name)')%></a></td>
+<td><a href="<% RT->Config->Get('WebPath') %>/Article/Display.html?id=<%$Article->Id%>"><%$Article->Name || loc('(no name)')%></a></td>
 <td><%$Article->CreatorObj->Name%></td>
-<td align="right">[<a href="<% RT->Config->Get('WebPath') %>/Articles/Article/Edit.html?id=<%$Article->Id%>"><&|/l&>Update</&></a>]</td>
+<td align="right">[<a href="<% RT->Config->Get('WebPath') %>/Article/Edit.html?id=<%$Article->Id%>"><&|/l&>Update</&></a>]</td>
 </tr>
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>">                                
 <td>&nbsp;</td>
diff --git a/share/html/Elements/Tabs b/share/html/Elements/Tabs
index e0bc310..046c3e9 100755
--- a/share/html/Elements/Tabs
+++ b/share/html/Elements/Tabs
@@ -95,7 +95,7 @@ if ( $request_path !~ qr{^/SelfService/} ) {
     }
 
     my $articles = $tools->child( articles => title => loc('Articles') => path => "/Articles/index.html", sort_order => 10 );
-    $articles->child( search   => title => loc('Search') => path => "/Articles/Article/Search.html" );
+    $articles->child( search   => title => loc('Search') => path => "/Article/Search.html" );
     $articles->child( articles => title => loc('Articles') => path => "/Articles/index.html" );
     $articles->child( topics   => title => loc('Topics') => path => "/Articles/Topics.html" );
 
@@ -595,23 +595,24 @@ if ( $request_path !~ qr{^/SelfService/} ) {
 }
     }
 
+
     if ( $request_path =~ qr{^/Articles/} ) {
         my $tabs = PageMenu();
-        $tabs->child( search => path => "/Articles/Article/Search.html", title     => loc("Search") );
-        $tabs->child( create => path => "Articles/Article/PreCreate.html", title     => loc("New Article" ) );
+        $tabs->child( search => path => "/Article/Search.html", title     => loc("Search") );
+        $tabs->child( create => path => "/Article/PreCreate.html", title     => loc("New Article" ) );
         if ( ( $m->request_args->{'id'} || '' ) =~ /^(\d+)$/ ) {
             my $id  = $1;
             my $obj = RT::Article->new( $session{'CurrentUser'} );
             $obj->Load($id);
 
-            $tabs->child( display => title => "Display", path => "/Articles/Article/Display.html?id=" . $id );
-            $tabs->child( history => title => loc('History'), path => '/Articles/Article/History.html?id=' . $id );
+            $tabs->child( display => title => "Display", path => "/Article/Display.html?id=" . $id );
+            $tabs->child( history => title => loc('History'), path => '/Article/History.html?id=' . $id );
 
             if ( $obj->CurrentUserHasRight('ModifyArticle') ) {
-                $tabs->child(modify => title => loc('Modify'), path => '/Articles/Article/Edit.html?id=' . $id );
+                $tabs->child(modify => title => loc('Modify'), path => '/Article/Edit.html?id=' . $id );
             }
             if ( $obj->CurrentUserHasRight('DeleteArticle') ) {
-                $tabs->child(delete => title => loc('Delete'), path => '/Articles/Article/Delete.html?id=' . $id );
+                $tabs->child(delete => title => loc('Delete'), path => '/Article/Delete.html?id=' . $id );
             }
         }
 
diff --git a/share/html/Search/Article.html b/share/html/Search/Article.html
index bf52510..59e835b 100644
--- a/share/html/Search/Article.html
+++ b/share/html/Search/Article.html
@@ -48,6 +48,6 @@
 
 <%init>
 RT::Interface::Web::Redirect(RT->Config->Get('WebURL').
-        'Articles/Article/Search.html?' . $m->comp( '/Elements/QueryString',
+        'Article/Search.html?' . $m->comp( '/Elements/QueryString',
             %ARGS, Load => 'Load', CurrentSearch => $ARGS{LoadSavedSearch} ) );
 </%init>
diff --git a/share/html/Search/Elements/Article b/share/html/Search/Elements/Article
index 2837155..152ac7e 100644
--- a/share/html/Search/Elements/Article
+++ b/share/html/Search/Elements/Article
@@ -49,8 +49,8 @@
     Collection => $articles, 
     Class => 'RT::Articles',
     Format => q{
-    '<a href="/Articles/Article/Display.html?id=__id__">__id__</a>/TITLE:#',
-    '<a href="/Articles/Article/Display.html?id=__id__">__Name__</a>/TITLE:Name',
+    '<a href="/Article/Display.html?id=__id__">__id__</a>/TITLE:#',
+    '<a href="/Article/Display.html?id=__id__">__Name__</a>/TITLE:Name',
     '__ClassName__',
     '__CreatedRelative__',
     '__LastUpdatedRelative__',

commit 6b56b98be8a0c36a708d437ed3bcf85d1c8ba21f
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:26:22 2010 +0800

    page menu for /Article

diff --git a/share/html/Elements/Tabs b/share/html/Elements/Tabs
index 046c3e9..7834c21 100755
--- a/share/html/Elements/Tabs
+++ b/share/html/Elements/Tabs
@@ -595,6 +595,17 @@ if ( $request_path !~ qr{^/SelfService/} ) {
 }
     }
 
+    if ( $request_path =~ qr{^/Article/} ) {
+        if ( $m->request_args->{'id'} && $m->request_args->{'id'} =~ /^\d+$/ ) {
+            my $id = $m->request_args->{'id'};
+            my $tabs = PageMenu();
+
+            $tabs->child( display => title => loc('Display') => path => "/Article/Display.html?id=".$id, );
+            $tabs->child( history => title => loc('History') => path => "/Article/History.html?id=".$id, );
+            $tabs->child( modify => title => loc('Modify') => path => "/Article/Edit.html?id=".$id, );
+            $tabs->child( delete => title => loc('Delete') => path => "/Article/Delete.html?id=".$id, );
+        }
+    }
 
     if ( $request_path =~ qr{^/Articles/} ) {
         my $tabs = PageMenu();

commit 075d5328671defe582cb87225227d3f2571b061c
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:28:09 2010 +0800

    make a redirect after article create like ticket create

diff --git a/share/html/Article/Edit.html b/share/html/Article/Edit.html
index 9d909e5..9cc456a 100644
--- a/share/html/Article/Edit.html
+++ b/share/html/Article/Edit.html
@@ -207,7 +207,19 @@ elsif ( $id eq 'new' ) {
 
         $title = loc( 'Modify article #[_1]', $ArticleObj->Id );
         delete $ARGS{id};
-        $m->redirect($ARGS{next}) if $ARGS{next};
+
+        if ( $ARGS{next} ) {
+            $m->redirect($ARGS{next});
+        }        
+        else {
+            $m->comp(
+                '/Elements/MaybeRedirectForResults',
+                Actions     => \@results,
+                Path        => 'Article/Edit.html',
+                id          => $ArticleObj->id,
+                ARGSRef     => \%ARGS
+            );
+        }
     }
    if (!$id) {
         $ClassObj->Load($Class);

commit 8c868318bcd30e93ffbbfedad4ab63e8d315808e
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:31:09 2010 +0800

    test fix for fsck.com-rtfm => fsck.com-article

diff --git a/t/articles/uri-a.t b/t/articles/uri-a.t
index 099be1b..82d0f1b 100644
--- a/t/articles/uri-a.t
+++ b/t/articles/uri-a.t
@@ -24,5 +24,5 @@ my $uristr = "a:" . $article->Id;
 $uri->ParseURI($uristr);
 is(ref($uri->Object), "RT::Article", "Object loaded is an article");
 is($uri->Object->Id, $article->Id, "Object loaded has correct ID");
-is($article->URI, 'fsck.com-rtfm://example.com/article/'.$article->Id, 
+is($article->URI, 'fsck.com-article://example.com/article/'.$article->Id, 
    "URI object has correct URI string");
diff --git a/t/articles/uri-rtfm.t b/t/articles/uri-rtfm.t
index a6bcb67..4124b19 100644
--- a/t/articles/uri-rtfm.t
+++ b/t/articles/uri-rtfm.t
@@ -13,7 +13,7 @@ isa_ok $uri, 'RT::URI::fsck_com_article';
 isa_ok $uri, 'RT::URI::base';
 isa_ok $uri, 'RT::Base';
 
-is $uri->LocalURIPrefix, 'fsck.com-rtfm://example.com/article/';
+is $uri->LocalURIPrefix, 'fsck.com-article://example.com/article/';
 
 my $class = RT::Class->new( $RT::SystemUser );
 $class->Create( Name => 'URItest - '. $$ );

commit ebd5318ddb2a9b924a6960e7a7bc5d7d5554ff50
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:45:00 2010 +0800

    tiny fix

diff --git a/share/html/Article/PreCreate.html b/share/html/Article/PreCreate.html
index 04d0ecf..5e375bc 100644
--- a/share/html/Article/PreCreate.html
+++ b/share/html/Article/PreCreate.html
@@ -46,7 +46,6 @@
 %#%# END BPS TAGGED BLOCK }}}
 <& /Elements/Header, Title => loc('Create an article in class...') &>
 <& /Elements/Tabs, Title => loc('Create an article in class...') &>
-&>
 <ul>
 % my $Classes = RT::Classes->new($session{'CurrentUser'});
 % $Classes->LimitToEnabled();

commit cb35894aa29f7be0cbf8b49d482cc8a93c59aab8
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 13:51:48 2010 +0800

    case fix

diff --git a/share/html/Admin/Articles/Classes/Modify.html b/share/html/Admin/Articles/Classes/Modify.html
index a3efba3..e9f01df 100644
--- a/share/html/Admin/Articles/Classes/Modify.html
+++ b/share/html/Admin/Articles/Classes/Modify.html
@@ -44,7 +44,7 @@
 %# works based on those contributions, and sublicense and distribute
 %# those contributions and any derivatives thereof.
 %#%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, title => $title &>
+<& /Admin/Elements/Header, Title => $title &>
 <& /Elements/Tabs &>
 <& /Elements/ListActions, actions => \@results &>
 

commit a16375ab488152e0d99b4cd0f51b19217f950485
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 14:00:51 2010 +0800

    forgot one line

diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index 7864428..738f44a 100755
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -437,6 +437,7 @@ $m->callback( CallbackName => 'BeforeCreate', ARGSRef => \%ARGS, skip_create =>
               checks_failure => $checks_failure, results => \@results );
 
 $m->comp( '/Articles/Elements/CheckSkipCreate', ARGSRef => \%ARGS, skip_create => \$skip_create,
+              checks_failure => $checks_failure, results => \@results );
 
 if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} eq 'new')) { # new ticket?
     if ( $ValidCFs && !$checks_failure && !$skip_create ) {

commit b1c08b0ff0d162d0d6c8f329836027ce08a13428
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 14:01:06 2010 +0800

    forgot the ListActions

diff --git a/share/html/Admin/Articles/Classes/Objects.html b/share/html/Admin/Articles/Classes/Objects.html
index 73c4250..c904067 100644
--- a/share/html/Admin/Articles/Classes/Objects.html
+++ b/share/html/Admin/Articles/Classes/Objects.html
@@ -47,6 +47,7 @@
 %# END BPS TAGGED BLOCK }}}
 <& /Admin/Elements/Header, Title => $title &>
 <& /Elements/Tabs &>
+<& /Elements/ListActions, actions => \@results &>
 
 <form action="Objects.html" method="post">
 <input type="hidden" class="hidden" name="id" value="<% $id %>" />

commit 73307aace4cc0779b3b36864c3a946bc3dff894d
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 14:01:29 2010 +0800

    fix articles/ tests

diff --git a/t/articles/interface.t b/t/articles/interface.t
index be933de..d04be8b 100644
--- a/t/articles/interface.t
+++ b/t/articles/interface.t
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use RT::Test tests => 52;
+use RT::Test tests => 53;
 
 use RT::CustomField;
 use RT::EmailParser;
@@ -162,7 +162,9 @@ ok($ret, "Test ticket for articles created: $msg");
 
 isa_ok($m, 'Test::WWW::Mechanize');
 ok($m->login, 'logged in');
-$m->follow_link_ok({text => 'Articles'}, 'UI -> Articles');
+$m->follow_link_ok( { text => 'Articles', url_regex => qr!^/Articles/! },
+    'UI -> Articles' );
+
 $m->content_contains($article3->Name);
 $m->follow_link_ok( {text => $article3->Name}, 'Articles -> '. $article3->Name );
 $m->title_is("Article #" . $article3->Id . ": " . $article3->Name);
@@ -190,10 +192,10 @@ $m->follow_link_ok( { text => 'Extract Article' }, '-> Extract Article' );
 $m->content_contains($class->Name);
 $m->follow_link_ok( { text => $class->Name }, 'Extract Article -> '. $class->Name );
 $m->content_like(qr/Select topics for this article/i, 'selecting topic');
-$m->form_number(2);
+$m->form_number(3);
 $m->set_visible([option => $topic1->Name]);
 $m->submit;
-$m->form_number(2);
+$m->form_number(3);
 $m->set_visible([option => $answerCF->Name]);
 $m->click();
 $m->title_like(qr/Create a new article/, "got edit page from extraction");
@@ -206,8 +208,8 @@ $m->content_contains($ticket->Subject,
 
 diag("Test creating a ticket in Class2 and make sure we don't see Class1 Topics") if $ENV{TEST_VERBOSE};
 {
-$m->follow_link_ok( {text => 'Articles'}, 'UI -> Articles');
-$m->follow_link_ok( {text => 'Articles' }, 'Articles -> Articles' );
+$m->follow_link_ok( { text => 'Articles', url_regex => qr!^/Articles/! },
+    'UI -> Articles' );
 $m->follow_link_ok( {text => 'New Article' }, 'Articles -> New Article' );
 $m->follow_link_ok( {text => 'in class '.$class2->Name }, 'New Article -> in class '.$class2->Name );
 $m->content_lacks( $topic1->Name, "Topic1 from Class1 isn't shown" );
diff --git a/t/articles/queue-specific-class.t b/t/articles/queue-specific-class.t
index 6bd39c0..aa2abac 100644
--- a/t/articles/queue-specific-class.t
+++ b/t/articles/queue-specific-class.t
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use RT::Test tests => 54;
+use RT::Test tests => 56;
 
 my ( $url, $m ) = RT::Test->started_ok;
 $m->login;
@@ -35,7 +35,7 @@ for my $name ( keys %class ) {
         'article create page' );
 
     $m->submit_form(
-        form_number => 2,
+        form_number => 3,
         fields      => { Name => "article $name" }
     );
 
diff --git a/t/articles/search-interface.t b/t/articles/search-interface.t
index e9db0f1..eb3a4f7 100644
--- a/t/articles/search-interface.t
+++ b/t/articles/search-interface.t
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use RT::Test tests => 21;
+use RT::Test tests => 23;
 
 use RT::CustomField;
 use RT::Queue;
@@ -106,7 +106,8 @@ ok($ret, "article 4 created");
 
 isa_ok($m, 'Test::WWW::Mechanize');
 ok($m->login, 'logged in');
-$m->follow_link_ok({text => 'Articles'}, 'UI -> Articles');
-$m->follow_link_ok( {text => 'Articles'}, 'Articles -> Articles');
+$m->follow_link_ok( { text => 'Articles', url_regex => qr!^/Articles/! },
+    'UI -> Articles' );
+$m->follow_link_ok( {text => 'Search'}, 'Articles -> Search');
 $m->follow_link_ok( {text => 'in class '.$class->Name}, 'Articles in class '.$class->Name);
 $m->content_contains($article1->Name);
diff --git a/t/articles/upload-customfields.t b/t/articles/upload-customfields.t
index f694d0b..bc98c54 100644
--- a/t/articles/upload-customfields.t
+++ b/t/articles/upload-customfields.t
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use RT::Test tests => 18;
+use RT::Test tests => 20;
 $RT::Test::SKIP_REQUEST_WORK_AROUND = 1;
 
 use RT;
@@ -38,7 +38,7 @@ $m->follow_link_ok( { text => 'Configuration' } );
 $m->title_is(q/RT Administration/, 'admin screen');
 $m->follow_link_ok( { text => 'Custom Fields' } );
 $m->title_is(q/Select a Custom Field/, 'admin-cf screen');
-$m->follow_link_ok( { text => 'Create' } );
+$m->follow_link_ok( { text => 'Create', url_regex => qr{^/Admin/CustomFields/} } );
 $m->submit_form(
     form_name => "ModifyCustomField",
     fields => {
@@ -48,7 +48,7 @@ $m->submit_form(
         Description => 'img',
     },
 );
-$m->title_is(qq/Created CustomField img$$/, 'admin-cf created');
+$m->title_is(qq/Editing CustomField img$$/, 'admin-cf created');
 $m->follow_link( text => 'Applies to' );
 $m->title_is(qq/Modify associated objects for img$$/, 'pick cf screenadmin screen');
 $m->form_number(3);
@@ -57,11 +57,10 @@ my $tcf = (grep { /AddCustomField-/ } map { $_->name } $m->current_form->inputs
 $m->tick( $tcf, 0 );         # Associate the new CF with this queue
 $m->click('UpdateObjs');
 $m->content_like( qr/Object created/, 'TCF added to the queue' );
-$m->follow_link( text => 'Articles');
-$m->follow_link( text => 'Articles');
-$m->follow_link( text => 'New Article');
 
-$m->title_is(qq/Create an article in class.../);
+$m->follow_link_ok( { text => 'Articles', url_regex => qr!^/Articles/! },
+    'UI -> Articles' );
+$m->follow_link( text => 'New Article');
 
 $m->follow_link( url_regex => qr/Edit.html\?Class=1/ );
 $m->title_is(qq/Create a new article/);

commit 03b94e1ea6ace03fde5b0f534e716e6b43410dee
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Dec 3 14:08:09 2010 +0800

    pod fix, mostly =item => =head2 as other files

diff --git a/lib/RT/Article.pm b/lib/RT/Article.pm
index d55d369..fb603b7 100644
--- a/lib/RT/Article.pm
+++ b/lib/RT/Article.pm
@@ -84,7 +84,7 @@ sub _Init {
 
 
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
@@ -124,7 +124,7 @@ sub Create {
 
 
 
-=item id
+=head2 id
 
 Returns the current value of id. 
 (In the database, id is stored as int(11).)
@@ -133,14 +133,14 @@ Returns the current value of id.
 =cut
 
 
-=item Name
+=head2 Name
 
 Returns the current value of Name. 
 (In the database, Name is stored as varchar(255).)
 
 
 
-=item SetName VALUE
+=head2 SetName VALUE
 
 
 Set Name to VALUE. 
@@ -151,14 +151,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Summary
+=head2 Summary
 
 Returns the current value of Summary. 
 (In the database, Summary is stored as varchar(255).)
 
 
 
-=item SetSummary VALUE
+=head2 SetSummary VALUE
 
 
 Set Summary to VALUE. 
@@ -169,14 +169,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item SortOrder
+=head2 SortOrder
 
 Returns the current value of SortOrder. 
 (In the database, SortOrder is stored as int(11).)
 
 
 
-=item SetSortOrder VALUE
+=head2 SetSortOrder VALUE
 
 
 Set SortOrder to VALUE. 
@@ -187,14 +187,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Class
+=head2 Class
 
 Returns the current value of Class. 
 (In the database, Class is stored as int(11).)
 
 
 
-=item SetClass VALUE
+=head2 SetClass VALUE
 
 
 Set Class to VALUE. 
@@ -205,7 +205,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item ClassObj
+=head2 ClassObj
 
 Returns the Class Object which has the id returned by Class
 
@@ -219,14 +219,14 @@ sub ClassObj {
 	return($Class);
 }
 
-=item Parent
+=head2 Parent
 
 Returns the current value of Parent. 
 (In the database, Parent is stored as int(11).)
 
 
 
-=item SetParent VALUE
+=head2 SetParent VALUE
 
 
 Set Parent to VALUE. 
@@ -237,14 +237,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item URI
+=head2 URI
 
 Returns the current value of URI. 
 (In the database, URI is stored as varchar(255).)
 
 
 
-=item SetURI VALUE
+=head2 SetURI VALUE
 
 
 Set URI to VALUE. 
@@ -255,7 +255,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Creator
+=head2 Creator
 
 Returns the current value of Creator. 
 (In the database, Creator is stored as int(11).)
@@ -264,7 +264,7 @@ Returns the current value of Creator.
 =cut
 
 
-=item Created
+=head2 Created
 
 Returns the current value of Created. 
 (In the database, Created is stored as datetime.)
@@ -273,7 +273,7 @@ Returns the current value of Created.
 =cut
 
 
-=item LastUpdatedBy
+=head2 LastUpdatedBy
 
 Returns the current value of LastUpdatedBy. 
 (In the database, LastUpdatedBy is stored as int(11).)
@@ -282,7 +282,7 @@ Returns the current value of LastUpdatedBy.
 =cut
 
 
-=item LastUpdated
+=head2 LastUpdated
 
 Returns the current value of LastUpdated. 
 (In the database, LastUpdated is stored as datetime.)
diff --git a/lib/RT/Article_Overlay.pm b/lib/RT/Article_Overlay.pm
index bfb3d30..3356c9b 100644
--- a/lib/RT/Article_Overlay.pm
+++ b/lib/RT/Article_Overlay.pm
@@ -67,7 +67,7 @@ RT::CustomField->_ForObjectType( CustomFieldLookupType() => 'Articles' )
 
 # {{{ Create
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
@@ -323,7 +323,7 @@ sub Delete {
 
 # {{{ Children
 
-=item Children
+=head2 Children
 
 Returns an RT::Articles object which contains
 all articles which have this article as their parent.  This 
diff --git a/lib/RT/Articles.pm b/lib/RT/Articles.pm
index b18a27c..e084485 100644
--- a/lib/RT/Articles.pm
+++ b/lib/RT/Articles.pm
@@ -92,7 +92,7 @@ sub _Init {
 }
 
 
-=item NewItem
+=head2 NewItem
 
 Returns an empty new RT::Article item
 
diff --git a/lib/RT/Articles_Overlay.pm b/lib/RT/Articles_Overlay.pm
index 65b2c58..4b70bd8 100644
--- a/lib/RT/Articles_Overlay.pm
+++ b/lib/RT/Articles_Overlay.pm
@@ -203,7 +203,7 @@ sub LimitUpdatedBy {
 
 # {{{ LimitToParent ID
 
-=item LimitToParent ID
+=head2 LimitToParent ID
 
 Limit the returned set of articles to articles which are children
 of article ID.
@@ -225,7 +225,7 @@ sub LimitToParent {
 # }}}
 # {{{ LimitCustomField
 
-=item LimitCustomField HASH
+=head2 LimitCustomField HASH
 
 Limit the result set to articles which have or do not have the custom field 
 value listed, using a left join to catch things where no rows match.
diff --git a/lib/RT/Class.pm b/lib/RT/Class.pm
index fdafe06..d5432c0 100644
--- a/lib/RT/Class.pm
+++ b/lib/RT/Class.pm
@@ -83,7 +83,7 @@ sub _Init {
 
 
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
@@ -120,7 +120,7 @@ sub Create {
 
 
 
-=item id
+=head2 id
 
 Returns the current value of id. 
 (In the database, id is stored as int(11).)
@@ -129,14 +129,14 @@ Returns the current value of id.
 =cut
 
 
-=item Name
+=head2 Name
 
 Returns the current value of Name. 
 (In the database, Name is stored as varchar(255).)
 
 
 
-=item SetName VALUE
+=head2 SetName VALUE
 
 
 Set Name to VALUE. 
@@ -147,14 +147,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Description
+=head2 Description
 
 Returns the current value of Description. 
 (In the database, Description is stored as varchar(255).)
 
 
 
-=item SetDescription VALUE
+=head2 SetDescription VALUE
 
 
 Set Description to VALUE. 
@@ -165,14 +165,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item SortOrder
+=head2 SortOrder
 
 Returns the current value of SortOrder. 
 (In the database, SortOrder is stored as int(11).)
 
 
 
-=item SetSortOrder VALUE
+=head2 SetSortOrder VALUE
 
 
 Set SortOrder to VALUE. 
@@ -183,14 +183,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Disabled
+=head2 Disabled
 
 Returns the current value of Disabled. 
 (In the database, Disabled is stored as int(2).)
 
 
 
-=item SetDisabled VALUE
+=head2 SetDisabled VALUE
 
 
 Set Disabled to VALUE. 
@@ -201,14 +201,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item HotList
+=head2 HotList
 
 Returns the current value of HotList. 
 (In the database, HotList is stored as int(2).)
 
 
 
-=item SetHotList VALUE
+=head2 SetHotList VALUE
 
 
 Set HotList to VALUE. 
@@ -219,7 +219,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Creator
+=head2 Creator
 
 Returns the current value of Creator. 
 (In the database, Creator is stored as int(11).)
@@ -228,7 +228,7 @@ Returns the current value of Creator.
 =cut
 
 
-=item Created
+=head2 Created
 
 Returns the current value of Created. 
 (In the database, Created is stored as datetime.)
@@ -237,7 +237,7 @@ Returns the current value of Created.
 =cut
 
 
-=item LastUpdatedBy
+=head2 LastUpdatedBy
 
 Returns the current value of LastUpdatedBy. 
 (In the database, LastUpdatedBy is stored as int(11).)
@@ -246,7 +246,7 @@ Returns the current value of LastUpdatedBy.
 =cut
 
 
-=item LastUpdated
+=head2 LastUpdated
 
 Returns the current value of LastUpdated. 
 (In the database, LastUpdated is stored as datetime.)
diff --git a/lib/RT/Class_Overlay.pm b/lib/RT/Class_Overlay.pm
index cf5eff8..c4fabe0 100644
--- a/lib/RT/Class_Overlay.pm
+++ b/lib/RT/Class_Overlay.pm
@@ -169,7 +169,7 @@ sub RightCategories {
 
 # {{{ Create
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
diff --git a/lib/RT/Classes.pm b/lib/RT/Classes.pm
index 241c6fa..f221352 100644
--- a/lib/RT/Classes.pm
+++ b/lib/RT/Classes.pm
@@ -92,7 +92,7 @@ sub _Init {
 }
 
 
-=item NewItem
+=head2 NewItem
 
 Returns an empty new RT::Class item
 
diff --git a/lib/RT/ObjectClass.pm b/lib/RT/ObjectClass.pm
index 4e88e7c..e097e12 100644
--- a/lib/RT/ObjectClass.pm
+++ b/lib/RT/ObjectClass.pm
@@ -83,7 +83,7 @@ sub _Init {
 
 
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
@@ -114,7 +114,7 @@ sub Create {
 
 
 
-=item id
+=head2 id
 
 Returns the current value of id. 
 (In the database, id is stored as int(11).)
@@ -123,14 +123,14 @@ Returns the current value of id.
 =cut
 
 
-=item Class
+=head2 Class
 
 Returns the current value of Class. 
 (In the database, Class is stored as int(11).)
 
 
 
-=item SetClass VALUE
+=head2 SetClass VALUE
 
 
 Set Class to VALUE. 
@@ -141,7 +141,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item ClassObj
+=head2 ClassObj
 
 Returns the Class Object which has the id returned by Class
 
@@ -155,14 +155,14 @@ sub ClassObj {
 	return($Class);
 }
 
-=item ObjectType
+=head2 ObjectType
 
 Returns the current value of ObjectType. 
 (In the database, ObjectType is stored as varchar(255).)
 
 
 
-=item SetObjectType VALUE
+=head2 SetObjectType VALUE
 
 
 Set ObjectType to VALUE. 
@@ -173,14 +173,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item ObjectId
+=head2 ObjectId
 
 Returns the current value of ObjectId. 
 (In the database, ObjectId is stored as int(11).)
 
 
 
-=item SetObjectId VALUE
+=head2 SetObjectId VALUE
 
 
 Set ObjectId to VALUE. 
@@ -191,7 +191,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Creator
+=head2 Creator
 
 Returns the current value of Creator. 
 (In the database, Creator is stored as int(11).)
@@ -200,7 +200,7 @@ Returns the current value of Creator.
 =cut
 
 
-=item Created
+=head2 Created
 
 Returns the current value of Created. 
 (In the database, Created is stored as datetime.)
@@ -209,7 +209,7 @@ Returns the current value of Created.
 =cut
 
 
-=item LastUpdatedBy
+=head2 LastUpdatedBy
 
 Returns the current value of LastUpdatedBy. 
 (In the database, LastUpdatedBy is stored as int(11).)
@@ -218,7 +218,7 @@ Returns the current value of LastUpdatedBy.
 =cut
 
 
-=item LastUpdated
+=head2 LastUpdated
 
 Returns the current value of LastUpdated. 
 (In the database, LastUpdated is stored as datetime.)
diff --git a/lib/RT/ObjectClasses.pm b/lib/RT/ObjectClasses.pm
index f4cedca..a44485d 100644
--- a/lib/RT/ObjectClasses.pm
+++ b/lib/RT/ObjectClasses.pm
@@ -85,7 +85,7 @@ sub _Init {
 }
 
 
-=item NewItem
+=head2 NewItem
 
 Returns an empty new RT::ObjectClass item
 
diff --git a/lib/RT/ObjectTopic.pm b/lib/RT/ObjectTopic.pm
index c7c139c..c02c918 100644
--- a/lib/RT/ObjectTopic.pm
+++ b/lib/RT/ObjectTopic.pm
@@ -84,7 +84,7 @@ sub _Init {
 
 
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
@@ -115,7 +115,7 @@ sub Create {
 
 
 
-=item id
+=head2 id
 
 Returns the current value of id. 
 (In the database, id is stored as int(11).)
@@ -124,14 +124,14 @@ Returns the current value of id.
 =cut
 
 
-=item Topic
+=head2 Topic
 
 Returns the current value of Topic. 
 (In the database, Topic is stored as int(11).)
 
 
 
-=item SetTopic VALUE
+=head2 SetTopic VALUE
 
 
 Set Topic to VALUE. 
@@ -142,7 +142,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item TopicObj
+=head2 TopicObj
 
 Returns the Topic Object which has the id returned by Topic
 
@@ -156,14 +156,14 @@ sub TopicObj {
 	return($Topic);
 }
 
-=item ObjectType
+=head2 ObjectType
 
 Returns the current value of ObjectType. 
 (In the database, ObjectType is stored as varchar(64).)
 
 
 
-=item SetObjectType VALUE
+=head2 SetObjectType VALUE
 
 
 Set ObjectType to VALUE. 
@@ -174,14 +174,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item ObjectId
+=head2 ObjectId
 
 Returns the current value of ObjectId. 
 (In the database, ObjectId is stored as int(11).)
 
 
 
-=item SetObjectId VALUE
+=head2 SetObjectId VALUE
 
 
 Set ObjectId to VALUE. 
diff --git a/lib/RT/ObjectTopics.pm b/lib/RT/ObjectTopics.pm
index f88474a..863b66b 100644
--- a/lib/RT/ObjectTopics.pm
+++ b/lib/RT/ObjectTopics.pm
@@ -86,7 +86,7 @@ sub _Init {
 }
 
 
-=item NewItem
+=head2 NewItem
 
 Returns an empty new RT::ObjectTopic item
 
diff --git a/lib/RT/Topic.pm b/lib/RT/Topic.pm
index 5fb3417..c2acd9b 100644
--- a/lib/RT/Topic.pm
+++ b/lib/RT/Topic.pm
@@ -83,7 +83,7 @@ sub _Init {
 
 
 
-=item Create PARAMHASH
+=head2 Create PARAMHASH
 
 Create takes a hash of values and creates a row in the database:
 
@@ -120,7 +120,7 @@ sub Create {
 
 
 
-=item id
+=head2 id
 
 Returns the current value of id. 
 (In the database, id is stored as int(11).)
@@ -129,14 +129,14 @@ Returns the current value of id.
 =cut
 
 
-=item Parent
+=head2 Parent
 
 Returns the current value of Parent. 
 (In the database, Parent is stored as int(11).)
 
 
 
-=item SetParent VALUE
+=head2 SetParent VALUE
 
 
 Set Parent to VALUE. 
@@ -147,14 +147,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Name
+=head2 Name
 
 Returns the current value of Name. 
 (In the database, Name is stored as varchar(255).)
 
 
 
-=item SetName VALUE
+=head2 SetName VALUE
 
 
 Set Name to VALUE. 
@@ -165,14 +165,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item Description
+=head2 Description
 
 Returns the current value of Description. 
 (In the database, Description is stored as varchar(255).)
 
 
 
-=item SetDescription VALUE
+=head2 SetDescription VALUE
 
 
 Set Description to VALUE. 
@@ -183,14 +183,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item ObjectType
+=head2 ObjectType
 
 Returns the current value of ObjectType. 
 (In the database, ObjectType is stored as varchar(64).)
 
 
 
-=item SetObjectType VALUE
+=head2 SetObjectType VALUE
 
 
 Set ObjectType to VALUE. 
@@ -201,14 +201,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
 =cut
 
 
-=item ObjectId
+=head2 ObjectId
 
 Returns the current value of ObjectId. 
 (In the database, ObjectId is stored as int(11).)
 
 
 
-=item SetObjectId VALUE
+=head2 SetObjectId VALUE
 
 
 Set ObjectId to VALUE. 
diff --git a/lib/RT/Topics.pm b/lib/RT/Topics.pm
index 1804e1d..03b1f74 100644
--- a/lib/RT/Topics.pm
+++ b/lib/RT/Topics.pm
@@ -85,7 +85,7 @@ sub _Init {
 }
 
 
-=item NewItem
+=head2 NewItem
 
 Returns an empty new RT::Topic item
 

-----------------------------------------------------------------------


More information about the Rt-commit mailing list