previous next up contents index


Subsections


B.3 Urlaubsantrag

B.3.1 HTML-Dokument

<html>

<head>

<title>Urlaubsantrag</title>

</head>

<body>

<center>

<h1>Urlaubsantrag</h1>

</center>

 

<form method="post" action="/cgi-bin/Urlaub.cgi">

<table>

<tr><td> Name:

    <td> <input type="text" name="Name" size=15>

    <td> Vorname:

    <td> <input type="text" name="Vorname" size=15>

    <td> Dienstbezeichnung:

    <td> <input type="text" name="DBez" size=5>

 

<tr><td> eMail:

    <td colspan=5> <input type="text" name="eMail" size=42>

 

<tr><td align=right> Sachgebiet:

    <td> <input type="text" name="Sachgebiet" size=10>

    <td> Referat:

    <td> <input type="text" name="Referat"    size=10>

    <td> KDV-FH:

         <input type="checkbox" name="KDV">

 

<tr><td colspan=2> Zentrale Einrichtung:

    <td>

         <input type="checkbox" name="Einrichtung" value="Bib"> Bibliothek  

    <td align=center>

         <input type="checkbox" name="Einrichtung" value="RZ"> Rechenzentrum

    <td>

         <input type="checkbox" name="Einrichtung" value="Hochschulleitung">

         Hochschulleitung

</table>

 

<br>

<h2>Antrag auf:</h2>

<table>

<tr><td>

         <input type="radio" name="Antrag" value="Urlaub">

         <font size=+1>Erholungsurlaub:</font>

    <td nowrap>

         am/vom: <input type="text" name="vom" size=5>

    <td> bis:    <input type="text" name="bis" size=5>

    <td>  =      <input type="text" name="Tage" size=5> Tage

 

<tr><td>

        <input type="radio" name="Antrag" value="AZV">

        <font size=+1>Arbeitszeitverk&uuml;rzung:</font>

    <td>

    <td>am:     <input type="text" name="vom" size=5>

    <td> =      <input type="text" name="Tage" size=5> Tag

</table>

 

<br>

<table>

<tr><td>Vertretung durch:

    <td><input type="text" name="Vertretung" size=15>

    <td allign=center>_______________________________

<tr><td><td>

    <td align=center>(Unterschrift Vertreter/in)

 

<tr><td>Regensburg,

    <td><input type="text" name="Datum" size=10 maxlength=10>

    <td allign=center>_______________________________

<tr><td><td>

    <td align=center>(Unterschrift Antragsteller/in)

</table>

 

<table cellspacing=30>

<tr><td> <input type=submit value="Antrag absenden">

    <td> <input type=reset  value="Vorgang abbrechen">

</table>

 

</form>

 

<hr noshade>

<I>

<SCRIPT>

<!-

        document.write( "Zuletzt ge&auml;ndert am " +

                        document.lastModified )

        //->

</SCRIPT>

 

<I><A HREF="mailto:metten@tuba.baynet.org">Christoph Metten</A></I>

 

</body>

</html>

B.3.2 Perl-Scripten

Urlaubsantrag

#!/soft/bin/perl

#----------------------------------------

#       Urlaub.cgi      Bearbeiten des Urlaubsantragsformulars

#                       Erzeugt eine Textdatei und Antwort-Dokument

#       Autor:          Christoph Metten, 27.09.1997

#                       fuer die Fachhochschule Regensburg

#       Aenderungen:    

#----------------------------------------

 

use lib '/soft/lib';

use CGI;

use strict;

 

#-------------

# Variablen

my(     $ausgabedatei, $mailprog, $mailaddress,

        $cgiprogram,

        $q, $par, @val,

        $Name, $Vorname, $email );

 

$ausgabedatei = "/www/log/Urlaub.list";

$mailprog     = "/usr/sbin/sendmail";

$mailaddress  = "Christoph Metten <cmetten\@tuba.baynet.org>";

$cgiprogram   = "/cgi-bin/Urlaub-Genehmigung.cgi";

 

$q = new CGI;

 

#-------------

# Eingabe lesen

&eingabe_lesen;

 

#-------------

# Parameter fuer Mail

$Name = $q->param( "Name" );

$Vorname = $q->param( "Vorname" );

$email = $q->param( "eMail" );

 

#-------------

# Ausgabe-eMail erzeugen

