This commit is contained in:
www-data
2023-05-23 15:01:55 +00:00
55 changed files with 557 additions and 808 deletions

View File

@@ -240,7 +240,7 @@ select#project_id::after {
text-align: left;
vertical-align:middle;
background: #004f9b;
min-width: 10rem;
min-width: 30ch;
}
#calcms_nav .dropdown-content a {

View File

@@ -1,36 +1,34 @@
.mailHeader{
background:#ccc;
table#events{
transition:all 2s;
}
.mailSubject{
}
.mailBody{
white-space:pre;
}
.done{
table#events.done{
background:#cfc;
}
table#events td:nth-of-type(1){
width:15em;
width:15ch;
}
table#events td:nth-of-type(2){
width:60em;
table#events td:nth-of-type(4){
width:12ch;
}
td.action, input.action{
width:5em;
width:5ch;
}
form input{
width:50em;
width:100%;
}
form textarea{
width:50em;
height:14em;
img.toggle{
background:#1678c2;
cursor:grab;
transition:all 0.5s;
}
img.toggle:hover{
transform: scale(1.2);
box-shadow: 0 5px 11px 0 rgba(0, 0, 0, .18), 0 4px 15px 0 rgba(0, 0, 0, .15);
}

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="18px" viewBox="0 0 24 24" width="18px" fill="#FFFFFF"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 96 960 960" width="24" fill="#FFFFFF"><path d="M480 711 240 471l56-56 184 184 184-184 56 56-240 240Z"/></svg>

Before

Width:  |  Height:  |  Size: 214 B

After

Width:  |  Height:  |  Size: 173 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 96 960 960" width="24" fill="#FFFFFF"><path d="m296 711-56-56 240-240 240 240-56 56-184-184-184 184Z"/></svg>

After

Width:  |  Height:  |  Size: 173 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 96 960 960" width="24" fill="#FFFFFF"><path d="M160 856v-80h80V496q0-83 50-147.5T420 264v-28q0-25 17.5-42.5T480 176q25 0 42.5 17.5T540 236v28q80 20 130 84.5T720 496v280h80v80H160Zm320-300Zm0 420q-33 0-56.5-23.5T400 896h160q0 33-23.5 56.5T480 976ZM320 776h320V496q0-66-47-113t-113-47q-66 0-113 47t-47 113v280Z"/></svg>

After

Width:  |  Height:  |  Size: 381 B

View File

@@ -7,12 +7,33 @@ function register_buttons() {
var content = $(data).find("#content");
$('#result').html(content);
var formId = form.attr('id');
$('#'+formId+" .mailHeader").addClass("done");
$('#' + formId+" table").addClass("done");
});
});
}
function hide_details() {
$('table.panel tbody').each(function(){
$(this).children("tr.details").each(function() {
$(this).hide();
})
})
$('table.panel img.toggle').on("click", function() {
if( $(this).attr("src").indexOf("arrow-up") < 0 ){
$(this).attr("src", "image/arrow-up.svg");
} else {
$(this).attr("src", "image/arrow-down.svg");
}
$(this).closest('tbody').children("tr.details").each(function() {
$(this).toggle();
})
})
}
$(document).ready(function() {
hide_details();
register_buttons();
});

View File

