IM-784 : Create Editing Abilities For History

This commit is contained in:
Naomi 2013-07-08 18:00:02 -04:00
parent 1abbe85d6d
commit c744d88f23
7 changed files with 209 additions and 30 deletions

View file

@ -7,6 +7,7 @@ class PlayouthistoryController extends Zend_Controller_Action
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext
->addActionContext('playout-history-feed', 'json')
->addActionContext('edit-aggregate-item', 'json')
->initContext();
}
@ -71,12 +72,33 @@ class PlayouthistoryController extends Zend_Controller_Action
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
$historyService = new Application_Service_HistoryService();
$r = $historyService->getItems($startsDT, $endsDT, $params);
$r = $historyService->getAggregateView($startsDT, $endsDT, $params);
$this->view->sEcho = $r["sEcho"];
$this->view->iTotalDisplayRecords = $r["iTotalDisplayRecords"];
$this->view->iTotalRecords = $r["iTotalRecords"];
$this->view->history = $r["history"];
}
public function editAggregateItemAction()
{
$file_id = $this->_getParam('id');
$historyService = new Application_Service_HistoryService();
$form = $historyService->makeHistoryFileForm($file_id);
$this->view->form = $form;
$this->view->dialog = $this->view->render('form/edit-history-file.phtml');
unset($this->view->form);
}
public function updateAggregateItemAction()
{
$file_id = $this->_getParam('id');
$historyService = new Application_Service_HistoryService();
$historyService->editPlayedFile($file_id);
}
}

View file

@ -0,0 +1,86 @@
<?php
class Application_Form_EditHistoryFile extends Zend_Form
{
public function init() {
/*
$this->setDecorators(
array(
array('ViewScript', array('viewScript' => 'form/edit-history-file.phtml'))
)
);
*/
$this->setMethod('post');
$this->addElement('hidden', 'file_id');
/* Title form element */
$title = new Zend_Form_Element_Text('his_file_title');
$title->setLabel(_('Title:'));
$title->setAttrib('class', 'input_text');
$title->addFilter('StringTrim');
//$title->setDecorators(array('viewHelper'));
$this->addElement($title);
/* Creator form element */
$creator = new Zend_Form_Element_Text('his_file_creator');
$creator->setLabel(_('Creator:'));
$creator->setAttrib('class', 'input_text');
$creator->addFilter('StringTrim');
//$creator->setDecorators(array('viewHelper'));
$this->addElement($creator);
/* Composer form element */
$composer = new Zend_Form_Element_Text('his_file_composer');
$composer->setLabel(_('Composer:'));
$composer->setAttrib('class', 'input_text');
$composer->addFilter('StringTrim');
//$composer->setDecorators(array('viewHelper'));
$this->addElement($composer);
/* Copyright form element */
$copyright = new Zend_Form_Element_Text('his_file_copyright');
$copyright->setLabel(_('Copyright:'));
$copyright->setAttrib('class', 'input_text');
$copyright->addFilter('StringTrim');
//$copyright->setDecorators(array('viewHelper'));
$this->addElement($copyright);
// Add the submit button
$this->addElement('button', 'his_file_save', array(
'ignore' => true,
'class' => 'btn',
'label' => _('Save'),
'decorators' => array(
'ViewHelper'
)
));
// Add the cancel button
$this->addElement('button', 'his_file_cancel', array(
'ignore' => true,
'class' => 'btn',
'label' => _('Cancel'),
'decorators' => array(
'ViewHelper'
)
));
$this->addDisplayGroup(
array(
'his_file_save',
'his_file_cancel'
),
'submitButtons',
array(
'decorators' => array(
'FormElements',
'DtDdWrapper'
)
)
);
}
}

View file

@ -0,0 +1,8 @@
<?php
class Application_Form_EditHistoryItem extends Zend_Form
{
public function init() {
}
}

View file

@ -7,13 +7,13 @@ class Application_Service_HistoryService
private $con;
private $timezone;
private $mDataPropMap = array(
"artist" => "artist_name",
"title" => "track_title",
"played" => "played",
"length" => "length",
"composer" => "composer",
"copyright" => "copyright",
private $mDataPropMap = array (
"artist" => "artist_name",
"title" => "track_title",
"played" => "played",
"length" => "length",
"composer" => "composer",
"copyright" => "copyright",
);
public function __construct()
@ -29,22 +29,24 @@ class Application_Service_HistoryService
{
for ($i = 0; $i < $opts["iColumns"]; $i++) {
$opts["mDataProp_{$i}"] = $this->mDataPropMap[$opts["mDataProp_{$i}"]];
if ($opts["bSearchable_{$i}"] === "true") {
$opts["mDataProp_{$i}"] = $this->mDataPropMap[$opts["mDataProp_{$i}"]];
}
}
}
public function getItems($startDT, $endDT, $opts)
public function getAggregateView($startDT, $endDT, $opts)
{
$this->translateColumns($opts);
$select = array(
"file.track_title as title",
"file.artist_name as artist",
"playout.played",
"playout.file_id",
"file.composer",
"file.copyright",
"file.length"
$select = array (
"file.track_title as title",
"file.artist_name as artist",
"playout.played",
"playout.file_id",
"file.composer",
"file.copyright",
"file.length"
);
$start = $startDT->format("Y-m-d H:i:s");
@ -117,5 +119,26 @@ class Application_Service_HistoryService
throw $e;
}
}
public function makeHistoryItemForm() {
}
public function makeHistoryFileForm($id) {
$form = new Application_Form_EditHistoryFile();
return $form;
}
/* id is an id in cc_playout_history */
public function editPlayedItem($id) {
}
/* id is an id in cc_files */
public function editPlayedFile($id) {
}
}

View file

@ -0,0 +1,3 @@
<div class="ui-widget ui-widget-content block-shadow simple-formblock clearfix padded-strong" id="edit-history-file">
<?php echo $this->form; ?>
</div>