Changeset 20 for trunk/dns.cgi


Ignore:
Timestamp:
10/15/09 13:23:51 (15 years ago)
Author:
Kris Deugau
Message:

/trunk

checkpoint, group mangling almost complete
also normalized *most* group* refs to use "group*" vs "grp*"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dns.cgi

    r19 r20  
    5959}
    6060
     61if ($webvar{action} && $webvar{action} eq 'chgroup') {
     62  # fiddle session-stored group data
     63  # magic incantation to... uhhh...
     64  $session->param('curgroup', $webvar{group});
     65  $curgroup = ($webvar{group} ? $webvar{group} : $session->param('curgroup'));
     66}
     67
    6168my $header = HTML::Template->new(filename => "$templatedir/header.tmpl");
    6269my $footer = HTML::Template->new(filename => "$templatedir/footer.tmpl");
     
    132139  if ($webvar{defrec} eq 'y') {
    133140##fixme: hardcoded group
    134     showdomain('y',$group);
     141    showdomain('y',$curgroup);
    135142  } else {
    136143    showdomain('n',$webvar{id});
     
    236243
    237244  if ($webvar{defrec} eq 'y') {
    238     $page->param(dohere => "default records in group ".grpName($dbh,$webvar{parentid}));
     245    $page->param(dohere => "default records in group ".groupName($dbh,$webvar{parentid}));
    239246  } else {
    240247    $page->param(dohere => domainName($dbh,$webvar{parentid}));
     
    339346
    340347##fixme:  Group should be variable
    341   my ($code,$msg) = addDomain($dbh,$webvar{domain},1,($webvar{makeactive} eq 'on' ? 1 : 0));
     348  my ($code,$msg) = addDomain($dbh,$webvar{domain},$webvar{group},($webvar{makeactive} eq 'on' ? 1 : 0));
    342349
    343350# hokay, a bit of magic to decide which page we hit.
     
    367374  fill_fpnla($count);
    368375
    369   my @grplist;
     376  my @grouplist;
    370377  $sth = $dbh->prepare("SELECT g.group_id, g.group_name, g2.group_name, ".
    371378        "count(distinct(u.email)), count(distinct(d.domain)) ".
     
    381388  while (my @data = $sth->fetchrow_array) {
    382389    my %row;
    383     $row{grpid} = $data[0];
    384     $row{grpname} = $data[1];
    385     $row{pgrp} = $data[2];
     390    $row{groupid} = $data[0];
     391    $row{groupname} = $data[1];
     392    $row{pgroup} = $data[2];
    386393    $row{nusers} = $data[3];
    387394    $row{ndomains} = $data[4];
    388395    $row{bg} = ($rownum++)%2;
    389396    $row{sid} = $sid;
    390     push @grplist, \%row;
    391   }
    392   $page->param(grptable => \@grplist);
     397    push @grouplist, \%row;
     398  }
     399  $page->param(grouptable => \@grouplist);
    393400
    394401  $page->param(curpage => $webvar{page});
    395402
    396403} elsif ($webvar{page} eq 'newgrp') {
     404
    397405  # do.. uhh.. stuff.. if we have no webvar{action}
    398406  if ($webvar{action} && $webvar{action} eq 'add') {
     
    403411    $page->param(errmsg => $msg);
    404412    $page->param(newgroup => $webvar{newgroup});
    405      fill_grplist('pargroup',$webvar{pargroup});
     413     fill_grouplist('pargroup',$webvar{pargroup});
    406414  } else {
    407415#    $page->param
    408      fill_grplist('pargroup',$curgroup);
    409 
    410   }
     416     fill_grouplist('pargroup',$curgroup);
     417
     418  }
     419
     420} elsif ($webvar{page} eq 'delgroup') {
     421
     422  $page->param(id => $webvar{id});
     423  # first pass = confirm y/n (sorta)
     424  if (!defined($webvar{del})) {
     425    $page->param(del_getconf => 1);
     426    $page->param(groupname => groupName($dbh,$webvar{id}));
     427# print some neato things?
     428
     429#  } else {
     430#    #whether actually deleting or cancelling we redirect to the group list, default format
     431
     432  } elsif ($webvar{del} eq 'ok') {
     433    my ($code,$msg) = delGroup($dbh, $webvar{id});
     434    if ($code ne 'OK') {
     435# need to find failure mode
     436      $page->param(del_failed => 1);
     437      $page->param(errmsg => $msg);
     438    } else {
     439      # success.  go back to the domain list, do not pass "GO"
     440      changepage(page => "grpman");
     441    }
     442  } else {
     443    # cancelled.  whee!
     444    changepage(page => "grpman");
     445  }
     446
    411447}
    412448
     
    417453foreach (@debugbits) { print; }
    418454
    419 # common bits
     455##common bits
    420456if ($webvar{page} ne 'login') {
    421   $page->param(grp => $group);
    422   $page->param(grpname => grpName($dbh,$group));
    423   fill_grplist("grplist");
     457  $page->param(group => $curgroup);
     458  $page->param(groupname => groupName($dbh,$curgroup));
     459
     460  # stuff for menu group change.  nb: this is icky.
     461  fill_grouplist("grouplist");
     462  $page->param(whereami => $ENV{REQUEST_URI});
    424463}
    425464
     
    430469foreach my $key (keys %webvar) {
    431470  print "key: $key\tval: $webvar{$key}\n";
     471}
     472print "</pre>\nsession:\n<pre>\n";
     473my $sesdata = $session->dataref();
     474foreach my $key (keys %$sesdata) {
     475  print "key: $key\tval: ".$sesdata->{$key}."\n";
    432476}
    433477print "</pre>\nENV:\n<pre>\n";
     
    604648
    605649  my $sth = $dbh->prepare("SELECT count(*) FROM domains WHERE group_id=?");
    606   $sth->execute($group);
     650  $sth->execute($curgroup);
    607651  my ($count) = $sth->fetchrow_array;
    608652
    609653# fill page count and first-previous-next-last-all bits
    610654##fixme - hardcoded group bit
    611   fill_pgcount($count,"domains","default group");
     655  fill_pgcount($count,"domains",groupName($dbh,$curgroup));
    612656  fill_fpnla($count);
    613657
    614658##fixme - group
    615   $page->param(grp => 1);
     659  $page->param(group => $curgroup);
    616660  my @domlist;
    617   $sth = $dbh->prepare("select domain_id,domain,status,groups.group_name from domains".
    618         " inner join groups on domains.group_id=groups.group_id".
    619         " order by domain".($offset eq 'all' ? '' : " limit $perpage offset ".$offset*$perpage));
    620   $sth->execute;
     661  $sth = $dbh->prepare("SELECT domain_id,domain,status,groups.group_name FROM domains".
     662        " INNER JOIN groups ON domains.group_id=groups.group_id".
     663        " WHERE domains.group_id=?".
     664        " ORDER BY domain".($offset eq 'all' ? '' : " LIMIT $perpage OFFSET ".$offset*$perpage));
     665  $sth->execute($curgroup);
    621666  my $rownum = 0;
    622667  while (my @data = $sth->fetchrow_array) {
     
    638683
    639684
    640 sub fill_grplist {
     685sub fill_grouplist {
    641686  my $template_var = shift;
    642687  my $cur = shift || $curgroup;
     
    644689  my $sth = $dbh->prepare("SELECT group_id,parent_group_id,group_name FROM groups ORDER BY group_id");
    645690  $sth->execute;
    646   my @grplist;
    647   while (my ($grpid,$pargrp,$grpname) = $sth->fetchrow_array()) {
     691  my @grouplist;
     692  while (my ($groupid,$pargroup,$groupname) = $sth->fetchrow_array()) {
    648693    my %row;
    649     $row{grpname} = $grpname;
    650     $row{grpval} = $grpid;
     694    $row{groupname} = $groupname;
     695    $row{groupval} = $groupid;
    651696##fixme: need magic
    652 #    $row{defgrp} = '';
    653     $row{grpactive} = 1 if $grpid == $cur;
    654     push @grplist, \%row;
    655   }
    656 
    657   $page->param("$template_var" => \@grplist);
    658 
    659 }
     697#    $row{defgroup} = '';
     698    $row{groupactive} = 1 if $groupid == $cur;
     699    push @grouplist, \%row;
     700  }
     701
     702  $page->param("$template_var" => \@grouplist);
     703
     704}
Note: See TracChangeset for help on using the changeset viewer.