# &Ausgabemail;

 

#-------------

# Ausgabe

&http_header;

 

#-------------

# Ausgabe

# &test_ausgabe;

&formular_auswertung;

 

#-------------

# Verfuegung ausgeben

&verfuegung;

 

#-------------

# Abschlussarbeiten

&http_end;

 

exit( 0 );

 

#----------------------------------------

# Formulareingabe einlesen und Log-Datei schreiben

sub eingabe_lesen {

        open( FILE, "> $ausgabedatei" ) || die;

        foreach $par ($q->param) {              # Parameter lesen

                @val = $q->param( $par );       # Wert lesen

                print FILE $par, ": ";          # Ausgabe in Textdatei

                print FILE join( ",", @val );

                print FILE "; ";

        }

        print FILE "\n";

        close( FILE );

}

 

#----------------------------------------

# HTTP-Header ausgeben

sub http_header {

        my( $s );

        $s = "Urlaubsantrag von $Vorname $Name";

        print $q->header;

        print $q->start_html(   -title=>$s,

                                -author=>'cmetten@intern.fh-regensburg.de');

}

 

#----------------------------------------

# HTTP-Trailer

sub http_end {

        print  "<hr noshade>\n

                <font size=-1>

                <a href=\"http://INTERN-fh-regensburg.de/~cmetten\">

                Christoph Metten</a>, ";

        print  `date`;

 

        print $q->end_html;

}

 

#----------------------------------------

# Ausgabe-eMail

sub Ausgabemail{

        open( MAIL, "| $mailprog -t" ) || die "Kann Mailprogramm nicht öffnen!";

        print MAIL "To: $mailaddress\n";

        print MAIL "From: $Vorname $Name <$email>\n";

        print MAIL "Subject: Urlaubsantrag ($Vorname $Name)\n";

        foreach $par ($q->param) {

                @val = $q->param( $par );

                print MAIL $par;

                print MAIL ":\t";

                print MAIL @val;

        }

        close( MAIL );

}

 

#----------------------------------------

# Testausgabe

sub test_ausgabe {

        foreach $par ($q->param) {              # Parameter lesen

                @val = $q->param( $par );

                print $par, " -> ", join( ", ", @val ), "<br>\n";

        }

        print "<hr noshade>\n";

}

 

#----------------------------------------

# Formulardaten auswerten -> neues Formular

sub formular_auswertung {

        print   "<center><h1>Urlaubsantrag</h1></center>\n";

        print   "<table>\n";

        #-- Name

        print   "<tr><td>Name: <td colspan=2><b>",

                $q->param('Name'), " ",

                $q->param('Vorname'), "\n";

 

        #-- Dienstbezeichnung

        print   "<tr><td>Dienstbez.: <td><b>",

                $q->param('DBez'), "\n";

 

        #-- eMail-Adresse

        print   "<tr><td>eMail: <td colspan=4><b>",

                $q->param('eMail'), "\n";

 

        #-- Sachgebiet, Referat

        print   "<tr><td> Sachgebiet: <td><b>",

                $q->param('Sachgebiet'), "\n";

        print   "<td>Referat: <td><b>",

                $q->param('Referat'), "\n";

 

        #-- KDV-FH

        print "<td>KDV-FH:";

        if( $q->param('KDV') eq "on" ) {

                print "<b><tt>[X]</tt>\n";

        } else {

                print "<b><tt>[ ]</tt>\n";

        }

 

        #-- zentrale Einrichtung: Bib, RZ, Hochschulleitung

        print   "<tr><td> Zentrale Einrichtung: <td><b>",

                join( ", ", $q->param('Einrichtung')  );

 

        #-- Antrag

        print   "<tr><td>Antrag auf:";

        if( $q->param('Antrag') eq "Urlaub" ) {

                print "<td colspan=3><b>Erholungsurlaub";

        } elsif ( $q->param('Antrag') eq "AZV" ) {

                print "<td colspan=3><b>Arbeitszeitverk&uuml;rzung";

        } else {

                print "<td colspan=3><b>kein Antrag !";

        }

        

        #-- von .. bis .. = .. Tage

        print   "<tr><td>";

        print   "<td>am / vom: <td><b>",

                $q->param('vom');

        if( $q->param('bis') ) {

                print "<td>bis: <td><b>",

                        $q->param('bis');

        }

        print   "<td><tt>=</tt> <b>",

                $q->param('Tage'),

                " Tag(e)\n";

 

        #-- Vertretung

        print   "<tr><td>Vertretung durch: <td colspan=2><b>",

                $q->param( 'Vertretung' );

        print   "<tr><td colspan=3>",

                "<td colspan=3 align=right>Unterschrift Vertreter/in:",

                "<td allign=center>_______________________________";

        

        #-- Ort, Datum, Unterschrift

        print   "<tr><td><td colspan=2>Regensburg, <b>",

                $q->param( 'Datum' );

        print   "<tr><td colspan=3>",

                "<td colspan=3 align=right>Unterschrift Antragsteller/in:",

                "<td allign=center>_______________________________";

 

        print   "</table>\n";

}

 

