add print test page
This commit is contained in:
89
settings.pl
89
settings.pl
@@ -327,6 +327,51 @@ sub sanitize_cups_printer_name( $ )
|
||||
return $s;
|
||||
}
|
||||
|
||||
sub queue_config_fields( $ )
|
||||
{
|
||||
my $line = $_[0];
|
||||
|
||||
$line = '' unless defined( $line );
|
||||
$line =~ s/^\s*21\s+//i;
|
||||
$line =~ s/^\s+//;
|
||||
$line =~ s/\s+$//;
|
||||
|
||||
my( $name, $spool, $cmd ) = split( /\s+/, $line, 3 );
|
||||
|
||||
$name = '' unless defined( $name );
|
||||
$spool = '' unless defined( $spool );
|
||||
$cmd = '' unless defined( $cmd );
|
||||
|
||||
return( $name, $spool, $cmd );
|
||||
}
|
||||
|
||||
sub queue_config_by_name( $ )
|
||||
{
|
||||
my $wanted = uc( $_[0] );
|
||||
|
||||
foreach my $line ( getconfig( 21 ) )
|
||||
{
|
||||
my( $name, $spool, $cmd ) = queue_config_fields( $line );
|
||||
return( $spool, $cmd ) if uc( $name ) eq $wanted;
|
||||
}
|
||||
|
||||
return( '', '' );
|
||||
}
|
||||
|
||||
sub queue_names_from_config()
|
||||
{
|
||||
my @names = ();
|
||||
|
||||
foreach my $line ( getconfig( 21 ) )
|
||||
{
|
||||
my( $name, $spool, $cmd ) = queue_config_fields( $line );
|
||||
push( @names, $name ) if $name ne '';
|
||||
}
|
||||
|
||||
return @names;
|
||||
}
|
||||
|
||||
|
||||
sub cups_queue_name( $ )
|
||||
{
|
||||
my $s = sanitize_cups_printer_name( $_[0] );
|
||||
@@ -3409,17 +3454,37 @@ $settings_nav_bar
|
||||
</TD>
|
||||
</TR>
|
||||
EOF
|
||||
my %queue_seen = ();
|
||||
my @queue_names = ();
|
||||
|
||||
@c = sort( split( "\n", `nwbols -t 3 -S $server` ) );
|
||||
foreach $c ( @c )
|
||||
{
|
||||
my @c = split( ' ', $c );
|
||||
next if ! defined( $c[0] ) || $c[0] eq '';
|
||||
next if $queue_seen{uc( $c[0] )};
|
||||
push( @queue_names, $c[0] );
|
||||
$queue_seen{uc( $c[0] )} = 1;
|
||||
}
|
||||
|
||||
foreach my $q ( queue_names_from_config() )
|
||||
{
|
||||
next if $queue_seen{uc( $q )};
|
||||
push( @queue_names, $q );
|
||||
$queue_seen{uc( $q )} = 1;
|
||||
}
|
||||
|
||||
foreach my $q ( sort( @queue_names ) )
|
||||
{
|
||||
print <<EOF;
|
||||
<TR BGCOLOR="#fbf7f1">
|
||||
<TD>
|
||||
<A HREF="/settings/queues/$c[0]">$c[0]</A>
|
||||
<A HREF="/settings/queues/$q">$q</A>
|
||||
</TD>
|
||||
<TD ALIGN=RIGHT>
|
||||
<A HREF="/apply/queues/$c[0]" onclick="return confirm('Delete queue $c[0]?')">Delete</A><BR>
|
||||
<A HREF="/apply/queues/$q?test_print=1">Test print</A>
|
||||
|
|
||||
<A HREF="/apply/queues/$q" onclick="return confirm('Delete queue $q?')">Delete</A><BR>
|
||||
</TD>
|
||||
</TR>
|
||||
EOF
|
||||
@@ -3448,6 +3513,10 @@ EOF
|
||||
{
|
||||
$unix_print = read_property_string( $c[2], 3, 'Q_UNIX_PRINT' );
|
||||
$spool_dir = read_property_string( $c[2], 3, 'Q_DIRECTORY' );
|
||||
|
||||
my( $cfg_spool, $cfg_cmd ) = queue_config_by_name( $c[2] );
|
||||
$spool_dir = $cfg_spool if ( ! defined( $spool_dir ) || $spool_dir eq '' ) && $cfg_spool ne '';
|
||||
$unix_print = $cfg_cmd if ( ! defined( $unix_print ) || $unix_print eq '' ) && $cfg_cmd ne '';
|
||||
}
|
||||
elsif( $selected_cups_printer ne '' )
|
||||
{
|
||||
@@ -3576,6 +3645,22 @@ EOF
|
||||
<INPUT NAME="spool_dir" TYPE=TEXT SIZE=32 VALUE="$spool_dir"><BR>
|
||||
</TD>
|
||||
</TR>
|
||||
EOF
|
||||
if( $c[2] ne 'add_new' )
|
||||
{
|
||||
print <<EOF;
|
||||
<TR BGCOLOR="#fbf7f1">
|
||||
<TD>
|
||||
<B>Queue test:</B><BR>
|
||||
<SMALL>Submit a small test job with nprint.</SMALL>
|
||||
</TD>
|
||||
<TD ALIGN=RIGHT>
|
||||
<A HREF="/apply/queues/$c[2]?test_print=1">Test print queue</A><BR>
|
||||
</TD>
|
||||
</TR>
|
||||
EOF
|
||||
}
|
||||
print <<EOF;
|
||||
<TR BGCOLOR="#d7c0a0">
|
||||
<TD>
|
||||
<INPUT TYPE=SUBMIT VALUE="OK">
|
||||
|
||||
Reference in New Issue
Block a user