Diff for /loncom/interface/lonmeta.pm between versions 1.230 and 1.235

version 1.230, 2009/04/21 15:23:18 version 1.235, 2009/05/28 17:08:32
Line 742  sub prettyinput { Line 742  sub prettyinput {
                       $relatedvalue);                         $relatedvalue); 
 }  }
   
   # Create pageheader
   sub pageheader {
       return &Apache::lonhtmlcommon::breadcrumbs()
             .&Apache::loncommon::head_subbox(
                  &Apache::loncommon::CSTR_pageheader());
   }
   
 # Main Handler  # Main Handler
 sub handler {  sub handler {
     my $r=shift;      my $r=shift;
Line 755  sub handler { Line 762  sub handler {
     return OK if $r->header_only;      return OK if $r->header_only;
     my ($resdomain,$resuser)=      my ($resdomain,$resuser)=
         (&Apache::lonnet::declutter($uri)=~/^($match_domain)\/($match_username)\//);          (&Apache::lonnet::declutter($uri)=~/^($match_domain)\/($match_username)\//);
   
       # Breadcrumbs
       &Apache::lonhtmlcommon::clear_breadcrumbs();
       &Apache::lonhtmlcommon::add_breadcrumb({
           'text'  => 'Construction Space',
           'href'  => &Apache::loncommon::authorspace(),
       });
   
     if ($uri=~m:/adm/bombs/(.*)$:) {      if ($uri=~m:/adm/bombs/(.*)$:) {
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'Error Messages',
               'href'  => '',
           });
         $r->print(&Apache::loncommon::start_page('Error Messages'));          $r->print(&Apache::loncommon::start_page('Error Messages'));
           $r->print(&pageheader());
         # Looking for all bombs?          # Looking for all bombs?
         &report_bombs($r,$uri);          &report_bombs($r,$uri);
     } elsif ($uri=~m|^/editupload/[^/]+/[^/]+/portfolio/|) {      } elsif ($uri=~m|^/editupload/[^/]+/[^/]+/portfolio/|) {
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'Edit Portfolio File Metadata',
               'href'  => '',
           });
     ($resdomain,$resuser)=      ($resdomain,$resuser)=
  (&Apache::lonnet::declutter($uri)=~m|^($match_domain)/($match_name)/portfolio|);   (&Apache::lonnet::declutter($uri)=~m|^($match_domain)/($match_name)/portfolio|);
         $r->print(&Apache::loncommon::start_page('Edit Portfolio File Metadata',          $r->print(&Apache::loncommon::start_page('Edit Portfolio File Metadata',
  undef,   undef,
  {'domain' => $resdomain,}));   {'domain' => $resdomain,}));
           $r->print(&pageheader());
         if ($env{'form.store'}) {          if ($env{'form.store'}) {
             &present_editable_metadata($r,$uri,'portfolio');              &present_editable_metadata($r,$uri,'portfolio');
         } else {          } else {
Line 781  sub handler { Line 806  sub handler {
             }              }
         }          }
     } elsif ($uri=~m|^/editupload/[^/]+/[^/]+/groups/|) {      } elsif ($uri=~m|^/editupload/[^/]+/[^/]+/groups/|) {
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'Edit Group Portfolio File Metadata',
               'href'  => '',
           });
         $r->print(&Apache::loncommon::start_page('Edit Group Portfolio File Metadata',          $r->print(&Apache::loncommon::start_page('Edit Group Portfolio File Metadata',
  undef,   undef,
  {'domain' => $resdomain,}));   {'domain' => $resdomain,}));
           $r->print(&pageheader());
         &present_editable_metadata($r,$uri,'groups');              &present_editable_metadata($r,$uri,'groups');    
     } elsif ($uri=~m|^/~|) {       } elsif ($uri=~m|^/~|) { 
         # Construction space          # Construction space
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'Edit Metadata',
               'href'  => '',
           });
         $r->print(&Apache::loncommon::start_page('Edit Metadata',          $r->print(&Apache::loncommon::start_page('Edit Metadata',
  "\n".'<script type="text/javascript">'."\n".   "\n".'<script type="text/javascript">'."\n".
                                                 &Apache::loncommon::browser_and_searcher_javascript().                                                  &Apache::loncommon::browser_and_searcher_javascript().
                                                 "\n".'</script>',                                                  "\n".'</script>',
  {'domain' => $resdomain,}));   {'domain' => $resdomain,}));
           $r->print(&pageheader());
         &present_editable_metadata($r,$uri);          &present_editable_metadata($r,$uri);
     } else {      } else {
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'Metadata',
               'href'  => '',
           });
         $r->print(&Apache::loncommon::start_page('Metadata',          $r->print(&Apache::loncommon::start_page('Metadata',
  undef,   undef,
  {'domain' => $resdomain,}));   {'domain' => $resdomain,}));
           $r->print(&pageheader());
         &present_uneditable_metadata($r,$uri);          &present_uneditable_metadata($r,$uri);
     }      }
     $r->print(&Apache::loncommon::end_page());      $r->print(&Apache::loncommon::end_page());
Line 1262  ENDDEL Line 1302  ENDDEL
         if ($disuri=~/\/default$/) {          if ($disuri=~/\/default$/) {
             my $dir=$disuri;              my $dir=$disuri;
             $dir=~s/default$//;              $dir=~s/default$//;
             $displayfile=&mt('Default Metadata for Directory [_1]',$dir);              $displayfile=&mt('Default Metadata for Directory [_1]'
                               ,'<span class="LC_filename">'.$dir.'</span>');
         }          }
         %Apache::lonpublisher::metadatafields=();          %Apache::lonpublisher::metadatafields=();
         %Apache::lonpublisher::metadatakeys=();          %Apache::lonpublisher::metadatakeys=();
