- Timestamp:
- 01/29/09 13:35:57 (3 years ago)
- Location:
- trunk/ActionTrackerPlugin/lib/Foswiki
- Files:
-
- 1 edited
- 1 moved
-
. (moved) (moved from trunk/ActionTrackerPlugin/lib/TWiki)
-
Plugins/ActionTrackerPlugin.pm (modified) (29 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ActionTrackerPlugin/lib/Foswiki/Plugins/ActionTrackerPlugin.pm
r1340 r2226 1 1 # 2 2 # Copyright (C) 2002 Motorola - All rights reserved 3 # Copyright (C) 2004-200 5Crawford Currie http://c-dot.co.uk3 # Copyright (C) 2004-2009 Crawford Currie http://c-dot.co.uk 4 4 # 5 5 # TWiki extension that adds tags for action tracking … … 16 16 # http://www.gnu.org/copyleft/gpl.html 17 17 # 18 package TWiki::Plugins::ActionTrackerPlugin;18 package Foswiki::Plugins::ActionTrackerPlugin; 19 19 20 20 use strict; … … 22 22 use Error qw( :try ); 23 23 24 require TWiki::Func;25 require TWiki::Plugins;24 require Foswiki::Func; 25 require Foswiki::Plugins; 26 26 27 27 use vars qw( $VERSION $RELEASE $initialised $SHORTDESCRIPTION ); … … 43 43 # COVERAGE OFF standard plugin code 44 44 45 if( $ TWiki::Plugins::VERSION < 1.026 ) {46 TWiki::Func::writeWarning( 'Version mismatch between ActionTrackerPlugin and Plugins.pm $TWiki::Plugins::VERSION. 1.026 required.' );45 if( $Foswiki::Plugins::VERSION < 1.026 ) { 46 Foswiki::Func::writeWarning( 'Version mismatch between ActionTrackerPlugin and Plugins.pm $Foswiki::Plugins::VERSION. 1.026 required.' ); 47 47 } 48 48 # COVERAGE ON … … 51 51 $doneHeader = 0; 52 52 53 TWiki::Func::registerRESTHandler( 'update', \&_updateRESTHandler );54 TWiki::Func::registerTagHandler(53 Foswiki::Func::registerRESTHandler( 'update', \&_updateRESTHandler ); 54 Foswiki::Func::registerTagHandler( 55 55 'ACTIONSEARCH', \&_handleActionSearch, 'context-free'); 56 56 … … 58 58 }; 59 59 60 sub _addCSSAndJS { 61 my $debug = ''; 62 $debug = '_src' if DEBUG; 63 64 Foswiki::Func::addToHEAD('ACTIONTRACKERPLUGIN_CSS', <<HERE); 65 <link rel="stylesheet" href="$options->{CSS}" type="text/css" media="all" /> 66 HERE 67 Foswiki::Func::addToHEAD('ACTIONTRACKERPLUGIN_JS', <<HERE); 68 <script type='text/javascript' src='%PUBURLPATH%/%SYSTEMWEB%/ActionTrackerPlugin/atp$debug.js'></script> 69 HERE 70 } 71 60 72 sub commonTagsHandler { 61 73 my( $otext, $topic, $web, $meta ) = @_; … … 65 77 return unless _lazyInit($web, $topic); 66 78 67 my $debug = ''; 68 $debug = '_src' if DEBUG; 69 70 TWiki::Func::addToHEAD('ACTIONTRACKERPLUGIN_CSS', <<HERE); 71 <link rel="stylesheet" href="$options->{CSS}" type="text/css" media="all" /> 72 HERE 73 TWiki::Func::addToHEAD('ACTIONTRACKERPLUGIN_JS', <<HERE); 74 <script type='text/javascript' src='%PUBURLPATH%/%SYSTEMWEB%/ActionTrackerPlugin/atp$debug.js'></script> 75 HERE 79 _addCSSAndJS(); 76 80 77 81 # Format actions in the topic. 78 82 # Done this way so we get tables built up by 79 83 # collapsing successive actions. 80 my $as = TWiki::Plugins::ActionTrackerPlugin::ActionSet::load(84 my $as = Foswiki::Plugins::ActionTrackerPlugin::ActionSet::load( 81 85 $web, $topic, $otext, 1); 82 86 my $actionGroup; … … 87 91 if (!$actionGroup) { 88 92 $actionGroup = 89 new TWiki::Plugins::ActionTrackerPlugin::ActionSet();93 new Foswiki::Plugins::ActionTrackerPlugin::ActionSet(); 90 94 } 91 95 $actionGroup->add($entry); … … 127 131 #my( $text, $topic, $web, $meta ) = @_; 128 132 129 if( TWiki::Func::getSkin() =~ /\baction\b/ ) { 133 if( Foswiki::Func::getSkin() =~ /\baction\b/ ) { 134 print STDERR "Action edit\n"; 130 135 return _beforeActionEdit(@_); 131 136 } else { 137 print STDERR "Noamrl edit\n"; 132 138 return _beforeNormalEdit(@_); 133 139 } … … 143 149 return unless _lazyInit($_[2], $_[1]); 144 150 145 my $as = TWiki::Plugins::ActionTrackerPlugin::ActionSet::load(151 my $as = Foswiki::Plugins::ActionTrackerPlugin::ActionSet::load( 146 152 $_[2], $_[1], $_[0], 1); 147 153 $_[0] = $as->stringify(); … … 154 160 return unless _lazyInit($web, $topic); 155 161 156 my $query = TWiki::Func::getCgiQuery();162 my $query = Foswiki::Func::getCgiQuery(); 157 163 158 164 my $uid = $query->param( 'atp_action' ); … … 162 168 # as %TEXT%. This is done so we can use the standard template mechanism 163 169 # without screwing up the content of the subtemplate. 164 my $tmpl = TWiki::Func::readTemplate( 'actionform', 165 TWiki::Func::getSkin()); 166 167 my $date = TWiki::Func::formatTime( time(), undef, 'gmtime' ); 170 my $tmpl = Foswiki::Func::readTemplate( 'actionform', 171 Foswiki::Func::getSkin()); 172 173 my $date = Foswiki::Func::formatTime( time(), undef, 174 $Foswiki::cfg{DisplayTimeValues} ); 168 175 169 176 die unless ($date); 170 177 171 178 $tmpl =~ s/%DATE%/$date/go; 172 my $user = TWiki::Func::getWikiUserName();179 my $user = Foswiki::Func::getWikiUserName(); 173 180 $tmpl =~ s/%WIKIUSERNAME%/$user/go; 174 $tmpl = TWiki::Func::expandCommonVariables( $tmpl, $topic, $web );175 $tmpl = TWiki::Func::renderText( $tmpl, $web );181 $tmpl = Foswiki::Func::expandCommonVariables( $tmpl, $topic, $web ); 182 $tmpl = Foswiki::Func::renderText( $tmpl, $web ); 176 183 177 184 # The 'command' parameter is used to signal to the afterEditHandler and … … 188 195 189 196 # Find the action. 190 my $as = TWiki::Plugins::ActionTrackerPlugin::ActionSet::load(197 my $as = Foswiki::Plugins::ActionTrackerPlugin::ActionSet::load( 191 198 $web, $topic, $text, 1); 192 199 my ( $action, $pre, $post ) = $as->splitOnAction( $uid ); … … 228 235 $tmpl =~ s/%SUBMITCOMMAND%/$submitCmd/go; 229 236 230 my $fmt = new TWiki::Plugins::ActionTrackerPlugin::Format(237 my $fmt = new Foswiki::Plugins::ActionTrackerPlugin::Format( 231 238 $options->{EDITHEADER}, 232 239 $options->{EDITFORMAT}, … … 252 259 253 260 # Add styles and javascript for the calendar 254 TWiki::Func::addToHEAD(261 Foswiki::Func::addToHEAD( 255 262 'ATP_CSS', 256 263 '<style type="text/css" media="all">@import url("%ACTIONTRACKERPLUGIN_CSS%");</style>'); 257 264 258 use TWiki::Contrib::JSCalendarContrib;259 if( $@ || !$ TWiki::Contrib::JSCalendarContrib::VERSION ) {260 TWiki::Func::writeWarning('JSCalendarContrib not found '.$@);265 use Foswiki::Contrib::JSCalendarContrib; 266 if( $@ || !$Foswiki::Contrib::JSCalendarContrib::VERSION ) { 267 Foswiki::Func::writeWarning('JSCalendarContrib not found '.$@); 261 268 } else { 262 TWiki::Contrib::JSCalendarContrib::addHEAD( 'twiki' );269 Foswiki::Contrib::JSCalendarContrib::addHEAD( 'foswiki' ); 263 270 } 264 271 } … … 282 289 ### my ( $text, $topic, $web ) = @_; 283 290 284 my $query = TWiki::Func::getCgiQuery();291 my $query = Foswiki::Func::getCgiQuery(); 285 292 return unless ( $query->param( 'closeactioneditor' )); 286 293 … … 303 310 304 311 my $action = 305 TWiki::Plugins::ActionTrackerPlugin::Action::createFromQuery(312 Foswiki::Plugins::ActionTrackerPlugin::Action::createFromQuery( 306 313 $_[2], $_[1], $an, $query ); 307 314 … … 325 332 return unless _lazyInit($web, $topic); 326 333 327 my $query = TWiki::Func::getCgiQuery();334 my $query = Foswiki::Func::getCgiQuery(); 328 335 return unless ( $query ); # Fix from GarethEdwards 13 Jun 2003 329 336 … … 368 375 my %seenUID; 369 376 370 my $as = TWiki::Plugins::ActionTrackerPlugin::ActionSet::load(377 my $as = Foswiki::Plugins::ActionTrackerPlugin::ActionSet::load( 371 378 $_[2], $_[1], $_[0], 1); 372 379 … … 394 401 return unless _lazyInit($web, $topic); 395 402 403 _addCSSAndJS(); 404 396 405 # use default format unless overridden 397 406 my $fmt; … … 406 415 $hdrs = $defaultFormat->getHeaders() unless ( defined( $hdrs )); 407 416 $orient = $defaultFormat->getOrientation() unless ( defined( $orient )); 408 $fmt = new TWiki::Plugins::ActionTrackerPlugin::Format( $hdrs, $fmts, $orient, '', '' );417 $fmt = new Foswiki::Plugins::ActionTrackerPlugin::Format( $hdrs, $fmts, $orient, '', '' ); 409 418 } else { 410 419 $fmt = $defaultFormat; 411 420 } 412 421 413 my $actions = TWiki::Plugins::ActionTrackerPlugin::ActionSet::allActionsInWebs( $web, $attrs, 0 );422 my $actions = Foswiki::Plugins::ActionTrackerPlugin::ActionSet::allActionsInWebs( $web, $attrs, 0 ); 414 423 $actions->sort( $sort ); 415 424 return $actions->formatAsHTML( $fmt, 'href', $options->{USENEWWINDOW}, … … 424 433 425 434 eval { 426 require TWiki::Attrs;427 require TWiki::Plugins::ActionTrackerPlugin::Options;428 require TWiki::Plugins::ActionTrackerPlugin::Action;429 require TWiki::Plugins::ActionTrackerPlugin::ActionSet;430 require TWiki::Plugins::ActionTrackerPlugin::Format;435 require Foswiki::Attrs; 436 require Foswiki::Plugins::ActionTrackerPlugin::Options; 437 require Foswiki::Plugins::ActionTrackerPlugin::Action; 438 require Foswiki::Plugins::ActionTrackerPlugin::ActionSet; 439 require Foswiki::Plugins::ActionTrackerPlugin::Format; 431 440 }; 432 441 if ($@) { 433 TWiki::Func::writeWarning("ActionTrackerPlugin: init failed $@");442 Foswiki::Func::writeWarning("ActionTrackerPlugin: init failed $@"); 434 443 return 0; 435 444 } 436 445 437 $options = TWiki::Plugins::ActionTrackerPlugin::Options::load(446 $options = Foswiki::Plugins::ActionTrackerPlugin::Options::load( 438 447 $web, $topic); 439 448 440 $defaultFormat = new TWiki::Plugins::ActionTrackerPlugin::Format(449 $defaultFormat = new Foswiki::Plugins::ActionTrackerPlugin::Format( 441 450 $options->{TABLEHEADER}, 442 451 $options->{TABLEFORMAT}, … … 446 455 447 456 if( $options->{EXTRAS} ) { 448 my $e = TWiki::Plugins::ActionTrackerPlugin::Action::extendTypes(457 my $e = Foswiki::Plugins::ActionTrackerPlugin::Action::extendTypes( 449 458 $options->{EXTRAS} ); 450 459 # COVERAGE OFF safety net 451 460 if ( defined( $e )) { 452 TWiki::Func::writeWarning( "- TWiki::Plugins::ActionTrackerPlugin ERROR $e" );461 Foswiki::Func::writeWarning( "- Foswiki::Plugins::ActionTrackerPlugin ERROR $e" ); 453 462 } 454 463 # COVERAGE ON … … 466 475 my ( $web, $expr ) = @_; 467 476 468 eval 'require TWiki::Plugins::ActionTrackerPlugin::ActionNotify';477 eval 'require Foswiki::Plugins::ActionTrackerPlugin::ActionNotify'; 469 478 if( $@ ) { 470 TWiki::Func::writeWarning("ATP: $@");479 Foswiki::Func::writeWarning("ATP: $@"); 471 480 return; 472 481 } 473 482 474 my $text = TWiki::Plugins::ActionTrackerPlugin::ActionNotify::doNotifications( $web, $expr, 1 );483 my $text = Foswiki::Plugins::ActionTrackerPlugin::ActionNotify::doNotifications( $web, $expr, 1 ); 475 484 476 485 $text =~ s/<html>/<\/pre>/gios; … … 483 492 sub _updateRESTHandler { 484 493 my $session = shift; 485 my $query = TWiki::Func::getCgiQuery();494 my $query = Foswiki::Func::getCgiQuery(); 486 495 try { 487 496 my $topic = $query->param('topic'); 488 497 my $web; 489 ($web, $topic) = TWiki::Func::normalizeWebTopicName(undef, $topic);498 ($web, $topic) = Foswiki::Func::normalizeWebTopicName(undef, $topic); 490 499 _lazyInit($web, $topic); 491 500 _updateSingleAction( … … 498 507 print CGI::header('text/plain', 500); 499 508 print $e->{-text}; 500 } catch TWiki::AccessControlException with {509 } catch Foswiki::AccessControlException with { 501 510 my $e = shift; 502 511 print CGI::header('text/plain', 500); … … 509 518 my ( $web, $topic, $uid, %changes ) = @_; 510 519 511 my ($meta, $text) = TWiki::Func::readTopic($web, $topic);520 my ($meta, $text) = Foswiki::Func::readTopic($web, $topic); 512 521 513 522 my $descr; … … 518 527 my %seenUID; 519 528 520 my $as = TWiki::Plugins::ActionTrackerPlugin::ActionSet::load(529 my $as = Foswiki::Plugins::ActionTrackerPlugin::ActionSet::load( 521 530 $web, $topic, $text, 1); 522 531 … … 530 539 } 531 540 } 532 TWiki::Func::saveTopic($web, $topic, $meta, $as->stringify(),541 Foswiki::Func::saveTopic($web, $topic, $meta, $as->stringify(), 533 542 { comment => 'atp save' }); 534 543 }
Note: See TracChangeset
for help on using the changeset viewer.
