]> mj.ucw.cz Git - pciids.git/commitdiff
Count of pending events in admin interface
authorMichal Vaner <vorner@ucw.cz>
Mon, 13 Oct 2008 21:08:30 +0000 (23:08 +0200)
committerMichal Vaner <vorner@ucw.cz>
Mon, 13 Oct 2008 21:08:30 +0000 (23:08 +0200)
PciIds/DBQ.pm
PciIds/Html/Admin.pm

index bf7134de1a566c67e5066bb94374070df40af25e..2740de554435fde765990c7a18e659325b425bdd 100644 (file)
@@ -119,7 +119,8 @@ sub new( $ ) {
                'hasChildren' => 'SELECT DISTINCT 1 FROM locations WHERE parent = ?',
                'hasMain' => 'SELECT DISTINCT 1 FROM locations WHERE id = ? AND mainhistory IS NOT NULL',
                'notif-exists' => 'SELECT DISTINCT 1 FROM notifications WHERE user = ? AND ( location = ? OR ( recursive = 1 AND type <= 1 AND SUBSTR( ?, 1, LENGTH( location ) ) = location ) )',
                'hasChildren' => 'SELECT DISTINCT 1 FROM locations WHERE parent = ?',
                'hasMain' => 'SELECT DISTINCT 1 FROM locations WHERE id = ? AND mainhistory IS NOT NULL',
                'notif-exists' => 'SELECT DISTINCT 1 FROM notifications WHERE user = ? AND ( location = ? OR ( recursive = 1 AND type <= 1 AND SUBSTR( ?, 1, LENGTH( location ) ) = location ) )',
-               'itemname' => 'SELECT name FROM locations WHERE id = ?'
+               'itemname' => 'SELECT name FROM locations WHERE id = ?',
+               'admincount' => 'SELECT COUNT( DISTINCT location ) FROM history WHERE seen = 0 AND location LIKE ?'
        } );
 }
 
        } );
 }
 
@@ -394,4 +395,9 @@ sub itemName( $$ ) {
        return defined $result ? $result : '';
 }
 
        return defined $result ? $result : '';
 }
 
+sub adminCount( $$ ) {
+       my( $tables, $prefix ) = @_;
+       return $tables->query( 'admincount', [ "$prefix%" ] )->[0]->[0];
+}
+
 1;
 1;
index 056d353004022ab6e5fec1c85cb7a0b5ba4d1698..0f8c1599775d6c4201e9096efeec2840324e5756 100644 (file)
@@ -116,6 +116,7 @@ sub genNewAdminForm( $$$$$ ) {
        my $moreButt = 'admin?limit='.( $limit ? int( $limit * 2 ) : 160 ).buildExcept( 'action', $args );
        $moreButt .= '?global='.$glob if defined $glob;
        genCustomHead( $req, $args, $address, $caption, [ $address->canAddItem() ? [ 'Add item', 'newitem' ] : (), $address->canDiscuss() ? [ 'Discuss', 'newhistory' ] : (), $glob ? [ 'Local', 'admin'.buildExcept( 'action', $args ) ] : [ 'Global', 'admin?global=1'.buildExcept( 'action', $args ) ], [ 'More items', $moreButt ], [ 'Help', 'help', 'admin' ] ], [ [ 'Log out', 'logout' ] ] );
        my $moreButt = 'admin?limit='.( $limit ? int( $limit * 2 ) : 160 ).buildExcept( 'action', $args );
        $moreButt .= '?global='.$glob if defined $glob;
        genCustomHead( $req, $args, $address, $caption, [ $address->canAddItem() ? [ 'Add item', 'newitem' ] : (), $address->canDiscuss() ? [ 'Discuss', 'newhistory' ] : (), $glob ? [ 'Local', 'admin'.buildExcept( 'action', $args ) ] : [ 'Global', 'admin?global=1'.buildExcept( 'action', $args ) ], [ 'More items', $moreButt ], [ 'Help', 'help', 'admin' ] ], [ [ 'Log out', 'logout' ] ] );
+       print "<p>Pending events: ".$tables->adminCount( $glob ? '' : $address->get() );
        print "<div class='error'>$error</div>\n" if( defined $error );
        print "<form name='admin' id='admin' class='admin' method='POST' action=''>\n";
        my $lastId;
        print "<div class='error'>$error</div>\n" if( defined $error );
        print "<form name='admin' id='admin' class='admin' method='POST' action=''>\n";
        my $lastId;