#----------------------------------------

# Verfuegung

sub verfuegung {

        #-- Formular

        print   "<form method='post' action=", $cgiprogram, ">\n";

 

        #-- Einverstaendniserklaerung

        print   "<br><center><b>F&uuml;r Mitarbeiter der Hochschulleitung ",

                "/ Fachbereiche:</b></center><br>",

                "<table><tr><td>",

                "Einverst&auml;ndnis Hochschulleitung / Fachbereiche<br>";

        print   "<tr><td>Regensburg, ",

                "<input type='text' name='Einverst' size=10 maxlength=10> ";

        print   "<td><pre>         </pre>";

        print   "<td>Unterschrift: ",

                "_______________________________";

        print   "</table>";

 

        #-- Verfuegung

        print   "<center><h2>Verf&uuml;gung</h2></center>\n";

        print   "<ol><li>O.g. Antrag wird<br>\n";

 

        #-- alle Formulardaten (hidden) mitschleifen

        print   "<input type=hidden     name=\"Name\" value=\"",

                $q->param('Name'), "\">\n";

        print   "<input type=hidden     name=\"Vorname\" value=\"",

                $q->param('Vorname'), "\">\n";

        print   "<input type=hidden     name=\"DBez\" value=\"",

                $q->param('DBez'), "\">\n";

        print   "<input type=hidden     name=\"Sachgebiet\" value=\"",

                $q->param('Sachgebiet'), "\">\n";

        print   "<input type=hidden     name=\"Referat\" value=\"",

                $q->param('Referat'), "\">\n";

        print   "<input type=hidden     name=\"KDV\" value=\"",

                $q->param('KDV'), "\">\n";

        print   "<input type=hidden     name=\"Einrichtung\" value=\"",

                $q->param('Einrichtung'), "\">\n";

        print   "<input type=hidden     name=\"Antrag\" value=\"",

                $q->param('Antrag'), "\">\n";

        print   "<input type=hidden     name=\"vom\" value=\"",

                $q->param('vom'), "\">\n";

        print   "<input type=hidden     name=\"bis\" value=\"",

                $q->param('bis'), "\">\n";

        print   "<input type=hidden     name=\"Tage\" value=\"",

                $q->param('Tage'), "\">\n";

        print   "<input type=hidden     name=\"Vertretung\" value=\"",

                $q->param('Vertretung'), "\">\n";

        print   "<input type=hidden     name=\"Datum\" value=\"",

                $q->param('Datum'), "\">\n";

 

        #-- Genehmigung erteilen

        print   "<dl>";

        print   "<dt><input type='radio' name='genehmigt' value='ja'> ",

                "genehmigt (Weiterleitung an Telefonzentrale)<br>\n";

 

        #-- Genehmigung nicht erteilen

        print   "<dt><input type='radio' name='genehmigt' value='nein'> \n",

                "<b>nicht</b> genehmigt \n",

                "(<i>mit Begr&uuml;ndung</i> zur&uuml;ck an Antragsteller)\n";

 

        #-- Begruendung

        print   "<dd><textarea rows=3 Cols=40 name='Grund'></textarea>",

                "</dl><br>\n";

 

        #-- Ort, Datum, Unterschrift

        print   "Regensburg, ",

                "<input type='text' name='Verf' size=10 maxlength=10>\n";

        print   "Unterschr. Sachgebietsleiter/(Vize-)Kanzler: ",

                "_______________________________<br>\n";

        

        #-- Verteiler

        print   "<li>An Telefonzentrale <br>\n",

                "In Urlaubsblatt eingetragen: __________\n";

        print   "<li>Zum Urlaubsakt\n",

                "</ol>";

 

        #-- Aktionsschalter

        print   "<input type=submit value='Antrag absenden'>\n";

 

        #-- Formularende

        print   "</form>\n";

}

 

