--- loncom/interface/loncreateuser.pm 2003/07/17 18:14:41 1.58 +++ loncom/interface/loncreateuser.pm 2003/07/17 19:40:39 1.59 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.58 2003/07/17 18:14:41 www Exp $ +# $Id: loncreateuser.pm,v 1.59 2003/07/17 19:40:39 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -46,7 +46,7 @@ # 05/10,10/16 Gerd Kortemeyer # 02/11/02 Matthew Hall # -# $Id: loncreateuser.pm,v 1.58 2003/07/17 18:14:41 www Exp $ +# $Id: loncreateuser.pm,v 1.59 2003/07/17 19:40:39 www Exp $ ### package Apache::loncreateuser; @@ -83,6 +83,18 @@ BEGIN { } +# ======================================================= Existing Custom Roles + +sub my_custom_roles { + my %returnhash=(); + my %rolehash=&Apache::lonnet::dump('roles'); + foreach (keys %rolehash) { + if ($_=~/^rolesdef\_(\w+)$/) { + $returnhash{$_}=$_; + } + } + return %returnhash; +} # ==================================================== Figure out author access @@ -107,6 +119,9 @@ sub print_username_entry_form { my $selscript=&Apache::loncommon::studentbrowser_javascript(); my $sellink=&Apache::loncommon::selectstudent_link ('crtuser','ccuname','ccdomain'); + my %existingroles=&my_custom_roles(); + my $choice=&Apache::loncommon::select_form('make new role','rolename', + ('make new role' => 'Generate new role ...',%existingroles)); $r->print(<<"ENDDOCUMENT"); @@ -127,7 +142,7 @@ Domain:$domform

Edit Custom Role Privileges

-Name of Role:
+Name of Role: $choice
@@ -845,6 +860,10 @@ sub custom_role_editor { my $r=shift; my $rolename=$ENV{'form.rolename'}; + if ($rolename eq 'make new role') { + $rolename=$ENV{'form.newrolename'}; + } + $rolename=~s/\W//gs; unless ($rolename) { @@ -853,8 +872,17 @@ sub custom_role_editor { } $r->print(&Apache::loncommon::bodytag( - 'Create Users, Change User Privileges')); - $r->print('Not yet implemented.'); + 'Create Users, Change User Privileges').'

'); + my ($rdummy,$roledef)= + &Apache::lonnet::get('roles',["rolesdef_$rolename"]); + if (($rdummy ne 'con_lost') && ($roledef ne '')) { + $r->print('Existing Role "'); + } else { + $r->print('New Role "'); + $roledef=''; + } + $r->print($rolename.'"

'); + $r->print('Not yet implemented.'); } # ================================================================ Main Handler