notify-events: show results

This commit is contained in:
Milan
2024-07-26 21:03:00 +02:00
parent b7ff85f3a2
commit 4689dee215
6 changed files with 53 additions and 22 deletions

View File

@@ -2,8 +2,19 @@ table#events{
transition:all 2s; transition:all 2s;
} }
table#events.done{ table#events div.error{
background:#cfc; background: #f33;
color:white;
padding:1rem;
width: 30rem;
}
table#events div.done{
background: #3f3;
color:white;
padding:1rem;
width: 30rem;
} }
table#events td:nth-of-type(1){ table#events td:nth-of-type(1){

View File

@@ -1,13 +1,20 @@
function register_buttons() { function register_buttons() {
$("#forms form").on('click', 'button', function( event ) { $("#forms form").on('click', 'button', function( event ) {
event.preventDefault(); event.preventDefault();
var form = $(this).closest('form'); let form = $(this).closest('form');
let formId = form.attr('id');
let table = $('#' + formId+" table");
let status = table.find("td.result div");
status.text('').removeClass("error").removeClass("done");
$.post("notify-events.cgi", form.serialize()) $.post("notify-events.cgi", form.serialize())
.done( function(data) { .always( function(data) {
var content = $(data).find("#content"); if (data.includes("done")){
$('#result').html(content); status.text("ok").removeClass("error").addClass("done");
var formId = form.attr('id'); } else {
$('#' + formId+" table").addClass("done"); status.text(data).removeClass("ok").addClass("error");
}
table.find("tr.result").show();
}); });
}); });
} }

View File

@@ -6,6 +6,7 @@ no warnings 'redefine';
use utf8; use utf8;
use Data::Dumper; use Data::Dumper;
use Try::Tiny;
use params(); use params();
use config(); use config();
@@ -53,11 +54,10 @@ my $request = {
#set user at params->presets->user #set user at params->presets->user
$request = uac::prepare_request( $request, $user_presets ); $request = uac::prepare_request( $request, $user_presets );
$params = $request->{params}->{checked}; $params = $request->{params}->{checked};
#show header #show header
unless ( params::isJson() || ( $params->{template} =~ /\.txt/ ) ) { unless ( params::isJson() || ( $params->{template} =~ /\.txt/ ) || $params->{action}eq'send' ) {
my $headerParams = uac::set_template_permissions( $request->{permissions}, $params ); my $headerParams = uac::set_template_permissions( $request->{permissions}, $params );
$headerParams->{loc} = localization::get( $config, { user => $user, file => 'menu' } ); $headerParams->{loc} = localization::get( $config, { user => $user, file => 'menu' } );
template::process( $config, 'print', template::check( $config, 'default.html' ), $headerParams ); template::process( $config, 'print', template::check( $config, 'default.html' ), $headerParams );
@@ -162,8 +162,13 @@ sub sendMail {
$mail->{Cc} = $params->{cc} if defined $params->{cc}; $mail->{Cc} = $params->{cc} if defined $params->{cc};
$mail->{Subject} = $params->{subject} if defined $params->{subject}; $mail->{Subject} = $params->{subject} if defined $params->{subject};
$mail->{Data} = $params->{content} if defined $params->{content}; $mail->{Data} = $params->{content} if defined $params->{content};
try {
my $result = mail::send($mail); my $result = mail::send($mail);
print "Content-type:text/plain\n\nresult:".Dumper($result); print "Content-type:text/plain\n\ndone:$result\n";
} catch {
printf "Content-type:text/plain\n\nresult:%s\n", $_->{message} // $_;
}
} }
sub getMail { sub getMail {
@@ -214,8 +219,6 @@ sub eventToText {
$s .= $event->{user_excerpt} . "\n"; $s .= $event->{user_excerpt} . "\n";
$s .= $event->{topic} . "\n"; $s .= $event->{topic} . "\n";
$s .= $event->{content} . "\n"; $s .= $event->{content} . "\n";
#print STDERR "DUMP\n$s";
return $s; return $s;
} }

View File

@@ -28,3 +28,5 @@ msgstr "Inhalt"
msgid "show_details" msgid "show_details"
msgstr "Zeige Details" msgstr "Zeige Details"
msgid "result"
msgstr "Ergebnis"

View File

@@ -28,3 +28,5 @@ msgstr "Content"
msgid "show_details" msgid "show_details"
msgstr "Show Details" msgstr "Show Details"
msgid "result"
msgstr "Result"

View File

@@ -63,12 +63,18 @@
</tr> </tr>
</TMPL_IF> </TMPL_IF>
<tr class="result" style="display:none">
<td><TMPL_VAR .loc.result></td>
<td class="result"><div></div></td>
</tr>
<TMPL_IF mail.Subject> <TMPL_IF mail.Subject>
<tr class="subject details"> <tr class="subject details">
<td><TMPL_VAR .loc.subject></td> <td><TMPL_VAR .loc.subject></td>
<td class="mailSubject"><input name="subject" value="<TMPL_VAR mail.Subject>"></td> <td class="mailSubject"><input name="subject" value="<TMPL_VAR mail.Subject>"></td>
</tr> </tr>
</TMPL_IF> </TMPL_IF>
<TMPL_IF mail.From> <TMPL_IF mail.From>
<tr class="details"> <tr class="details">
<td><TMPL_VAR .loc.from></td> <td><TMPL_VAR .loc.from></td>