Author: MahiroAndo Date: 2013-10-30 03:04:42 -0500 (Wed, 30 Oct 2013) New Revision: 26567 Trac url: http://develop.twiki.org/trac/changeset/26567 Added: twiki/trunk/AutoSectionsPlugin/templates/oopsautosection.tmpl twiki/trunk/AutoSectionsPlugin/templates/oopsleaseconflict.autosection.tmpl twiki/trunk/AutoSectionsPlugin/test/unit/AutoSectionsPlugin/AutoSectionsPlugin/TestParseLevels.pm Modified: twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin.pm twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin/MANIFEST twiki/trunk/AutoSectionsPlugin/pub/TWiki/AutoSectionsPlugin/AutoSections.js Log: Item7374: Refined error handling with leaseconflict template Modified: twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin/MANIFEST =================================================================== --- twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin/MANIFEST 2013-10-26 01:19:09 UTC (rev 26566) +++ twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin/MANIFEST 2013-10-30 08:04:42 UTC (rev 26567) @@ -11,3 +11,5 @@ pub/TWiki/AutoSectionsPlugin/autosections-hover.png 0644 pub/TWiki/AutoSectionsPlugin/autosections-rawview.png 0644 templates/edit.autosection.tmpl 0644 +templates/oopsautosection.tmpl 0644 +templates/oopsleaseconflict.autosection.tmpl 0644 Modified: twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin.pm =================================================================== --- twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin.pm 2013-10-26 01:19:09 UTC (rev 26566) +++ twiki/trunk/AutoSectionsPlugin/lib/TWiki/Plugins/AutoSectionsPlugin.pm 2013-10-30 08:04:42 UTC (rev 26567) @@ -264,14 +264,14 @@ if (my $baseDate = $cgi->param('AutoSectionDate')) { my $topic = $_[1]; my $web = $_[2]; - my $topicDate = (TWiki::Func::getRevisionInfo($web, $topic))[0]; + my ($topicDate, $user) = TWiki::Func::getRevisionInfo($web, $topic); if ($baseDate < $topicDate) { throw TWiki::OopsException( - 'oopsautosections', + 'autosection', web => $web, topic => $topic, - params => ["This topic has been updated by another user. ". + params => ["$user has modified this topic. ". "Please refresh the page and try again."], ); } Modified: twiki/trunk/AutoSectionsPlugin/pub/TWiki/AutoSectionsPlugin/AutoSections.js =================================================================== --- twiki/trunk/AutoSectionsPlugin/pub/TWiki/AutoSectionsPlugin/AutoSections.js 2013-10-26 01:19:09 UTC (rev 26566) +++ twiki/trunk/AutoSectionsPlugin/pub/TWiki/AutoSectionsPlugin/AutoSections.js 2013-10-30 08:04:42 UTC (rev 26567) @@ -230,26 +230,13 @@ ajaxLoad = $.get(editUrl, params, function (data) { if (!data.match(/^<form /)) { - var redirect; if (data.match(/\[AutoSectionsPlugin\](.*?)\[\/AutoSectionsPlugin\]/)) { - var message = RegExp.$1; - alert(message); + alert(RegExp.$1); } else { - var confirmed = confirm( - "An error or a conflict occurred while retrieving the section. " + - "If you click OK, you will be automatically redirected to the " + - "\"edit\" page, where you may be able to edit the whole page " + - "or find some more detailed reason for the error." - ); - if (confirmed) { - redirect = editUrl; - } + alert("Edit conflict: Please edit the whole page instead of a section."); } cancelEditing(); ajaxLoad = null; - if (redirect) { - location.href = redirect; - } return; } Added: twiki/trunk/AutoSectionsPlugin/templates/oopsautosection.tmpl =================================================================== --- twiki/trunk/AutoSectionsPlugin/templates/oopsautosection.tmpl (rev 0) +++ twiki/trunk/AutoSectionsPlugin/templates/oopsautosection.tmpl 2013-10-30 08:04:42 UTC (rev 26567) @@ -0,0 +1 @@ +[AutoSectionsPlugin]%PARAM1%[/AutoSectionsPlugin] Added: twiki/trunk/AutoSectionsPlugin/templates/oopsleaseconflict.autosection.tmpl =================================================================== --- twiki/trunk/AutoSectionsPlugin/templates/oopsleaseconflict.autosection.tmpl (rev 0) +++ twiki/trunk/AutoSectionsPlugin/templates/oopsleaseconflict.autosection.tmpl 2013-10-30 08:04:42 UTC (rev 26567) @@ -0,0 +1 @@ +[AutoSectionsPlugin]%PARAM2% is editing this topic. You can try editing the entire topic rather than a section.[/AutoSectionsPlugin] Added: twiki/trunk/AutoSectionsPlugin/test/unit/AutoSectionsPlugin/AutoSectionsPlugin/TestParseLevels.pm =================================================================== --- twiki/trunk/AutoSectionsPlugin/test/unit/AutoSectionsPlugin/AutoSectionsPlugin/TestParseLevels.pm (rev 0) +++ twiki/trunk/AutoSectionsPlugin/test/unit/AutoSectionsPlugin/AutoSectionsPlugin/TestParseLevels.pm 2013-10-30 08:04:42 UTC (rev 26567) @@ -0,0 +1,33 @@ +use strict; + +package AutoSectionsPlugin::TestParseLevels; +use base qw(TWikiFnTestCase); + +use AutoSectionsPluginUtil qw(removeIndent); +use TWiki::Plugins::AutoSectionsPlugin::Core qw(parseLevels); + +my $web = 'TestCases'; +my $topic = 'AutoSectionsTestTopic'; +my $mark = "AutoSection/$web/$topic"; + +sub test_empty { + my $this = shift; + $this->assert_deep_equals(parseLevels(''), []); +} + +sub test_simple { + my $this = shift; + $this->assert_deep_equals(parseLevels('2, 3, 4'), [undef, undef, 0, 1, 2, undef, undef, undef, undef]); +} + +sub test_reverse { + my $this = shift; + $this->assert_deep_equals(parseLevels('4-6, 1-3'), [undef, 1, 1, 1, 0, 0, 0]); +} + +sub test_default { + my $this = shift; + $this->assert_deep_equals(parseLevels('1-2, 3, 4, 5, 6'), [undef, 0, 0, 1, 2, 3, 4, 5]); +} + +1; |