From d50cdd16c288eadc189f4ca920c1e84377d96a44 Mon Sep 17 00:00:00 2001 From: Naomi Date: Thu, 29 Aug 2013 17:40:08 -0400 Subject: [PATCH] starting association of a show instance. --- .../application/forms/EditHistoryItem.php | 15 ++++++++++ .../application/services/HistoryService.php | 30 +++++++++++++++++-- .../scripts/form/edit-history-item.phtml | 8 +++++ .../js/airtime/playouthistory/historytable.js | 7 +++++ 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/airtime_mvc/application/forms/EditHistoryItem.php b/airtime_mvc/application/forms/EditHistoryItem.php index cb9868e49..9552b1c22 100644 --- a/airtime_mvc/application/forms/EditHistoryItem.php +++ b/airtime_mvc/application/forms/EditHistoryItem.php @@ -12,6 +12,15 @@ class Application_Form_EditHistoryItem extends Application_Form_EditHistory 'PrepareElements', array('ViewScript', array('viewScript' => 'form/edit-history-item.phtml')) )); + + /* + $instance = new Zend_Form_Element_Select("instance_id"); + $instance->setLabel(_("Choose Show Instance")); + $instance->setMultiOptions(array("0" => "-----------")); + $instance->setValue(0); + $instance->setDecorators(array('ViewHelper')); + $this->addElement($instance); + */ $starts = new Zend_Form_Element_Text(self::ID_PREFIX.'starts'); $starts->setValidators(array( @@ -42,4 +51,10 @@ class Application_Form_EditHistoryItem extends Application_Form_EditHistory parent::createFromTemplate($template, $required); } + + public function populateShowInstances($possibleInstances) { + + $instance = $this->getElement("instance_id"); + $instance->setMultiOptions($possibleInstances); + } } \ No newline at end of file diff --git a/airtime_mvc/application/services/HistoryService.php b/airtime_mvc/application/services/HistoryService.php index 75de3b6ae..f950e8631 100644 --- a/airtime_mvc/application/services/HistoryService.php +++ b/airtime_mvc/application/services/HistoryService.php @@ -688,7 +688,7 @@ class Application_Service_HistoryService } } - public function populateTemplateItem($values, $id=null) { + public function populateTemplateItem($values, $id=null, $instance_id=null) { $this->con->beginTransaction(); @@ -702,6 +702,10 @@ class Application_Service_HistoryService else { $historyRecord = new CcPlayoutHistory(); } + + if (isset($instance_id)) { + $historyRecord->setDbInstanceId($instance_id); + } $timezoneUTC = new DateTimeZone("UTC"); $timezoneLocal = new DateTimeZone($this->timezone); @@ -780,12 +784,31 @@ class Application_Service_HistoryService throw $e; } } + + //start,end timestamp strings in local timezone. + public function populateShowInstances($start, $end) { + $timezoneLocal = new DateTimeZone($this->timezone); + + $startDT = new DateTime($start, $timezoneLocal); + $endDT = new DateTime($end, $timezoneLocal); + + $shows = $this->getShowList($startDT, $endDT); + + $select = array(); + + foreach ($shows as &$show) { + $select[$show["instance_id"]] = $show["name"]; + } + + return $select; + } public function createPlayedItem($data) { try { $form = $this->makeHistoryItemForm(null); $history_id = $form->getElement("his_item_id"); + $instance_id = $data["instance_id"]; $json = array(); if ($form->isValid($data)) { @@ -795,7 +818,7 @@ class Application_Service_HistoryService Logging::info("created list item"); Logging::info($values); - $this->populateTemplateItem($values); + $this->populateTemplateItem($values, null, $instance_id); } else { Logging::info("created list item NOT VALID"); @@ -819,6 +842,7 @@ class Application_Service_HistoryService try { $id = $data["his_item_id"]; + $instance_id = $data["instance_id"]; $form = $this->makeHistoryItemForm($id); $history_id = $form->getElement("his_item_id"); $history_id->setRequired(true); @@ -833,7 +857,7 @@ class Application_Service_HistoryService Logging::info("edited list item"); Logging::info($values); - $this->populateTemplateItem($values, $id); + $this->populateTemplateItem($values, $id, $instance_id); } else { Logging::info("edited list item NOT VALID"); diff --git a/airtime_mvc/application/views/scripts/form/edit-history-item.phtml b/airtime_mvc/application/views/scripts/form/edit-history-item.phtml index 2225e4dfc..219942121 100644 --- a/airtime_mvc/application/views/scripts/form/edit-history-item.phtml +++ b/airtime_mvc/application/views/scripts/form/edit-history-item.phtml @@ -31,6 +31,14 @@ +
+ +
+
+ + +
+ getSubForm('his_item_template') as $index=>$el): ?> getName(); ?> diff --git a/airtime_mvc/public/js/airtime/playouthistory/historytable.js b/airtime_mvc/public/js/airtime/playouthistory/historytable.js index a2617654f..c37b2e11b 100644 --- a/airtime_mvc/public/js/airtime/playouthistory/historytable.js +++ b/airtime_mvc/public/js/airtime/playouthistory/historytable.js @@ -577,6 +577,13 @@ var AIRTIME = (function(AIRTIME) { url; url = (id === "") ? createUrl : updateUrl; + + if (fnServerData.instance !== undefined) { + data.push({ + name: "instance_id", + value: fnServerData.instance + }); + } $.post(url, data, function(json) {