filtering by a host's show so they can edit their own playout history.
This commit is contained in:
parent
653a6384b9
commit
429cdeeffb
|
@ -39,9 +39,9 @@ define('UI_MDATA_VALUE_FORMAT_FILE' , 'File');
|
||||||
define('UI_MDATA_VALUE_FORMAT_STREAM' , 'live stream');
|
define('UI_MDATA_VALUE_FORMAT_STREAM' , 'live stream');
|
||||||
|
|
||||||
//User types
|
//User types
|
||||||
define('UTYPE_HOST' , 'H');
|
define('UTYPE_HOST' , 'H');
|
||||||
define('UTYPE_ADMIN' , 'A');
|
define('UTYPE_ADMIN' , 'A');
|
||||||
define('UTYPE_GUEST' , 'G');
|
define('UTYPE_GUEST' , 'G');
|
||||||
define('UTYPE_PROGRAM_MANAGER' , 'P');
|
define('UTYPE_PROGRAM_MANAGER' , 'P');
|
||||||
|
|
||||||
//Constants for playout history template fields
|
//Constants for playout history template fields
|
||||||
|
|
|
@ -138,25 +138,26 @@ class PlayouthistoryController extends Zend_Controller_Action
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showHistoryFeedAction()
|
public function showHistoryFeedAction()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
$current_time = time();
|
$current_time = time();
|
||||||
$starts_epoch = $request->getParam("start", $current_time - (60*60*24));
|
$starts_epoch = $request->getParam("start", $current_time - (60*60*24));
|
||||||
$ends_epoch = $request->getParam("end", $current_time);
|
$ends_epoch = $request->getParam("end", $current_time);
|
||||||
|
|
||||||
$startsDT = DateTime::createFromFormat("U", $starts_epoch, new DateTimeZone("UTC"));
|
$startsDT = DateTime::createFromFormat("U", $starts_epoch, new DateTimeZone("UTC"));
|
||||||
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
|
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
|
||||||
|
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$r = $historyService->getShowList($startsDT, $endsDT);
|
$shows = $historyService->getShowList($startsDT, $endsDT);
|
||||||
|
|
||||||
}
|
$this->_helper->json->sendJson($shows);
|
||||||
catch (Exception $e) {
|
}
|
||||||
Logging::info($e);
|
catch (Exception $e) {
|
||||||
Logging::info($e->getMessage());
|
Logging::info($e);
|
||||||
}
|
Logging::info($e->getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function editFileItemAction()
|
public function editFileItemAction()
|
||||||
|
|
|
@ -13,131 +13,131 @@ class PlayouthistorytemplateController extends Zend_Controller_Action
|
||||||
->initContext();
|
->initContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function indexAction()
|
public function indexAction()
|
||||||
{
|
{
|
||||||
$CC_CONFIG = Config::getConfig();
|
$CC_CONFIG = Config::getConfig();
|
||||||
$baseUrl = Application_Common_OsPath::getBaseDir();
|
$baseUrl = Application_Common_OsPath::getBaseDir();
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'js/airtime/playouthistory/template.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'js/airtime/playouthistory/template.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
|
||||||
$this->view->headLink()->appendStylesheet($baseUrl.'css/history_styles.css?'.$CC_CONFIG['airtime_version']);
|
$this->view->headLink()->appendStylesheet($baseUrl.'css/history_styles.css?'.$CC_CONFIG['airtime_version']);
|
||||||
|
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$this->view->template_list = $historyService->getListItemTemplates();
|
$this->view->template_list = $historyService->getListItemTemplates();
|
||||||
$this->view->template_file = $historyService->getFileTemplates();
|
$this->view->template_file = $historyService->getFileTemplates();
|
||||||
$this->view->configured = $historyService->getConfiguredTemplateIds();
|
$this->view->configured = $historyService->getConfiguredTemplateIds();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureTemplateAction() {
|
public function configureTemplateAction() {
|
||||||
|
|
||||||
$CC_CONFIG = Config::getConfig();
|
$CC_CONFIG = Config::getConfig();
|
||||||
$baseUrl = Application_Common_OsPath::getBaseDir();
|
$baseUrl = Application_Common_OsPath::getBaseDir();
|
||||||
|
|
||||||
$this->view->headScript()->appendFile($baseUrl.'js/airtime/playouthistory/configuretemplate.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
|
$this->view->headScript()->appendFile($baseUrl.'js/airtime/playouthistory/configuretemplate.js?'.$CC_CONFIG['airtime_version'],'text/javascript');
|
||||||
$this->view->headLink()->appendStylesheet($baseUrl.'css/history_styles.css?'.$CC_CONFIG['airtime_version']);
|
$this->view->headLink()->appendStylesheet($baseUrl.'css/history_styles.css?'.$CC_CONFIG['airtime_version']);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$templateId = $this->_getParam('id');
|
$templateId = $this->_getParam('id');
|
||||||
|
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$template = $historyService->loadTemplate($templateId);
|
$template = $historyService->loadTemplate($templateId);
|
||||||
|
|
||||||
$templateType = $template["type"];
|
$templateType = $template["type"];
|
||||||
$supportedTypes = $historyService->getSupportedTemplateTypes();
|
$supportedTypes = $historyService->getSupportedTemplateTypes();
|
||||||
|
|
||||||
if (!in_array($templateType, $supportedTypes)) {
|
if (!in_array($templateType, $supportedTypes)) {
|
||||||
throw new Exception("Error: $templateType is not supported.");
|
throw new Exception("Error: $templateType is not supported.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$getMandatoryFields = "mandatory".ucfirst($templateType)."Fields";
|
$getMandatoryFields = "mandatory".ucfirst($templateType)."Fields";
|
||||||
$mandatoryFields = $historyService->$getMandatoryFields();
|
$mandatoryFields = $historyService->$getMandatoryFields();
|
||||||
|
|
||||||
$this->view->template_id = $templateId;
|
$this->view->template_id = $templateId;
|
||||||
$this->view->template_name = $template["name"];
|
$this->view->template_name = $template["name"];
|
||||||
$this->view->template_fields = $template["fields"];
|
$this->view->template_fields = $template["fields"];
|
||||||
$this->view->template_type = $templateType;
|
$this->view->template_type = $templateType;
|
||||||
$this->view->fileMD = $historyService->getFileMetadataTypes();
|
$this->view->fileMD = $historyService->getFileMetadataTypes();
|
||||||
$this->view->fields = $historyService->getFieldTypes();
|
$this->view->fields = $historyService->getFieldTypes();
|
||||||
$this->view->required_fields = $mandatoryFields;
|
$this->view->required_fields = $mandatoryFields;
|
||||||
$this->view->configured = $historyService->getConfiguredTemplateIds();
|
$this->view->configured = $historyService->getConfiguredTemplateIds();
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
Logging::info("Error?");
|
Logging::info("Error?");
|
||||||
Logging::info($e);
|
Logging::info($e);
|
||||||
Logging::info($e->getMessage());
|
Logging::info($e->getMessage());
|
||||||
|
|
||||||
$this->_forward('index', 'playouthistorytemplate');
|
$this->_forward('index', 'playouthistorytemplate');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function createTemplateAction()
|
public function createTemplateAction()
|
||||||
{
|
{
|
||||||
$templateType = $this->_getParam('type', null);
|
$templateType = $this->_getParam('type', null);
|
||||||
|
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
$params = $request->getPost();
|
$params = $request->getPost();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$supportedTypes = $historyService->getSupportedTemplateTypes();
|
$supportedTypes = $historyService->getSupportedTemplateTypes();
|
||||||
|
|
||||||
if (!in_array($templateType, $supportedTypes)) {
|
if (!in_array($templateType, $supportedTypes)) {
|
||||||
throw new Exception("Error: $templateType is not supported.");
|
throw new Exception("Error: $templateType is not supported.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = $historyService->createTemplate($params);
|
$id = $historyService->createTemplate($params);
|
||||||
|
|
||||||
$this->view->url = $this->view->baseUrl("Playouthistorytemplate/configure-template/id/{$id}");
|
$this->view->url = $this->view->baseUrl("Playouthistorytemplate/configure-template/id/{$id}");
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
Logging::info($e);
|
Logging::info($e);
|
||||||
Logging::info($e->getMessage());
|
Logging::info($e->getMessage());
|
||||||
|
|
||||||
$this->view->error = $e->getMessage();
|
$this->view->error = $e->getMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setTemplateDefaultAction()
|
public function setTemplateDefaultAction()
|
||||||
{
|
{
|
||||||
$templateId = $this->_getParam('id', null);
|
$templateId = $this->_getParam('id', null);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$historyService->setConfiguredTemplate($templateId);
|
$historyService->setConfiguredTemplate($templateId);
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
Logging::info($e);
|
Logging::info($e);
|
||||||
Logging::info($e->getMessage());
|
Logging::info($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateTemplateAction()
|
public function updateTemplateAction()
|
||||||
{
|
{
|
||||||
$templateId = $this->_getParam('id', null);
|
$templateId = $this->_getParam('id', null);
|
||||||
$name = $this->_getParam('name', null);
|
$name = $this->_getParam('name', null);
|
||||||
$fields = $this->_getParam('fields', array());
|
$fields = $this->_getParam('fields', array());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$historyService->updateItemTemplate($templateId, $name, $fields);
|
$historyService->updateItemTemplate($templateId, $name, $fields);
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
Logging::info($e);
|
Logging::info($e);
|
||||||
Logging::info($e->getMessage());
|
Logging::info($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function deleteTemplateAction()
|
public function deleteTemplateAction()
|
||||||
{
|
{
|
||||||
$templateId = $this->_getParam('id');
|
$templateId = $this->_getParam('id');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$historyService = new Application_Service_HistoryService();
|
$historyService = new Application_Service_HistoryService();
|
||||||
$historyService->deleteTemplate($templateId);
|
$historyService->deleteTemplate($templateId);
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
Logging::info($e);
|
Logging::info($e);
|
||||||
Logging::info($e->getMessage());
|
Logging::info($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -426,15 +426,51 @@ class Application_Service_HistoryService
|
||||||
public function getShowList($startDT, $endDT)
|
public function getShowList($startDT, $endDT)
|
||||||
{
|
{
|
||||||
$user = Application_Model_User::getCurrentUser();
|
$user = Application_Model_User::getCurrentUser();
|
||||||
|
|
||||||
$shows = Application_Model_Show::getShows($startDT, $endDT);
|
$shows = Application_Model_Show::getShows($startDT, $endDT);
|
||||||
|
|
||||||
Loggin::info($shows);
|
Logging::info($startDT->format("Y-m-d H:i:s"));
|
||||||
|
Logging::info($endDT->format("Y-m-d H:i:s"));
|
||||||
|
|
||||||
|
Logging::info($shows);
|
||||||
|
|
||||||
//need to filter the list to only their shows
|
//need to filter the list to only their shows
|
||||||
if ($user->isHost()) {
|
if ($user->isHost()) {
|
||||||
|
|
||||||
|
$showIds = array();
|
||||||
|
|
||||||
|
foreach ($shows as $show) {
|
||||||
|
$showIds[] = $show["show_id"];
|
||||||
|
}
|
||||||
|
|
||||||
|
$showIds = array_unique($showIds);
|
||||||
|
Logging::info($showIds);
|
||||||
|
|
||||||
|
$hostRecords = CcShowHostsQuery::create()
|
||||||
|
->filterByDbHost($user->getId())
|
||||||
|
->filterByDbShow($showIds)
|
||||||
|
->find($this->con);
|
||||||
|
|
||||||
|
$filteredShowIds = array();
|
||||||
|
|
||||||
|
foreach($hostRecords as $record) {
|
||||||
|
$filteredShowIds[] = $record->getDbShow();
|
||||||
|
}
|
||||||
|
|
||||||
|
Logging::info($filteredShowIds);
|
||||||
|
|
||||||
|
$filteredShows = array();
|
||||||
|
|
||||||
|
foreach($shows as $show) {
|
||||||
|
if (in_array($show["show_id"], $filteredShowIds)) {
|
||||||
|
$filteredShows[] = $show;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
$filteredShows = $shows;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $filteredShows;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function insertPlayedItem($schedId) {
|
public function insertPlayedItem($schedId) {
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<div id="his-tabs-3">
|
<div id="his-tabs-3">
|
||||||
<span>Show Summary</span>
|
<ul id="history_show_summary">
|
||||||
|
<li>Show Summary</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,11 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
var selectedLogItems = {};
|
var selectedLogItems = {};
|
||||||
|
|
||||||
|
var dateStartId = "#his_date_start",
|
||||||
|
timeStartId = "#his_time_start",
|
||||||
|
dateEndId = "#his_date_end",
|
||||||
|
timeEndId = "#his_time_end";
|
||||||
|
|
||||||
function getSelectedLogItems() {
|
function getSelectedLogItems() {
|
||||||
var items = Object.keys(selectedLogItems);
|
var items = Object.keys(selectedLogItems);
|
||||||
|
|
||||||
|
@ -303,16 +308,26 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
return oTable;
|
return oTable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showSummaryList() {
|
||||||
|
var url = baseUrl+"playouthistory/show-history-feed",
|
||||||
|
oRange = AIRTIME.utilities.fnGetScheduleRange(dateStartId, timeStartId, dateEndId, timeEndId),
|
||||||
|
data = {
|
||||||
|
format: "json",
|
||||||
|
start: oRange.start,
|
||||||
|
end: oRange.end
|
||||||
|
};
|
||||||
|
|
||||||
|
$.post(url, data, function() {
|
||||||
|
var x;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
mod.onReady = function() {
|
mod.onReady = function() {
|
||||||
|
|
||||||
var oBaseDatePickerSettings,
|
var oBaseDatePickerSettings,
|
||||||
oBaseTimePickerSettings,
|
oBaseTimePickerSettings,
|
||||||
oTableAgg,
|
oTableAgg,
|
||||||
oTableItem,
|
oTableItem,
|
||||||
dateStartId = "#his_date_start",
|
|
||||||
timeStartId = "#his_time_start",
|
|
||||||
dateEndId = "#his_date_end",
|
|
||||||
timeEndId = "#his_time_end",
|
|
||||||
$hisDialogEl,
|
$hisDialogEl,
|
||||||
|
|
||||||
tabsInit = [
|
tabsInit = [
|
||||||
|
@ -327,6 +342,12 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
initialize: function() {
|
initialize: function() {
|
||||||
oTableAgg = aggregateHistoryTable();
|
oTableAgg = aggregateHistoryTable();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
initialized: false,
|
||||||
|
initialize: function() {
|
||||||
|
showSummaryList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -514,7 +535,9 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
$historyContentDiv.find("#his-tabs").tabs({
|
$historyContentDiv.find("#his-tabs").tabs({
|
||||||
show: function( event, ui ) {
|
show: function( event, ui ) {
|
||||||
var tab = tabsInit[ui.index];
|
var href = $(ui.tab).attr("href");
|
||||||
|
var index = href.split('-').pop();
|
||||||
|
var tab = tabsInit[index-1];
|
||||||
|
|
||||||
if (!tab.initialized) {
|
if (!tab.initialized) {
|
||||||
tab.initialize();
|
tab.initialize();
|
||||||
|
|
Loading…
Reference in New Issue