@@ -3,10 +3,9 @@
use strict;
use warnings;
no warnings 'redefine';
use utf8;
use URI::Escape();
use Data::Dumper;
use MIME::Lite();
use params();
use config();
@@ -21,6 +20,7 @@ use markup();
use studios();
use series();
use localization();
use mail();
binmode STDOUT, ":utf8";
@@ -79,7 +79,7 @@ sub show_events {
my $params = $request->{params}->{checked};
my $permissions = $request->{permissions};
for my $attr ( 'project_id', 'studio_id', 'duration' ) { # 'series_id','event_id'
for my $attr ( 'project_id', 'studio_id') { # 'series_id','event_id'
unless ( defined $params->{$attr} ) {
uac::print_error( "missing " . $attr . " to show changes" );
return;
@@ -92,7 +92,7 @@ sub show_events {
}
# get events
my $duration = $params->{duration};
my $duration = $params->{duration} // 7;
my $options = {
project_id => $params->{project_id},
studio_id => $params->{studio_id},
@@ -108,6 +108,8 @@ sub show_events {
for my $event (@$events) {
my $mail = getMail( $config, $request, $event );
$event->{mail} = $mail;
$event->{start} = substr($event->{start}, 0, 16);
$event->{preproduction} = !$event->{live};
}
return unless defined $events;
@@ -162,20 +164,7 @@ sub sendMail {
$mail->{Cc} = $params->{cc} if defined $params->{cc};
$mail->{Subject} = $params->{subject} if defined $params->{subject};
$mail->{Data} = $params->{content} if defined $params->{content};
my $msg = MIME::Lite->new(
'From' => $mail->{'From'},
'To' => $mail->{'To'},
'Cc' => $mail->{'Cc'},
'Reply-To' => $mail->{'Reply-To'},
'Subject' => $mail->{'Subject'},
'Data' => $mail->{'Data'},
);
print '<pre>';
$msg->print( \*STDOUT );
print '</pre>';
$msg->send;
mail::send($mail);
}
sub getMail {
@@ -202,21 +191,21 @@ sub getMail {
$event->{noRecipient} = 1;
return;
}
my $sender = $config->{location}->{event_sender_email};
my $sender = $config->{locations}->{event_sender_email};
my $mail = {
'From' => $sender,
'To' => join( ', ', @$userMails ),
'Cc' => $sender,
'Reply-To' => $sender,
'Subject' => "$event->{start} - $event->{full_title}",
'Subject' => substr($event->{start},0,16) . " - $event->{full_title}",
'Data' => "Hallo " . join( ' und ', @$userNames ) . ",\n\n"
};
$mail->{Data} .= "nur zur Erinnerung...\n\n";
$mail->{Data} .= "am $event->{weekday_name} ist die naechste '$event->{series_name}'-Sendung.\n\n";
$mail->{Data} .= "am $event->{weekday_name} ist die nächste '$event->{series_name}'-Sendung.\n\n";
$mail->{Data} .=
"$event->{source_base_url}$event->{widget_render_url}/$config->{controllers}->{event}/$event->{event_id}.html\n\n";
$mail->{Data} .= "Gruss, $request->{user}\n";
$mail->{Data} .= "Gruß, $request->{user}\n";
return $mail;
}

View File

@@ -67,4 +67,6 @@ msgstr "Sendungen anlegen"
msgid "edit-help-texts"
msgstr "Hilfe bearbeiten"
msgid "notify-events"
msgstr "Erinnerungen verschicken"

View File

@@ -1,3 +1,30 @@
msgid "title"
msgstr "Redaktionen an ihre Sendungen erinnern"
msgid "button_send"
msgstr "Senden"
msgid "subject"
msgstr "Betreff"
msgid "to"
msgstr "Empfänger"
msgid "from"
msgstr "Absender"
msgid "cc"
msgstr "Kopie"
msgid "bcc"
msgstr "Blindkopie"
msgid "reply-to"
msgstr "Antwort an"
msgid "body"
msgstr "Inhalt"
msgid "show_details"
msgstr "Zeige Details"

View File

@@ -64,6 +64,9 @@ msgstr "User Stats"
msgid "create-events"
msgstr "Create Events"
msgid "notify-events"
msgstr "Remind Of Editors Broadcasts"
msgid "edit-help-texts"
msgstr "Edit Help"

View File

@@ -1,3 +1,30 @@
msgid "title"
msgstr "Remind Editors For Their Programme"
msgid "button_send"
msgstr "Send"
msgid "subject"
msgstr "Subject"
msgid "to"
msgstr "Recipient"
msgid "from"
msgstr "Sender"
msgid "cc"
msgstr "Copy"
msgid "bcc"
msgstr "Blind copy"
msgid "reply-to"
msgstr "Reply To"
msgid "body"
msgstr "Content"
msgid "show_details"
msgstr "Show Details"

View File

@@ -21,6 +21,10 @@
<div><a href="create-events.cgi?project_id=<TMPL_VAR project_id>&studio_id=<TMPL_VAR default_studio_id>"><img src="image/create-events.svg">&nbsp;<TMPL_VAR .loc.create-events></a></div>
</TMPL_IF>
<TMPL_IF allow.read_user>
<div><a href="notify-events.cgi?project_id=<TMPL_VAR project_id>&studio_id=<TMPL_VAR default_studio_id>"&duration=7><img src="image/notify.svg">&nbsp;<TMPL_VAR .loc.notify-events></a></div>
</TMPL_IF>
<TMPL_IF .allow.read_playout>
<div><a href="show-playout.cgi?project_id=<TMPL_VAR project_id>&studio_id=<TMPL_VAR default_studio_id>"><img src="image/play-circle.svg">&nbsp;<TMPL_VAR .loc.playout></a></div>
</TMPL_IF>

View File

@@ -23,7 +23,7 @@
</head>
<body>
<div id="result" style="display:none"> </div>
<h1><TMPL_VAR loc.title></h1>
<div id="forms">
<TMPL_LOOP events>
<form id="event_<TMPL_VAR event_id>">
@@ -33,63 +33,66 @@
<input type="hidden" name="event_id" value="<TMPL_VAR event_id>">
<input type="hidden" name="action" value="send">
<table id="events">
<table id="events" id="event_<TMPL_VAR event_id>" class="panel">
<tr id="header_<TMPL_VAR event_id>" class="mailHeader">
<td><b><TMPL_VAR start></b></td>
<td><b><TMPL_VAR full_title></b> | <TMPL_IF live>live</TMPL_IF> <TMPL_IF preproduction>preproduction</TMPL_IF> <TMPL_IF playout>playout</TMPL_IF></td>
<td><b><TMPL_VAR full_title></b><td>
<td>
<TMPL_IF live><img src="image/mic.svg" title="live"></TMPL_IF>
<TMPL_IF preproduction><img src="image/mic_off.svg" title="preproduction"></TMPL_IF>
<TMPL_IF playout><img src="image/play.svg" title="playout"></TMPL_IF>
</td>
<TMPL_IF noRecipient>
<td></td>
</tr>
<tr>
<td>Warning</td>
<td><div class="error">no recipient configured at series!</div></td>
</tr>
</tr>
<tr>
<td>Warning</td>
<td><div class="error">no recipient configured at series!</div></td>
</tr>
<TMPL_ELSE>
<td class="action"><button type="submit"><TMPL_VAR .loc.button_send></button></td>
</tr>
<TMPL_IF mail.Subject>
<tr>
<td>Subject</td>
<td class="mailSubject"><input name="subject" value="<TMPL_VAR mail.Subject>"></td>
</tr>
</TMPL_IF>
<TMPL_IF mail.To>
<tr>
<td>To</td>
<td><input name="to" value="<TMPL_VAR mail.To>"></td>
<t>
<td><TMPL_VAR .loc.to></td>
<td colspan="2"><input name="to" value="<TMPL_VAR mail.To>"></td>
<td><img class="toggle" title="<TMPL_VAR .loc.show_details>" src="image/arrow-down.svg"></td>
</tr>
</TMPL_IF>
<TMPL_IF mail.Subject>
<tr class="subject details">
<td><TMPL_VAR .loc.subject></td>
<td class="mailSubject"><input name="subject" value="<TMPL_VAR mail.Subject>"></td>
</tr>
</TMPL_IF>
<TMPL_IF mail.From>
<tr>
<td>From</td>
<tr class="details">
<td><TMPL_VAR .loc.from></td>
<td><TMPL_VAR mail.From></td>
</tr>
</TMPL_IF>
<TMPL_IF mail.Cc>
<tr>
<td>Cc</td>
<tr class="details">
<td><TMPL_VAR .loc.cc></td>
<td><input name="cc" value="<TMPL_VAR mail.Cc>"></td>
</tr>
</TMPL_IF>
<TMPL_IF mail.Reply-To>
<tr>
<td>Reply-To</td>
<tr class="details">
<td><TMPL_VAR .loc.reply-to></td>
<td><TMPL_VAR mail.Reply-To></td>
</tr>
</TMPL_IF>
<TMPL_IF mail.data>
<tr>
<td>Content</td>
<tr class="details">
<td><TMPL_VAR .loc.content></td>
<td class="mailBody"><textarea name="content" ><TMPL_VAR mail.data></textarea></td>
</tr>
</TMPL_IF>