This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 |
1
website/agenda/planung/image/arrow-up.svg
Normal file
1
website/agenda/planung/image/arrow-up.svg
Normal 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 |
1
website/agenda/planung/image/notify.svg
Normal file
1
website/agenda/planung/image/notify.svg
Normal 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 |
@@ -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();
|
||||
});
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,4 +67,6 @@ msgstr "Sendungen anlegen"
|
||||
msgid "edit-help-texts"
|
||||
msgstr "Hilfe bearbeiten"
|
||||
|
||||
msgid "notify-events"
|
||||
msgstr "Erinnerungen verschicken"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"> <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"> <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"> <TMPL_VAR .loc.playout></a></div>
|
||||
</TMPL_IF>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user