From: Nick J. <nje...@us...> - 2002-02-18 12:15:36
|
Update of /cvsroot/sandweb/sandweb/bin In directory usw-pr-cvs1:/tmp/cvs-serv31730/bin Modified Files: sandweb.cgi Log Message: * checkout now works (maintains data structure). * all (most) data accessing is now encapsulation in CGI * fixed misc. bugs in Config and Repository Index: sandweb.cgi =================================================================== RCS file: /cvsroot/sandweb/sandweb/bin/sandweb.cgi,v retrieving revision 1.181 retrieving revision 1.182 diff -U2 -r1.181 -r1.182 --- sandweb.cgi 18 Feb 2002 11:16:16 -0000 1.181 +++ sandweb.cgi 18 Feb 2002 12:15:32 -0000 1.182 @@ -119,4 +119,8 @@ ############################# # + # User is logged in; load prefs + load_config(1); + $log->debug("loading prefs"); + $log->debug('dump', $user); unless ($action) { # with auth cookie, default is sandbox_menu @@ -125,8 +129,4 @@ ); } else { - # User is logged in; load prefs - load_config(1); - $log->debug("loading prefs"); - if ( $action eq 'debug' ) { # called test menu @@ -353,5 +353,4 @@ $log->debug("entering sandbox_menu()"); - $log->debug('dump', $user); load_config(1); @@ -603,5 +602,5 @@ $user->get_repo_username(repo => $repo_name); $repo_connection = - $user->get_repo_onnection(repo => $repo_name); + $user->get_repo_connection(repo => $repo_name); $repo_type = $user->get_repo_type(repo => $repo_name); @@ -631,11 +630,8 @@ chomp $repo; my %entries; - $log->debug("-- REPO: $repository_selected = $repo && $repository_selected != $new_string\n"); if ($repository_selected eq $repo) { # Doesn't seem to work!?? ($repository_selected != $new_string)) { - $log->debug("-- REPO: TRUE\n"); $entries{REPOSITORY_ENTRY} = "<option selected>$repo</option>"; } else { - $log->debug("-- REPO: FALSE\n"); $entries{REPOSITORY_ENTRY} = "<option>$repo</option>"; } @@ -703,4 +699,46 @@ +sub checkout_menu { + my %args = @_; + my $ck_auth = $args{'ck_auth'}; + if (! load_config()) { + # no existing user config, forward to prefs menu + preferences_menu( ck_auth => $ck_auth ); + } + + my @repos = $user->get_repo_list(); + my @repo_list = (); + + my $i = 0; + foreach my $repo (@repos) { + my %entry; + $entry{'REPO_NAME'} = $repo; + if ($i == 0) { + $entry{'SELECTED'} = 1; + } + push @repo_list, \%entry; + $i++; + } + + my $content = $ui->get_menu( + MENU => 'checkout', + PROGNAME => $progname, + REPO_LIST => \@repo_list, + ); + + print CGI::header( -cookie => $ck_auth ); + $ui->print_screen( + TITLE=> 'SandWeb : checkout', + MENU_TITLE => 'SandWeb', + SUBMENU_TITLE => 'checkout', + FOOTER => '', + CONTENT => $content, + ERROR => $error, + ); + exit 0; +} + + + ############################################################################### ############################################################################### @@ -1032,45 +1070,4 @@ } - -sub checkout_menu { - my %args = @_; - my $ck_auth = $args{'ck_auth'}; - if (! load_config()) { - # no existing user config, forward to prefs menu - preferences_menu( ck_auth => $ck_auth ); - } - - my @repos = $user->get_repo_list(); - my @repo_list = (); - - my $i = 0; - foreach my $repo (@repos) { - my %entry; - $entry{'REPO_NAME'} = $repo; - if ($i == 0) { - $entry{'SELECTED'} = 1; - } - push @repo_list, \%entry; - $i++; - } - - my $content = $ui->get_menu( - MENU => 'checkout', - PROGNAME => $progname, - REPO_LIST => \@repo_list, - ); - - print CGI::header( -cookie => $ck_auth ); - $ui->print_screen( - TITLE=> 'SandWeb : checkout', - MENU_TITLE => 'SandWeb', - SUBMENU_TITLE => 'checkout', - FOOTER => '', - CONTENT => $content, - ERROR => $error, - ); - exit 0; -} - ############################################################################### # browse_vcs_commit @@ -1342,5 +1339,4 @@ my $username = $auth->get_username(); # write config data into the .$user_cfg file in the users directory - $log->debug('dump', $user); my ($return, $msg) = $user->write_preferences_config( 'config_dir' => $config->{'paths'}->{'users_dir'} . "/$username", @@ -1468,30 +1464,5 @@ 'log_obj' => $log, ); - - $log->debug("verifying repository data structure"); - # make sure data structure containing repositories is consistent - if ( ($user->{'repo'}->{'type'}) && - (ref(\$user->{'repo'}->{'type'}) eq 'SCALAR')) { - - my %temp = %{$user->{'repo'}}; - %{$user->{'repo'}} = (); - %{$user->{'repo'}->{$temp{'name'}}} = %temp; - } - - $log->debug('dump', $user->{'repo'}); - - foreach my $repo_name ($user->get_repo_list()) { - $log->debug("checking repo: $repo_name " . ref($user->{'repo'}->{$repo_name}->{'module_list'}) . "-"); - if (ref(\$user->{'repo'}->{$repo_name}->{'module_list'}) ne 'ARRAY') { - my $temp_module = $user->{'repo'}->{$repo_name}->{'module_list'}; - $log->debug("CREATING EMPTY ARRAY: $repo_name"); - $user->{'repo'}->{$repo_name}->{'module_list'} = []; - push @{$user->{'repo'}->{$repo_name}->{'module_list'}}, $temp_module; - - } - $log->debug("checking repo: $repo_name " . ref($user->{'repo'}->{$repo_name}->{'module_list'}) . "-"); - } - $log->debug('dump', $user->{'repo'}); return 1; @@ -1509,5 +1480,4 @@ my $username = $auth->get_username(); # write config data into the .$user_cfg file in the users directory - $log->debug('dump', $user); my ($return, $msg) = $user->write_preferences_config( 'config_dir' => $config->{'paths'}->{'users_dir'} . "/$username", |