--- loncom/interface/lonhelper.pm 2009/05/11 16:51:27 1.172 +++ loncom/interface/lonhelper.pm 2009/06/15 11:18:11 1.176 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # .helper XML handler to implement the LON-CAPA helper # -# $Id: lonhelper.pm,v 1.172 2009/05/11 16:51:27 bisitz Exp $ +# $Id: lonhelper.pm,v 1.176 2009/06/15 11:18:11 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -589,9 +589,18 @@ sub display { &Apache::loncommon::browser_and_searcher_javascript(). "\n".''; + # Breadcrumbs + my $brcrum = [{'href' => '', + 'text' => 'Helper'}]; + # FIXME: Dynamically add context sensitive breadcrumbs + # depending on the caller, + # e.g. printing, parametrization, etc. + # FIXME: Add breadcrumbs to reflect current helper state + $result .= &Apache::loncommon::start_page($self->{TITLE}, - $browser_searcher_js); - + $browser_searcher_js, + {'bread_crumbs' => $brcrum,}); + my $previous = HTML::Entities::encode(&mt("Back"), '<>&"'); my $next = HTML::Entities::encode(&mt("Next"), '<>&"'); # FIXME: This should be parameterized, not concatenated - Jeremy @@ -599,68 +608,56 @@ sub display { if (!$state->overrideForm()) { $result.='
'; } if ($stateHelp) { - $stateHelp = &Apache::loncommon::help_open_topic($stateHelp); - } - $result .= < -

$stateTitle$stateHelp

-HEADER - - $result .= "
"; - - if (!$state->overrideForm()) { - $result .= $self->_saveVars(); + $stateHelp = &Apache::loncommon::help_open_topic($stateHelp); } - $result .= $state->render(); - - $result .= ""; - # Warning: Copy and pasted from below, because it's too much trouble to - # turn this into a subroutine + # Prepare buttons + my $buttons; if (!$state->overrideForm()) { if ($self->{STATE} ne $self->{START_STATE}) { #$result .= '  '; } + $buttons = '

'; # '

'; if ($self->{DONE}) { my $returnPage = $self->{RETURN_PAGE}; - $result .= "" . &mt("End Helper") . ""; + $buttons .= ''.&mt('End Helper').''; } else { - $result .= ' '; - $result .= ''; + $buttons .= '' + .' ' + .'' + .''; } + $buttons .= '

'; # '
'; } - $result .= "
"; - # Warning: Copy and pasted from above, because it's too much trouble to - # turn this into a subroutine + + $result .= '

'.$stateTitle.$stateHelp.'

'; + +# $result .= '
'; + + # Top buttons + $result .= $buttons; + + # Main content of current helper screen if (!$state->overrideForm()) { - if ($self->{STATE} ne $self->{START_STATE}) { - #$result .= '  '; - } - if ($self->{DONE}) { - my $returnPage = $self->{RETURN_PAGE}; - $result .= "" . &mt('End Helper') . ""; - } - else { - $result .= ' '; - $result .= ''; - } + $result .= $self->_saveVars(); } + $result .= $state->render(); + + # Bottom buttons + $result .= $buttons; + #foreach my $key (keys %{$self->{VARS}}) { # $result .= "|$key| -> " . $self->{VARS}->{$key} . "
"; #} - $result .= "
"; +# $result .= ''; $result .= < - - FOOTER @@ -3441,7 +3438,7 @@ snippets and collecting the results. Fin helper, going to a provided page. If the parameter "restartCourse" is true, this will override the buttons and -will make a "Finish Helper" button that will re-initialize the course for them, +will make a Save button (Finish Helper) that will re-initialize the course for them, which is useful for the Course Initialization helper so the users never see the old values taking effect. @@ -3548,7 +3545,7 @@ sub render { my $actionURL = $self->{EXIT_PAGE}; my $targetURL = ''; - my $finish=&mt('Finish'); + my $finish=&mt('Save'); if ($self->{'restartCourse'}) { $actionURL = '/adm/roles'; $targetURL = '/adm/menu'; @@ -3560,21 +3557,19 @@ sub render { if ($env{'course.'.$env{'request.course.id'}.'.clonedfrom'}) { $targetURL = '/adm/parmset?overview=1'; } - my $finish=&mt('Finish Course Initialization'); } my $previous = HTML::Entities::encode(&mt("Back"), '<>&"'); my $next = HTML::Entities::encode(&mt("Next"), '<>&"'); my $target = " target='loncapaclient'"; - if (($env{'browser.interface'} eq 'textual') || - ($env{'environment.remote'} eq 'off')) { $target=''; } - $result .= "
\n" . + if ($env{'environment.remote'} eq 'off') { $target=''; } + $result .= "

\n" . "

\n" . "" . "" . "\n" . "\n\n" . - "
"; + "

\n"; return $result; } @@ -3697,9 +3692,9 @@ sub render { my $res = $navmap->getById($vars->{RESOURCE_ID}); $symb = $res->symb(); my $title = $res->compTitle(); - $resourceString .= '
  • '.&mt('for the resource named [_1] part [_2]',"$title","$part").'
  • '; + $resourceString .= '
  • '.&mt('for the resource named [_1], part [_2]',"$title","$part").'
  • '; } else { - $resourceString .= '
  • '.&mt('for the resource ID [_1] (name unavailable) part [_2]',''.$vars->{RESOURCE_ID}.'',"$part").'
  • '; + $resourceString .= '
  • '.&mt('for the resource ID [_1] (name unavailable), part [_2]',''.$vars->{RESOURCE_ID}.'',"$part").'
  • '; &Apache::lonnet::logthis('Retrieval of resource title failed in lonhelper.pm - could not create navmap object for course.'); } if ($vars->{TARGETS} eq 'course') { @@ -3732,7 +3727,10 @@ sub render { $result .= "&\"") . "' />\n"; - $result .= '

    '.&mt('Confirm that this information is correct, then click "Finish Helper" to complete setting the parameter.').'

      '; + $result .= '

      ' + .&mt('Confirm that this information is correct, then click "Save" to complete setting the parameter.') + .'

      ' + .'
        '; # Print the type of manipulation: my $extra; @@ -3808,7 +3806,18 @@ sub render { my $showdate = &Apache::lonlocal::locallocaltime($vars->{PARM_DATE}); $result .= '
      • '.&mt('to [_1] ([_2])',"".$showdate."",Apache::lonnavmaps::timeToHumanString($vars->{PARM_DATE}))."
      • \n"; } + + $result .= '
      '; +# FIXME: Make previous button working +# Found to be dysfunctional when used to change the selected student +# my $previous = HTML::Entities::encode(&mt("Back"), '<>&"'); + my $buttons .= '

      ' +# .'' + .' ' # Finish Helper + .'

      '."\n"; + # print pres_marker $result .= "\n\n"; @@ -3818,7 +3827,7 @@ sub render { $result .= "\n"; $result .= "\n"; - $result .= "

      \n"; + $result .= $buttons; return $result; }