#--E-O-F------------------------------------

Antragsgenehmigung

#!/soft/bin/perl

#----------------------------------------

#       Urlaub-Genehmigung.cgi  

#                       weiteres Bearbeiten des Urlaubsantragsformulars

#                       eingegangene Antraege (nicht) genehmigen

#       Autor:          Christoph Metten, 27.09.1997

#                       fuer die Fachhochschule Regensburg

#       Aenderungen:    

#----------------------------------------

 

use lib '/soft/lib';

use CGI;

use strict;

 

#-------------

# Variablen

my(     $ausgabedatei, $mailprog, $mailaddress,

        $q, $par, @val,

        $Name, $Vorname, $email );

 

$ausgabedatei = "/www/log/Urlaub.ablage";

$mailprog     = "/usr/sbin/sendmail";

$mailaddress  = "Christoph Metten <cmetten\@tuba.baynet.org>";

 

$q = new CGI;

 

#-------------

# Parameter fuer Mail

$Name = $q->param( "Name" );

$Vorname = $q->param( "Vorname" );

$email = $q->param( "eMail" );

 

#-------------

# Eingabe lesen, Log schreiben

&eingabe_lesen;

 

#-------------

# Ausgabe-eMail erzeugen

# &Ausgabemail;

 

#-------------

# Ausgabe

&http_header;

 

#-------------

# Ausgabe

#&test_ausgabe;

&formular_auswertung;

 

#-------------

# Abschlussarbeiten

&http_end;

 

exit( 0 );

 

#----------------------------------------

# Formulareingabe einlesen und Log-Datei schreiben

sub eingabe_lesen {

        open( FILE, "> $ausgabedatei" ) || die;

        foreach $par ($q->param) {              # Parameter lesen

                @val = $q->param( $par );       # Wert lesen

                print FILE $par, ": ";          # Ausgabe in Textdatei

                print FILE join( ",", @val );

                print FILE "; ";

        }

        print FILE "\n";

        close( FILE );

}

 

#----------------------------------------

# HTTP-Header ausgeben

sub http_header {

        my( $s );

        $s = "Urlaubsantrag von $Vorname $Name";

        print $q->header;

        print $q->start_html( -title=>$s,

                              -author=>'cmetten@intern.fh-regensburg.de');

}

 

#----------------------------------------

# HTTP-Trailer

sub http_end {

        print  "<hr noshade>\n

                <font size=-1>

                <a href=\"http://INTERN-fh-regensburg.de/~cmetten\">

                Christoph Metten</a>, ";

        print  `date`;

 

        print $q->end_html;

}

 

#----------------------------------------

# Ausgabe-eMail

sub Ausgabemail{

        open( MAIL, "| $mailprog -t" ) || die "Kann Mailprogramm nicht öffnen!";

        print MAIL "To: $mailaddress\n";

        print MAIL "From: $Vorname $Name <$email>\n";

        print MAIL "Subject: Urlaubsantrag ($Vorname $Name)\n";

        foreach $par ($q->param) {

                @val = $q->param( $par );

                print MAIL $par;

                print MAIL ":\t";

                print MAIL @val;

        }

        close( MAIL );

}

 

#----------------------------------------

# Testausgabe

sub test_ausgabe {

        foreach $par ($q->param) {              # Parameter lesen

                @val = $q->param( $par );

                print $par, " -> ", join( ", ", @val ), "<br>\n";

        }

        print "<hr noshade>\n";

}

 

#----------------------------------------

# Formulardaten auswerten -> neues Formular

