summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-06-23 00:24:07 +0100
committerCarl Hetherington <cth@carlh.net>2014-06-23 00:24:07 +0100
commitd5c390849df518273da8fc365e129f3460ac027b (patch)
tree1402ef93fa71fffc810bdc7d04688bc6a8e20ff9 /src/lib
parent11835d1e0bf15dd16a0f5fe3844fafb924f0a927 (diff)
Add option to CC a KDM email, and add
$SCREENS and $CINEMA_NAME as variables in the email. Suggested-by: Carsten Kurz
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/config.cc4
-rw-r--r--src/lib/config.h10
-rw-r--r--src/lib/kdm.cc11
3 files changed, 24 insertions, 1 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index 901a6b19e..8e6dffee7 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -187,6 +187,7 @@ Config::read ()
_mail_user = f.optional_string_child("MailUser").get_value_or ("");
_mail_password = f.optional_string_child("MailPassword").get_value_or ("");
_kdm_from = f.string_child ("KDMFrom");
+ _kdm_cc = f.optional_string_child ("KDMCC").get_value_or ("");
_kdm_email = f.string_child ("KDMEmail");
_check_for_updates = f.optional_bool_child("CheckForUpdates").get_value_or (false);
@@ -366,6 +367,7 @@ Config::write () const
root->add_child("MailUser")->add_child_text (_mail_user);
root->add_child("MailPassword")->add_child_text (_mail_password);
root->add_child("KDMFrom")->add_child_text (_kdm_from);
+ root->add_child("KDMCC")->add_child_text (_kdm_cc);
root->add_child("KDMEmail")->add_child_text (_kdm_email);
root->add_child("CheckForUpdates")->add_child_text (_check_for_updates ? "1" : "0");
@@ -414,6 +416,8 @@ Config::reset_kdm_email ()
_kdm_email = _(
"Dear Projectionist\n\n"
"Please find attached KDMs for $CPL_NAME.\n\n"
+ "Cinema: $CINEMA_NAME\n"
+ "Screen(s): $SCREENS\n\n"
"The KDMs are valid from $START_TIME until $END_TIME.\n\n"
"Best regards,\nDCP-o-matic"
);
diff --git a/src/lib/config.h b/src/lib/config.h
index c359901a4..ebcf7e83d 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -173,6 +173,10 @@ public:
return _kdm_from;
}
+ std::string kdm_cc () const {
+ return _kdm_cc;
+ }
+
std::string kdm_email () const {
return _kdm_email;
}
@@ -324,6 +328,11 @@ public:
changed ();
}
+ void set_kdm_cc (std::string f) {
+ _kdm_cc = f;
+ changed ();
+ }
+
void set_kdm_email (std::string e) {
_kdm_email = e;
changed ();
@@ -406,6 +415,7 @@ private:
std::string _mail_user;
std::string _mail_password;
std::string _kdm_from;
+ std::string _kdm_cc;
std::string _kdm_email;
/** true to check for updates on startup */
bool _check_for_updates;
diff --git a/src/lib/kdm.cc b/src/lib/kdm.cc
index d5d5ec0a0..5efea089c 100644
--- a/src/lib/kdm.cc
+++ b/src/lib/kdm.cc
@@ -32,6 +32,7 @@
using std::list;
using std::string;
using std::stringstream;
+using std::cout;
using boost::shared_ptr;
struct ScreenKDM
@@ -228,7 +229,9 @@ email_kdms (
quickmail_initialize ();
quickmail mail = quickmail_create (Config::instance()->kdm_from().c_str(), "KDM delivery");
quickmail_add_to (mail, i->cinema->email.c_str ());
-
+ if (!Config::instance()->kdm_cc().empty ()) {
+ quickmail_add_cc (mail, Config::instance()->kdm_cc().c_str ());
+ }
string body = Config::instance()->kdm_email().c_str();
boost::algorithm::replace_all (body, "$CPL_NAME", film->dcp_name ());
stringstream start;
@@ -237,6 +240,12 @@ email_kdms (
stringstream end;
end << to.date() << " " << to.time_of_day();
boost::algorithm::replace_all (body, "$END_TIME", end.str ());
+ boost::algorithm::replace_all (body, "$CINEMA_NAME", i->cinema->name);
+ stringstream screens;
+ for (list<ScreenKDM>::const_iterator j = i->screen_kdms.begin(); j != i->screen_kdms.end(); ++j) {
+ screens << j->screen->name << ", ";
+ }
+ boost::algorithm::replace_all (body, "$SCREENS", screens.str().substr (0, screens.str().length() - 2));
quickmail_set_body (mail, body.c_str());
quickmail_add_attachment_file (mail, zip_file.string().c_str(), "application/zip");