Line 1289  ENDDEL Line 1330  ENDDEL
             }              }
         }          }
         $r->print(<<ENDEDIT);          $r->print(<<ENDEDIT);
 <h1>$displayfile</h1>  <p>$displayfile</p>
 <form method="post" action="" name="defaultmeta">  <form method="post" action="" name="defaultmeta">
 ENDEDIT  ENDEDIT
         my %lt=&fieldnames($file_type);          my %lt=&fieldnames($file_type);
Line 1381  ENDEDIT Line 1422  ENDEDIT
                 $lt{$field_name} = $$added_metadata_fields{$field_name};                  $lt{$field_name} = $$added_metadata_fields{$field_name};
             }              }
         }          }
         $output .= &Apache::loncommon::start_data_table();          $output .= &Apache::lonhtmlcommon::start_pick_box();
         my $row_alt = 1;          my $last = $#fields + 1;
           my $rowcount = 0;
         foreach my $field_name (@fields) {          foreach my $field_name (@fields) {
               $rowcount++;
             if (defined($env{'form.new_'.$field_name})) {              if (defined($env{'form.new_'.$field_name})) {
                 my @values = &Apache::loncommon::get_env_multiple('form.new_'.$field_name);                  my @values = &Apache::loncommon::get_env_multiple('form.new_'.$field_name);
                 my $newvalue = '';                  my $newvalue = '';
Line 1402  ENDEDIT Line 1445  ENDEDIT
                     ($field_name eq 'courserestricted'))&&                      ($field_name eq 'courserestricted'))&&
                     (!($env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.'.$field_name.'.options'} =~ m/deleted/))){                      (!($env{$Apache::lonpublisher::metadatafields{'courserestricted'}.'.metadata.'.$field_name.'.options'} =~ m/deleted/))){
                                           
                     $output .= "\n".&Apache::loncommon::start_data_table_row();                      $output .= &Apache::lonhtmlcommon::row_title($lt{$field_name})
                     $output .= ('<td><span class="LC_metadata">'.$lt{$field_name}.':</span></td><td> '.                                .&prettyinput($field_name,
                               &prettyinput($field_name,  
    $Apache::lonpublisher::metadatafields{$field_name},     $Apache::lonpublisher::metadatafields{$field_name},
                     'new_'.$field_name,'defaultmeta',                      'new_'.$field_name,'defaultmeta',
                     undef,undef,undef,undef,                      undef,undef,undef,undef,
                     $Apache::lonpublisher::metadatafields{'courserestricted'}).'</td>');                                                      $Apache::lonpublisher::metadatafields{'courserestricted'});
                     $output .= &Apache::loncommon::end_data_table_row();                      $output .= &Apache::lonhtmlcommon::row_closure($rowcount == $last?1:0);
                  }                   }
             } else {              } else {
   
                     $output.=(&Apache::loncommon::start_data_table_row().'<td><span class="LC_metadata">'.$lt{$field_name}.':</span></td><td> '.                      $output .= &Apache::lonhtmlcommon::row_title($lt{$field_name})
       &prettyinput($field_name,                                .&prettyinput($field_name,
    $Apache::lonpublisher::metadatafields{$field_name},     $Apache::lonpublisher::metadatafields{$field_name},
    'new_'.$field_name,'defaultmeta').'</td>'.&Apache::loncommon::end_data_table_row());                                             'new_'.$field_name,'defaultmeta')
                                 .&Apache::lonhtmlcommon::row_closure($rowcount == $last?1:0);
                                 
             }              }
         }          }
         $output .= &Apache::loncommon::end_data_table();          $output .= &Apache::lonhtmlcommon::end_pick_box();
  if ($env{'form.store'}) {   if ($env{'form.store'}) {
             my ($outcome,$result) = &store_metadata($fn,$uri,'store');              my ($outcome,$result) = &store_metadata($fn,$uri,'store');
             $r->print($result);              $r->print($result);
  }   }
  $r->print($output.'<br /><input type="submit" title="'.&mt('Save Metadata').'" name="store" value="'.          my $savebutton = '<p><input type="submit" name="store"'
                   &mt('Save').'" />');                          .' value="'.&mt('Save').'" title="'.&mt('Save Metadata').'" /></p>';
           $r->print($savebutton.$output.$savebutton);
   
  if ($file_type eq 'portfolio' || $file_type eq 'groups') {   if ($file_type eq 'portfolio' || $file_type eq 'groups') {
     my ($port_path,$group) = &get_port_path_and_group($uri);      my ($port_path,$group) = &get_port_path_and_group($uri);
Line 1499  sub store_metadata { Line 1543  sub store_metadata {
             print $mfh ($file_content);              print $mfh ($file_content);
             close($mfh);              close($mfh);
             &update_metadata_table($uri);              &update_metadata_table($uri);
             $output .= '<p class="LC_success">';              my $confirmtext;
             if ($caller eq 'transfer') {              if ($caller eq 'transfer') {
                 $output .= &mt('Transferred data in added fields to notes');                  $confirmtext = &mt('Transferred data in added fields to notes');
             } else {              } else {
                 $output .= &mt('Wrote Metadata');                  $confirmtext = &mt('Wrote Metadata');
             }              }
             $output .= ' '.&Apache::lonlocal::locallocaltime(time).              $output .= &Apache::loncommon::confirmwrapper(
                        '</p>';                             &Apache::lonhtmlcommon::confirm_success(
                                  $confirmtext.' '.&Apache::lonlocal::locallocaltime(time)));
             $outcome = 'ok';              $outcome = 'ok';
         }          }
     }      }

Removed from v.1.230  
changed lines
  Added in v.1.235


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>