sub formular_auswertung {

 

        #-- Ueberschrift

        print   "<center><h1>Urlaubsantrag</h1></center>\n";

        print   "<table>\n";

        #-- Name

        print   "<tr><td>Name: <td colspan=2><b>",

                $q->param('Name'), " ",

                $q->param('Vorname'), "\n";

 

        #-- Dienstbezeichnung

        print   "<tr><td>Dienstbez.: <td><b>",

                $q->param('DBez'), "\n";

 

        #-- eMail-Adresse

        print   "<tr><td>eMail: <td colspan=4><b>",

                $q->param('eMail'), "\n";

 

        #-- Sachgebiet, Referat

        print   "<tr><td> Sachgebiet: <td><b>",

                $q->param('Sachgebiet'), "\n";

        print   "<td>Referat: <td><b>",

                $q->param('Referat'), "\n";

 

        #-- KDV-FH

        print "<td>KDV-FH:";

        if( $q->param('KDV') eq "on" ) {

                print "<b><tt>[X]</tt>\n";

        } else {

                print "<b><tt>[ ]</tt>\n";

        }

 

        #-- zentrale Einrichtung: Bib, RZ, Hochschulleitung

        print   "<tr><td> Zentrale Einrichtung: <td><b>",

                join( ", ", $q->param('Einrichtung')  );

 

        #-- Antrag

        print   "<tr><td>Antrag auf:";

        if( $q->param('Antrag') eq "Urlaub" ) {

                print "<td colspan=3><b>Erholungsurlaub";

        } elsif ( $q->param('Antrag') eq "AZV" ) {

                print "<td colspan=3><b>Arbeitszeitverk&uuml;rzung";

        } else {

                print "<td colspan=3><b>kein Antrag !";

        }

        

        #-- von .. bis .. = .. Tage

        print   "<tr><td>";

        print   "<td>am / von: <td><b>",

                $q->param('vom');

        if( $q->param('bis') ) {

                print "<td>bis: <td><b>",

                        $q->param('bis');

        }

        print   "<td><tt>=</tt> <b>",

                $q->param('Tage'),

                " Tag(e)\n";

 

        #-- Vertretung

        print   "<tr><td>Vertretung durch: <td colspan=2><b>",

                $q->param( 'Vertretung' );

        print   "<tr><td colspan=3>",

                "<td colspan=3 align=right>Unterschrift Vertreter/in:",

                "<td allign=center>_______________________________";

        

        #-- Ort, Datum, Unterschrift

        print   "<tr><td><td colspan=2>Regensburg, <b>",

                $q->param( 'Datum' );

        print   "<tr><td colspan=3>",

                "<td colspan=3 align=right>Unterschrift Antragsteller/in:",

                "<td allign=center>_______________________________";

 

        print   "</table>\n";

 

        #-- Einverstaendniserklaerung

        print   "<br><center><b>F&uuml;r Mitarbeiter der Hochschulleitung ",

                "/ Fachbereiche:</b></center><br>",

                "<table><tr><td>",

                "Einverst&auml;ndnis Hochschulleitung / Fachbereiche<br>";

        print   "<tr><td>Regensburg, ", $q->param( 'Einverst' );

        print   "<td><pre>            </pre>";

        print   "<td>Unterschrift: ",

                "_______________________________";

        print   "</table>\n";

 

        #-- Verfuegung

        print   "<center><h2>Verf&uuml;gung</h2></center>\n";

        print   "<ol><li>O.g. Antrag wird<br>\n";

 

        #-- Genehmigung erteilen

        if( $q->param( 'genehmigt' ) eq 'ja' ) {

                print "<b><tt>[X]</tt>\n";

                print   "genehmigt ",

                        "(Weiterleitung an Telefonzentrale)<br>\n";

        }

        #-- Genehmigung nicht erteilen

        else {

                print "<b><tt>[X]</tt></b>\n";

                print   "<b>nicht</b> genehmigt \n",

                        "(<i>mit Begr&uuml;ndung</i> ",

                        "zur&uuml;ck an Antragsteller)\n";

                #-- Begruendung

                print   "<dd><blockquote>\n",

                        $q->param( 'Grund' ),

                        "</dl><br>\n";

        }

 

        #-- Ort, Datum, Unterschrift

        print   "Regensburg, ", $q->param( 'Verf' );

        print   " Unterschr. Sachgebietsleiter/(Vize-)Kanzler: ",

                "_______________________________<br>\n";

        

        #-- Verteiler

        print   "<li>An Telefonzentrale <br>\n",

                "In Urlaubsblatt eingetragen: __________\n";

        print   "<li>Zum Urlaubsakt\n",

                "</ol>\n";

}

 

#--E-O-F------------------------------------


previous next up contents index


10/6/1997