diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm index bd7e5caf2..ed2801da8 100644 --- a/lib/WebGUI/Operation/VersionTag.pm +++ b/lib/WebGUI/Operation/VersionTag.pm @@ -324,23 +324,35 @@ sub www_commitVersionTag { my $f = WebGUI::HTMLForm->new($session); $f->submit; $f->readOnly( - label=>$i18n->get("version tag name"), - hoverHelp=>$i18n->get("version tag name description commit"), - value=>$tag->get("name") - ); + label => $i18n->get("version tag name"), + hoverHelp => $i18n->get("version tag name description commit"), + value => $tag->get("name") + ); $f->hidden( - name=>"tagId", - value=>$session->form->param("tagId") - ); + name =>"tagId", + value =>$session->form->param("tagId") + ); $f->hidden( - name=>"op", - value=>"commitVersionTagConfirm" - ); + name =>"op", + value =>"commitVersionTagConfirm" + ); $f->textarea( - name=>"comments", - label=>$i18n->get("comments"), - hoverHelp=>$i18n->get("comments description commit") - ); + name => "comments", + label => $i18n->get("comments"), + hoverHelp => $i18n->get("comments description commit") + ); + $f->dateTime( + name => "startTime", + label => $i18n->get("startTime label"), + hoverHelp => $i18n->get("startTime hoverHelp") + ); + $f->dateTime( + name => "endTime", + label => $i18n->get("endTime label"), + value => WebGUI::DateTime->new($session,'2036-01-01 00:00:00')->epoch, + hoverHelp => $i18n->get("endTime hoverHelp") + ); + $f->submit; $output .= $f->print; @@ -409,7 +421,15 @@ sub www_commitVersionTagConfirm { my $tag = WebGUI::VersionTag->new($session, $tagId); if (defined $tag && $session->user->isInGroup($tag->get("groupToUse"))) { my $i18n = WebGUI::International->new($session, "VersionTag"); - $tag->set({comments=>$session->form->process("comments", "textarea")}); + + my $startTime = WebGUI::DateTime->new($session,$session->form->process("startTime","dateTime"))->toDatabase; + my $endTime = WebGUI::DateTime->new($session,$session->form->process("endTime","dateTime"))->toDatabase; + + $tag->set({ + comments => $session->form->process("comments", "textarea"), + startTime => $startTime, + endTime => $endTime + }); my $message = $tag->requestCommit; my $error = ""; if ($message) { @@ -636,6 +656,15 @@ sub www_manageRevisionsInTag { return www_manageVersions( $session ); } } + elsif ( $session->form->get('action') eq "update" ) { + my $startTime = WebGUI::DateTime->new($session,$session->form->process("startTime","dateTime"))->toDatabase; + my $endTime = WebGUI::DateTime->new($session,$session->form->process("endTime","dateTime"))->toDatabase; + + $tag->set({ + startTime => $startTime, + endTime => $endTime + }); + } my $output = ""; # FIXME: Do we really need the workflowInstanceId? It's a property of the VersionTag... @@ -679,6 +708,9 @@ sub www_manageRevisionsInTag { $output .= $comments; } + #Add the ability to change the start/end date + + # The options for tags to move to tie my %moveToTagOptions, 'Tie::IxHash', ( "new" => $i18n->get( "manageRevisionsInTag moveTo new" ), @@ -693,6 +725,23 @@ sub www_manageRevisionsInTag { . '' . '' . '' + . '' + . '' + . '' + . '
' + . $i18n->get('startTime label').': ' + . WebGUI::Form::dateTime($session, { + name =>"startTime", + value => WebGUI::DateTime->new($session,$tag->get("startTime"))->epoch, + }) + . '
'.$i18n->get('endTime label').': ' + . WebGUI::Form::dateTime($session,{ + name =>"endTime", + value => WebGUI::DateTime->new($session,$tag->get("endTime"))->epoch, + }) + . '
' + . '' + . '
 
' . $i18n->get("manageRevisionsInTag with selected") . '' . ''