Changeset 22 for trunk/dns.cgi


Ignore:
Timestamp:
10/15/09 17:50:22 (15 years ago)
Author:
Kris Deugau
Message:

/trunk

checkpoint - basic group management should be complete

  • fiddled HTML so that group-delete and domain-delete errors don't sit on top of the menu column
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dns.cgi

    r20 r22  
    165165      $page->param(del_failed => 1);
    166166      $page->param(errmsg => $msg);
     167      listdomains($curgroup);
    167168    } else {
    168169      # success.  go back to the domain list, do not pass "GO"
     
    365366} elsif ($webvar{page} eq 'grpman') {
    366367
    367   my $sth = $dbh->prepare("select count(*) from groups");
    368   $sth->execute;
    369   my ($count) = ($sth->fetchrow_array);
    370 
    371 # fill page count and first-previous-next-last-all bits
    372 ##fixme - hardcoded group bit
    373   fill_pgcount($count,"groups",'');
    374   fill_fpnla($count);
    375 
    376   my @grouplist;
    377   $sth = $dbh->prepare("SELECT g.group_id, g.group_name, g2.group_name, ".
    378         "count(distinct(u.email)), count(distinct(d.domain)) ".
    379         "FROM groups g ".
    380         "INNER JOIN groups g2 ON g2.group_id=g.parent_group_id ".
    381         "LEFT OUTER JOIN users u ON u.group_id=g.group_id ".
    382         "LEFT OUTER JOIN domains d ON d.group_id=g.group_id ".
    383         "GROUP BY g.group_id, g.group_name, g2.group_name ".
    384         "ORDER BY g.group_id".($offset eq 'all' ? '' : " LIMIT $perpage OFFSET ".$offset*$perpage));
    385   $sth->execute;
    386 
    387   my $rownum = 0;
    388   while (my @data = $sth->fetchrow_array) {
    389     my %row;
    390     $row{groupid} = $data[0];
    391     $row{groupname} = $data[1];
    392     $row{pgroup} = $data[2];
    393     $row{nusers} = $data[3];
    394     $row{ndomains} = $data[4];
    395     $row{bg} = ($rownum++)%2;
    396     $row{sid} = $sid;
    397     push @grouplist, \%row;
    398   }
    399   $page->param(grouptable => \@grouplist);
    400 
     368  listgroups();
    401369  $page->param(curpage => $webvar{page});
    402370
     
    418386  }
    419387
    420 } elsif ($webvar{page} eq 'delgroup') {
     388} elsif ($webvar{page} eq 'delgrp') {
    421389
    422390  $page->param(id => $webvar{id});
     
    436404      $page->param(del_failed => 1);
    437405      $page->param(errmsg => $msg);
     406      $page->param(curpage => $webvar{page});
     407      listgroups();
    438408    } else {
    439409      # success.  go back to the domain list, do not pass "GO"
     
    646616
    647617sub listdomains {
    648 
    649618  my $sth = $dbh->prepare("SELECT count(*) FROM domains WHERE group_id=?");
    650619  $sth->execute($curgroup);
     
    683652
    684653
     654sub listgroups {
     655  my $sth = $dbh->prepare("select count(*) from groups");
     656  $sth->execute;
     657  my ($count) = ($sth->fetchrow_array);
     658
     659# fill page count and first-previous-next-last-all bits
     660##fixme - hardcoded group bit
     661  fill_pgcount($count,"groups",'');
     662  fill_fpnla($count);
     663
     664  my @grouplist;
     665  $sth = $dbh->prepare("SELECT g.group_id, g.group_name, g2.group_name, ".
     666        "count(distinct(u.email)), count(distinct(d.domain)) ".
     667        "FROM groups g ".
     668        "INNER JOIN groups g2 ON g2.group_id=g.parent_group_id ".
     669        "LEFT OUTER JOIN users u ON u.group_id=g.group_id ".
     670        "LEFT OUTER JOIN domains d ON d.group_id=g.group_id ".
     671        "GROUP BY g.group_id, g.group_name, g2.group_name ".
     672        "ORDER BY g.group_id".($offset eq 'all' ? '' : " LIMIT $perpage OFFSET ".$offset*$perpage));
     673  $sth->execute;
     674
     675  my $rownum = 0;
     676  while (my @data = $sth->fetchrow_array) {
     677    my %row;
     678    $row{groupid} = $data[0];
     679    $row{groupname} = $data[1];
     680    $row{pgroup} = $data[2];
     681    $row{nusers} = $data[3];
     682    $row{ndomains} = $data[4];
     683    $row{bg} = ($rownum++)%2;
     684    $row{sid} = $sid;
     685    push @grouplist, \%row;
     686  }
     687  $page->param(grouptable => \@grouplist);
     688} # end listgroups()
     689
     690
    685691sub fill_grouplist {
    686692  my $template_var = shift;
Note: See TracChangeset for help on using the changeset viewer.