[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pr-edit 4.0-beta1
From: |
Renate Wahl |
Subject: |
pr-edit 4.0-beta1 |
Date: |
Fri, 10 May 2002 13:32:32 +0200 |
Hallo,
I have a problem. I use pr-edit 4.0-beta1 in a perlscript from a
webinterface. I get the information "Die Änderungen wurden erfolgreich
durchgeführt !" on my website and the mail of the changed trouble
ticket.
But the trouble ticket in the gnats-db isn't changed. Where is the
output of pr-edit? In version 3 it works fine.
I attach the perlsscript. Perhaps you can give me a tip, where is my
error. I tested many variations and options of pr-edit, but no helps.
Best regards,
Renate Wahl
#!/usr/bin/perl
push(@INC,'/www/tts/ttneu/cgi-bin');
require 'config.pl';
require 'util.pl';
$predit = $gnats_lib . "/pr-edit";
$praddr = $gnats_lib . "/pr-addr";
$retry_limit = 2;
$len = $ENV{"CONTENT_LENGTH"};
read(STDIN,$query,$len);
&printheader("CONFIRM");
foreach (split(/&/,$query)) {
($key,$value) = split(/=/);
$value =~ s/\+/ /g;
$value =~ s/%([0-9A-F]{2})/pack('C',hex($1))/eig;
if ($form{$key}) {
$form{$key} .= ",$value";
}
else {
$form{$key} = $value;
}
}
if (&checkyppasswd($form{whochanged},$form{passwd})) {
$mailmsg = "";
$mailto = "";
$mail = 0;
if ($form{catfrom} ne "") {
$mailmsg .= "Kategorie-geändert-von-in: " . $form{catfrom}."-->
".$form{catto} . "\n";
$mailmsg .= "Kategorie-geändert-durch: " . $form{whochanged} .
"\n";
$mailmsg .= "Kategorie-geändert-wann: " . $form{changetime} . "
\n";
$mailmsg .= "Kategorie-geändert-warum:\n" . $form{catchange} .
"\n";
$newresp = &getrespfromcat($form{catto});
$mail = 1;
}
if ($form{sevfrom} ne "") {
$mailmsg .= "Schwere-geändert-von-in: " . $form{sevfrom}."-->".
$form{sevto}."\n";
$mailmsg .= "Schwere-geändert-durch: " . $form{whochanged} ."\n
";
$mailmsg .= "Schwere-geändert-wann: " . $form{changetime} . "\n
";
}
if ($form{prifrom} ne "") {
$mailmsg .= "Priorität-geändert-von-in: " . $form{prifrom}."-->
".$form{prito}."\n";
$mailmsg .= "Priorität-geändert-durch: " . $form{whochanged} .
"\n";
$mailmsg .= "Priorität-geändert-wann: " . $form{changetime} . "
\n";
}
if ($form{respfrom} ne "") {
$mailmsg .= "Verantwortliche(r)-geändert-von-in: " . $form{resp
from}."-->".$form{respto}."\n";
$mailmsg .= "Verantwortliche(r)-geändert-durch: " . $form{whoch
anged} . "\n";
$mailmsg .= "Verantwortliche(r)-geändert-wann: " . $form{change
time} . "\n";
$mailmsg .= "Verantwortliche(r)-geändert-warum:\n" . $form{resp
change} . "\n";
$newresp = $form{respto};
$mail = 1;
}
if ($form{statefrom} ne "") {
$mailmsg .= "Status-geändert-von-in: " . $form{statefrom}."-->"
.$form{stateto}."\n";
$mailmsg .= "Status-geändert-durch: " . $form{whochanged} . "\n
";
$mailmsg .= "Status-geändert-wann: " . $form{changetime} . "\n"
;
$mailmsg .= "Status-geändert-warum:\n" . $form{statechange} . "
\n";
$mail = 1;
}
if (($form{fixfrom} ne "") || ($form{fixto} ne "")) {
$mailmsg .= "Korrektur-geändert-von-in: \n" . $form{fixfrom}."-
->\n".$form{fixto}."\n";
$mailmsg .= "Korrektur-geändert-durch: " . $form{whochanged} .
"\n";
$mailmsg .= "Korrektur-geändert-wann: " . $form{changetime} . "
\n";
}
if ($mailmsg ne "") {
$mailmsg .= "---"."\n";
}
$header = "";
open(HDR,"/tmp/hdr$form{tempid}");
while(<HDR>) {
$header .= $_;
if(/^From:\s*(.*)$/) {
$from = $1;
}
elsif (/Reply-To:\s*(.*)$/) {
$replyto = $1;
}
} close(HDR);
if ($replyto) {
$mailto = $replyto;
}
else {
$mailto = $from;
}
if ($newresp ne "") {
$mailto .= ", " . `$praddr $newresp`;
chop($mailto);
}
$newpr = "/tmp/pr$form{tempid}";
open(TMPPR,$newpr) || die( "Cannot open $newpr\n");
$completepr = "/tmp/newpr$$";
open(NEWPR,">$completepr") || die("Cannot open $completepr for wr
iting\n");
sleep(60);
print NEWPR $header,"\n";
while(<TMPPR>) {
if (/^>Unformatted:/) {
if ($mailmsg ne "") {
print NEWPR $mailmsg;
}
}
print NEWPR $_;
}
close (NEWPR);
close (TMPPR);
$lockmsg = "/tmp/lock$form{tempid}";
$retries = 0;
$env{'SHELL'} = "/bin/sh";
system("$predit --lock=$form{whochanged} $form{Number} 2>$lockmsg
");
while ((-s $lockmsg) && ($retries < $retry_limit)) {
sleep(60);
$retries++;
system("$predit --lock=$form{whochanged} $form{Number} 2>$lock
msg");
}
unlink($lockmsg);
if ($retries >= $retry_limit) {
print "<h2>Die Störungsmeldung wird z.Zt. von anderer Ste
lle bearbeitet, ";
print "Änderungen können nicht durchgeführt wer
den ! <br>";
print "Bitte versuchen Sie es später erneut.</h2>";
}
else {
open(PR,"$gnats_bin/query-pr --full $form{Number} |");
%oldform = &decodeform(PR);
close(PR);
$oldform{"Audit-Trail"} =~ s/\n/<br>/g;
if ($oldform{"Audit-Trail"} ne $form{"Audit-Trail"}) {
print "<h2>Die Störungsmeldung wurde zwischenzeitlich v
on anderer ";
print "Stelle bearbeitet, bitte 'Editieren' erneut aufrufen
!</h2>";
system("$predit --unlock $form{Number}");
}
else {
system("$predit $form{Number} <$completepr ");
sleep(60);
system("$predit --unlock $form{Number}");
if ($mail) {
open(SENDMAIL,"| $sendmail") || die("Cannot open pipe to $
sendmail");
print SENDMAIL "From: bugs\@tts.rz.uni-jena.de\n";
print SENDMAIL "To: $mailto\n";
print SENDMAIL "Cc: ",&getadm,"\@tts.rz.uni-jena.de\n";
print SENDMAIL "Subject: Changed information for $form{ful
lid}:$form{Synopsis}\n\n";
$mailmsg =~ s/ä/ae/g;
print SENDMAIL $mailmsg, "\n";
print SENDMAIL "\nAktueller Stand:\n";
open(PR, $newpr) || die("Cannot open $newpr");
while(<PR>) {
print SENDMAIL $_;
}
close(PR);
close(SENDMAIL);
}
print "<h2>Die Änderungen wurden erfolgreich durchgef&u
uml;hrt !</h2>\n";
}
unlink($completepr);
}
unlink($newpr);
}
elsif ($form{whochanged} ne "99999999999") {
print "<h2>Kennzeichen und/oder Paßwort fehlerhaft, ";
print "Änderungen wurden nicht durchgeführt !</h2>";
print "<hr>";
print "Die Bearbeitung von Störungsmeldungen ist nur durch "
;
print "angemeldete Nutzer möglich.<br>";
}
else {
print "<h2>Keine Änderungen !</h2>";
}
--
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I E - MAIL : zrw@rz.uni-jena.de I Renate Wahl I
I Phone : ( +49 03641) 940530 I Rechenzentrum der FSU Jena I
I FAX : ( +49 03641) 940630 I Am Johannisfriedhof 2 I
I I 07743 Jena I
I I Germany I
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- pr-edit 4.0-beta1,
Renate Wahl <=