--- loncom/interface/lonaboutme.pm 2009/10/29 14:58:33 1.141
+++ loncom/interface/lonaboutme.pm 2012/11/08 18:37:44 1.150
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Personal Information Page
#
-# $Id: lonaboutme.pm,v 1.141 2009/10/29 14:58:33 raeburn Exp $
+# $Id: lonaboutme.pm,v 1.150 2012/11/08 18:37:44 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -50,8 +50,6 @@ described at http://www.lon-capa.org.
=item handler()
-=item in_course()
-
=item aboutme_info()
=item print_portfiles_link()
@@ -121,7 +119,7 @@ sub handler {
$r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\');
} else {
$r->print(&Apache::loncommon::start_page("Personal Information Page"));
- $r->print('
'.&mt('No user personal information page available') .'
'.
+ $r->print('
'.&mt('No user personal information page available') .'
'.
&mt('This is a result of one of the following:').'
'.
'
'.&mt('The administrator of this domain has disabled personal information page functionality for this specific user.').'
'.
'
'.&mt('The domain has been configured to disable, by default, personal information page functionality for all users in the domain.').'
'.
@@ -168,16 +166,22 @@ sub handler {
if ($is_course) {
if ($target ne 'tex') {
- my $brcrum = [{href=>"/adm/navmaps",text=>"Course Contents"},
- {href=>"/adm/aboutme",text=>"Course Information"}];
- my $start_page =
- &Apache::loncommon::start_page(
- "Course Information",
- undef,
- {'function' => $env{'forcestudent'},
- 'domain' => $cdom,
- 'force_register' => $env{'forceregister'},
- 'bread_crumbs' => $brcrum});
+ my $args = {'function' => undef,
+ 'domain' => $cdom};
+ if ($env{'form.register'}) {
+ $args->{'force_register'} = $env{'form.register'};
+ } else {
+ my %coursedescription =
+ &Apache::lonnet::coursedescription($cdom.'_'.$cnum);
+ my $cdescr = $coursedescription{'description'};
+ my $brcrum = [{href=>"/adm/$cdom/$cnum/aboutme",
+ text=>&mt('Course Information - [_1]',$cdescr),
+ no_mt=>1}
+ ];
+ $args->{'bread_crumbs'} = $brcrum;
+ }
+ my $start_page = &Apache::loncommon::start_page(
+ "Course Information",undef,$args);
$r->print($start_page);
$r->print('
'.&mt('Group Portfolio').'
');
&print_portfiles_link($r,$is_course);
@@ -186,22 +190,24 @@ sub handler {
return OK;
}
-# --------------------------------------------------------------- Force Student
- my $forcestudent='';
- if ($env{'form.forcestudent'}) { $forcestudent='student'; };
-
- my $forceregister = '';
- if ($forcestudent eq '') {
- $forceregister = $env{'form.register'};
- }
-
#------------Get rights
my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
- my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
- my $allowed=0;
- my $privleged=$allowed=(($env{'user.name'} eq $cnum) &&
- ($env{'user.domain'} eq $cdom));
- if ($forcestudent or $target eq 'tex') { $allowed=0; }
+ my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
+ my ($allowed,$coursedomain,$coursenum);
+ if ($env{'request.course.id'}) {
+ $coursedomain = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ $coursenum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ }
+ my ($cfile) =
+ &Apache::lonnet::can_edit_resource($env{'request.noversionuri'},
+ $coursenum,$coursedomain,
+ $env{'request.noversionuri'},
+ $env{'request.symb'});
+ if ($cfile ne '') {
+ $allowed = 1;
+ }
+
+ if (!$env{'form.forceedit'} or $target eq 'tex') { $allowed=0; }
# --------------------------------------- There is such a user, get environment
@@ -209,70 +215,20 @@ sub handler {
my $rss_link = &Apache::lonrss::rss_link($cnum,$cdom);
my $args = {'function' => undef,
'domain' => $cdom,
-# if this page is part of course content it looses the menu line when switching from Edit Mode to Public Mode. To avoid
-#this, I take take the value of the environment Variable $env{form.register}
-# 'force_register' => $forceregister};
- 'force_register' => $env{'form.register'}};
-
- if ($env{'form.popup'}) {
+ 'force_register' => $env{'form.register'},
+ };
+ if ($env{'form.popup'}) { # Don't show breadcrumbs in popup window
$args->{'no_nav_bar'} = 1;
- #Don't show breadcrumbs twice, when this page is part of course content and you call it
- } elsif ($env{'form.register'}) {
- #do nothing
- } else { # Don't show breadcrumbs in popup window
- $args->{'bread_crumbs'} = [{href=>"/adm/$cdom/$cnum/aboutme",text=>"Personal Information Page"}];
+ } elsif (!$env{'form.register'}) { #Don't show breadcrumbs twice, when this page is part of course content and you call it
+ $args->{'bread_crumbs'} = [{href=>"/adm/$cdom/$cnum/aboutme",
+ text=>"Personal Information Page"}];
}
my $start_page = &Apache::loncommon::start_page('Personal Information Page',$rss_link,$args);
$r->print($start_page);
}
-#----------------Print Functions
- if ($target ne 'tex') {
- my $functions=&Apache::lonhtmlcommon::start_funclist();
- if ($allowed) {
- my $query_string = &build_query_string(
- {'forcestudent' => '1',
- 'popup' => $env{'form.popup'}});
- $functions.=&Apache::lonhtmlcommon::add_item_funclist(
- ''
- .&mt('Show Public View').''
- .&Apache::loncommon::help_open_topic(
- 'Uploaded_Templates_PublicView'));
- } elsif ($privleged) {
- my $query_string = &build_query_string(
- {'forceedit' => '1',
- 'popup' => $env{'form.popup'}});
- $functions.=&Apache::lonhtmlcommon::add_item_funclist(
- ''
- .&mt('Edit').'');
- }
- $functions.=&Apache::lonhtmlcommon::add_item_funclist(
- &Apache::lontemplate::send_message($r,$cnum,$cdom));
-
- if ($env{'request.course.id'} &&
- &Apache::lonnet::allowed('srm',$env{'request.course.id'}) &&
- &in_course($cdom,$cnum)) {
- if (&Apache::lonnet::allowed('vsa', $env{'request.course.id'}) ||
- &Apache::lonnet::allowed('vsa', $env{'request.course.id'}.'/'.$env{'request.course.sec'})) {
- $functions.=&Apache::lonhtmlcommon::add_item_funclist(
- &Apache::loncommon::track_student_link(
- 'View recent activity by this student',$cnum,$cdom));
- }
- if (&Apache::lonnet::allowed('vgr', $env{'request.course.id'}) ||
- &Apache::lonnet::allowed('vgr', $env{'request.course.id'}.'/'.$env{'request.course.sec'})) {
- $functions.=&Apache::lonhtmlcommon::add_item_funclist(
- &Apache::loncommon::slot_reservations_link(
- 'Slot reservation history',$cnum,$cdom));
- }
- $functions.=&Apache::lonhtmlcommon::add_item_funclist(
- &Apache::loncommon::noteswrapper(
- &mt('Add Records'),$cnum,$cdom));
- }
- $functions.=&Apache::lonhtmlcommon::end_funclist();
- $r->print(&Apache::loncommon::head_subbox($functions));
- }
+#----------------Print Privacy note (edit mode) or last modified date.
-# Print Privacy Note
if ($target ne 'tex') {
#Print Privacy Note
if ($allowed) {
@@ -281,36 +237,36 @@ sub handler {
.&mt('The information you submit can be viewed by anybody who is logged into LON-CAPA. Do not provide information that you are not ready to share publicly.')
.''
);
- }
- }
-
-#Print last modified
-
- if ($target ne 'tex') {
- my $lastmod;
- if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
- $lastmod=$syllabus{'uploaded.lastmodified'};
+ } elsif ($syllabus{'uploaded.lastmodified'}) {
+ #Print last modified
+ my $lastmod=$syllabus{'uploaded.lastmodified'};
$lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never'));
$r->print('
');
}
}
-#Print Help Text
- if ($target ne 'tex') {
- if($allowed){
- $r->print(&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')));
- }
- }
#------Print Headtitle
if ($target ne 'tex') {
- $r->print('
');
- $r->print('
'.&Apache::loncommon::plainname($cnum,$cdom).'
');
- if ($courseenv{'nickname'}) {
- $r->print('
"'.$courseenv{'nickname'}.'"
');
- }
- $r->print('
'.&Apache::lonnet::domain($cdom,'description').'
');
+ $r->print('
'.
+ '
'.&Apache::loncommon::plainname($cnum,$cdom).'
');
+ if ($allowed) {
+ $r->print('
');
+ if ($courseenv{'nickname'}) {
+ $r->print('
"'.$courseenv{'nickname'}.'"
');
+ }
+ $r->print('
'.&Apache::lonnet::domain($cdom,'description').'
');
+ #Print Help Text
+ $r->print('
'.
+ &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')).
+ '