Index: openacs-4/packages/dotlrn/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/index.tcl,v diff -u -r1.13 -r1.14 --- openacs-4/packages/dotlrn/www/index.tcl 8 Dec 2001 01:22:40 -0000 1.13 +++ openacs-4/packages/dotlrn/www/index.tcl 11 Dec 2001 00:27:59 -0000 1.14 @@ -21,16 +21,29 @@ # Make sure user is logged in set user_id [ad_maybe_redirect_for_registration] -# Get the page -set portal_id [dotlrn::get_workspace_portal_id $user_id] +# Permission dotLRN +if {![dotlrn::user_can_browse_p]} { + ns_log Notice "DOTLRN- CANNOT BROWSE!" -# If there is no portal_id, this user is either a guest or something else -if {[empty_string_p $portal_id]} { - # do something - ad_return_template index-not-a-user + # Figure out if the user is a member of a community + set communities [dotlrn_community::get_all_communities_by_user $user_id] + + if {[llength $communities] == 0} { + ad_return_template index-not-a-user + return + } + + # For now, we assume only ONE community (FIXME: ben) + set the_community [lindex $communities 0] + ad_returnredirect [dotlrn_community::get_url_from_package_id -package_id [lindex $the_community 4]] + + ad_script_abort return -} else { - set rendered_page [dotlrn::render_page $portal_id] } +# Get the page +set portal_id [dotlrn::get_workspace_portal_id $user_id] + +set rendered_page [dotlrn::render_page $portal_id] + ad_return_template