From 903c3474c7fdb3b8a2b18b6b37c5ff28c1b2a509 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 2 Sep 2011 15:24:35 -0400 Subject: [PATCH 1/6] CC-2654: Remove abilities that don't apply to SaaS - not displaying manage folder option when saas is true - not displaying record and rebroadcast section when saas is true --- .../controllers/PreferenceController.php | 20 +- .../controllers/ScheduleController.php | 219 ++++++++++-------- airtime_mvc/application/models/Schedule.php | 27 ++- airtime_mvc/application/models/Shows.php | 5 +- .../application/views/helpers/IsSaas.php | 12 + .../application/views/scripts/menu.phtml | 11 +- .../scripts/schedule/add-show-form.phtml | 2 + 7 files changed, 179 insertions(+), 117 deletions(-) create mode 100644 airtime_mvc/application/views/helpers/IsSaas.php diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index ff67faa67..291a715dd 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -106,15 +106,17 @@ class PreferenceController extends Zend_Controller_Action public function directoryConfigAction() { - $request = $this->getRequest(); - $baseUrl = $request->getBaseUrl(); - - $this->view->headScript()->appendFile($baseUrl.'/js/serverbrowse/serverbrowser.js','text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/musicdirs.js','text/javascript'); - - $watched_dirs_pref = new Application_Form_WatchedDirPreferences(); - - $this->view->form = $watched_dirs_pref; + if(Application_Model_Preference::GetPlanLevel() == 'disabled'){ + $request = $this->getRequest(); + $baseUrl = $request->getBaseUrl(); + + $this->view->headScript()->appendFile($baseUrl.'/js/serverbrowse/serverbrowser.js','text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/musicdirs.js','text/javascript'); + + $watched_dirs_pref = new Application_Form_WatchedDirPreferences(); + + $this->view->form = $watched_dirs_pref; + } } public function streamSettingAction() diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index 8b0368daa..25ef8a26c 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -389,6 +389,8 @@ class ScheduleController extends Zend_Controller_Action if(!$user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) { return; } + + $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; $showInstanceId = $this->_getParam('id'); @@ -397,27 +399,18 @@ class ScheduleController extends Zend_Controller_Action $formWhen = new Application_Form_AddShowWhen(); $formRepeats = new Application_Form_AddShowRepeats(); $formStyle = new Application_Form_AddShowStyle(); - $formRecord = new Application_Form_AddShowRR(); - $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); - $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); $formWhat->removeDecorator('DtDdWrapper'); $formWho->removeDecorator('DtDdWrapper'); $formWhen->removeDecorator('DtDdWrapper'); $formRepeats->removeDecorator('DtDdWrapper'); $formStyle->removeDecorator('DtDdWrapper'); - $formRecord->removeDecorator('DtDdWrapper'); - $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); - $formRebroadcast->removeDecorator('DtDdWrapper'); $this->view->what = $formWhat; $this->view->when = $formWhen; $this->view->repeats = $formRepeats; $this->view->who = $formWho; $this->view->style = $formStyle; - $this->view->rr = $formRecord; - $this->view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $this->view->rebroadcast = $formRebroadcast; $this->view->addNewShow = false; $showInstance = new ShowInstance($showInstanceId); @@ -461,42 +454,55 @@ class ScheduleController extends Zend_Controller_Action 'add_show_end_date' => $displayedEndDate->format("Y-m-d"), 'add_show_no_end' => ($show->getRepeatingEndDate() == ''))); - $formRecord->populate(array('add_show_record' => $show->isRecorded(), - 'add_show_rebroadcast' => $show->isRebroadcast())); - $formRecord->getElement('add_show_record')->setOptions(array('disabled' => true)); - - - - $rebroadcastsRelative = $show->getRebroadcastsRelative(); - $rebroadcastFormValues = array(); - $i = 1; - foreach ($rebroadcastsRelative as $rebroadcast){ - $rebroadcastFormValues["add_show_rebroadcast_date_$i"] = $rebroadcast['day_offset']; - $rebroadcastFormValues["add_show_rebroadcast_time_$i"] = DateHelper::removeSecondsFromTime($rebroadcast['start_time']); - $i++; - } - $formRebroadcast->populate($rebroadcastFormValues); - - $rebroadcastsAbsolute = $show->getRebroadcastsAbsolute(); - $rebroadcastAbsoluteFormValues = array(); - $i = 1; - foreach ($rebroadcastsAbsolute as $rebroadcast){ - $rebroadcastAbsoluteFormValues["add_show_rebroadcast_date_absolute_$i"] = $rebroadcast['start_date']; - $rebroadcastAbsoluteFormValues["add_show_rebroadcast_time_absolute_$i"] = DateHelper::removeSecondsFromTime($rebroadcast['start_time']); - $i++; - } - $formAbsoluteRebroadcast->populate($rebroadcastAbsoluteFormValues); - $hosts = array(); $showHosts = CcShowHostsQuery::create()->filterByDbShow($showInstance->getShowId())->find(); foreach($showHosts as $showHost){ array_push($hosts, $showHost->getDbHost()); } $formWho->populate(array('add_show_hosts' => $hosts)); - - $formStyle->populate(array('add_show_background_color' => $show->getBackgroundColor(), 'add_show_color' => $show->getColor())); + + if(!$isSaas){ + $formRecord = new Application_Form_AddShowRR(); + $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); + $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); + + $formRecord->removeDecorator('DtDdWrapper'); + $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); + $formRebroadcast->removeDecorator('DtDdWrapper'); + + $this->view->rr = $formRecord; + $this->view->absoluteRebroadcast = $formAbsoluteRebroadcast; + $this->view->rebroadcast = $formRebroadcast; + + $formRecord->populate(array('add_show_record' => $show->isRecorded(), + 'add_show_rebroadcast' => $show->isRebroadcast())); + + $formRecord->getElement('add_show_record')->setOptions(array('disabled' => true)); + + + + $rebroadcastsRelative = $show->getRebroadcastsRelative(); + $rebroadcastFormValues = array(); + $i = 1; + foreach ($rebroadcastsRelative as $rebroadcast){ + $rebroadcastFormValues["add_show_rebroadcast_date_$i"] = $rebroadcast['day_offset']; + $rebroadcastFormValues["add_show_rebroadcast_time_$i"] = DateHelper::removeSecondsFromTime($rebroadcast['start_time']); + $i++; + } + $formRebroadcast->populate($rebroadcastFormValues); + + $rebroadcastsAbsolute = $show->getRebroadcastsAbsolute(); + $rebroadcastAbsoluteFormValues = array(); + $i = 1; + foreach ($rebroadcastsAbsolute as $rebroadcast){ + $rebroadcastAbsoluteFormValues["add_show_rebroadcast_date_absolute_$i"] = $rebroadcast['start_date']; + $rebroadcastAbsoluteFormValues["add_show_rebroadcast_time_absolute_$i"] = DateHelper::removeSecondsFromTime($rebroadcast['start_time']); + $i++; + } + $formAbsoluteRebroadcast->populate($rebroadcastAbsoluteFormValues); + } $this->view->newForm = $this->view->render('schedule/add-show-form.phtml'); $this->view->entries = 5; @@ -533,24 +539,21 @@ class ScheduleController extends Zend_Controller_Action if($data['add_show_day_check'] == "") { $data['add_show_day_check'] = null; } - + + $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; + $record = false; + $formWhat = new Application_Form_AddShowWhat(); $formWho = new Application_Form_AddShowWho(); $formWhen = new Application_Form_AddShowWhen(); $formRepeats = new Application_Form_AddShowRepeats(); $formStyle = new Application_Form_AddShowStyle(); - $formRecord = new Application_Form_AddShowRR(); - $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); - $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); $formWhat->removeDecorator('DtDdWrapper'); $formWho->removeDecorator('DtDdWrapper'); $formWhen->removeDecorator('DtDdWrapper'); $formRepeats->removeDecorator('DtDdWrapper'); $formStyle->removeDecorator('DtDdWrapper'); - $formRecord->removeDecorator('DtDdWrapper'); - $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); - $formRebroadcast->removeDecorator('DtDdWrapper'); $what = $formWhat->isValid($data); $when = $formWhen->isValid($data); @@ -581,70 +584,96 @@ class ScheduleController extends Zend_Controller_Action $data["add_show_duration"] = $hValue.":".$mValue; + if(!$isSaas){ + $formRecord = new Application_Form_AddShowRR(); + $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); + $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); + + $formRecord->removeDecorator('DtDdWrapper'); + $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); + $formRebroadcast->removeDecorator('DtDdWrapper'); + + //If show is a new show (not updated), then get + //isRecorded from POST data. Otherwise get it from + //the database since the user is not allowed to + //update this option. + if ($data['add_show_id'] != -1){ + $data['add_show_record'] = $show->isRecorded(); + $record = $formRecord->isValid($data); + $formRecord->getElement('add_show_record')->setOptions(array('disabled' => true)); + } else { + $record = $formRecord->isValid($data); + } + } + if($data["add_show_repeats"]) { $repeats = $formRepeats->isValid($data); if($repeats) { $repeats = $formRepeats->checkReliantFields($data); } - - $formAbsoluteRebroadcast->reset(); - //make it valid, results don't matter anyways. - $rebroadAb = 1; - - if ($data["add_show_rebroadcast"]) { - $rebroad = $formRebroadcast->isValid($data); - if($rebroad) { - $rebroad = $formRebroadcast->checkReliantFields($data); + if(!$isSaas){ + $formAbsoluteRebroadcast->reset(); + //make it valid, results don't matter anyways. + $rebroadAb = 1; + + if ($data["add_show_rebroadcast"]) { + $rebroad = $formRebroadcast->isValid($data); + if($rebroad) { + $rebroad = $formRebroadcast->checkReliantFields($data); + } + } + else { + $rebroad = 1; } - } - else { - $rebroad = 1; } } else { - $formRebroadcast->reset(); - //make it valid, results don't matter anyways. $repeats = 1; - $rebroad = 1; - - if ($data["add_show_rebroadcast"]) { - $rebroadAb = $formAbsoluteRebroadcast->isValid($data); - if($rebroadAb) { - $rebroadAb = $formAbsoluteRebroadcast->checkReliantFields($data); + if(!$isSaas){ + $formRebroadcast->reset(); + //make it valid, results don't matter anyways. + $rebroad = 1; + + if ($data["add_show_rebroadcast"]) { + $rebroadAb = $formAbsoluteRebroadcast->isValid($data); + if($rebroadAb) { + $rebroadAb = $formAbsoluteRebroadcast->checkReliantFields($data); + } + } + else { + $rebroadAb = 1; } - } - else { - $rebroadAb = 1; } } $who = $formWho->isValid($data); $style = $formStyle->isValid($data); - - //If show is a new show (not updated), then get - //isRecorded from POST data. Otherwise get it from - //the database since the user is not allowed to - //update this option. - $record = false; - if ($data['add_show_id'] != -1){ - $data['add_show_record'] = $show->isRecorded(); - $record = $formRecord->isValid($data); - $formRecord->getElement('add_show_record')->setOptions(array('disabled' => true)); - } else { - $record = $formRecord->isValid($data); - } - - if ($what && $when && $repeats && $who && $style && $record && $rebroadAb && $rebroad) { - $userInfo = Zend_Auth::getInstance()->getStorage()->read(); - $user = new User($userInfo->id); - if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) { - Show::create($data); + if ($what && $when && $repeats && $who && $style) { + if(!$isSaas){ + if($record && $rebroadAb && $rebroad){ + $userInfo = Zend_Auth::getInstance()->getStorage()->read(); + $user = new User($userInfo->id); + if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) { + Show::create($data); + } + + //send back a new form for the user. + Schedule::createNewFormSections($this->view); + + $this->view->newForm = $this->view->render('schedule/add-show-form.phtml'); + } + }else{ + $userInfo = Zend_Auth::getInstance()->getStorage()->read(); + $user = new User($userInfo->id); + if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) { + Show::create($data); + } + + //send back a new form for the user. + Schedule::createNewFormSections($this->view); + + $this->view->newForm = $this->view->render('schedule/add-show-form.phtml'); } - - //send back a new form for the user. - Schedule::createNewFormSections($this->view); - - $this->view->newForm = $this->view->render('schedule/add-show-form.phtml'); } else { $this->view->what = $formWhat; @@ -652,9 +681,11 @@ class ScheduleController extends Zend_Controller_Action $this->view->repeats = $formRepeats; $this->view->who = $formWho; $this->view->style = $formStyle; - $this->view->rr = $formRecord; - $this->view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $this->view->rebroadcast = $formRebroadcast; + if(!$isSaas){ + $this->view->rr = $formRecord; + $this->view->absoluteRebroadcast = $formAbsoluteRebroadcast; + $this->view->rebroadcast = $formRebroadcast; + } $this->view->addNewShow = true; //the form still needs to be "update" since diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php index 54cc8210d..c2ecbf6d4 100644 --- a/airtime_mvc/application/models/Schedule.php +++ b/airtime_mvc/application/models/Schedule.php @@ -750,33 +750,25 @@ class Schedule { } public static function createNewFormSections($p_view){ + $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; + $formWhat = new Application_Form_AddShowWhat(); $formWho = new Application_Form_AddShowWho(); $formWhen = new Application_Form_AddShowWhen(); $formRepeats = new Application_Form_AddShowRepeats(); $formStyle = new Application_Form_AddShowStyle(); - $formRecord = new Application_Form_AddShowRR(); - $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); - $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); $formWhat->removeDecorator('DtDdWrapper'); $formWho->removeDecorator('DtDdWrapper'); $formWhen->removeDecorator('DtDdWrapper'); $formRepeats->removeDecorator('DtDdWrapper'); $formStyle->removeDecorator('DtDdWrapper'); - $formRecord->removeDecorator('DtDdWrapper'); - $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); - $formRebroadcast->removeDecorator('DtDdWrapper'); $p_view->what = $formWhat; $p_view->when = $formWhen; $p_view->repeats = $formRepeats; $p_view->who = $formWho; $p_view->style = $formStyle; - $p_view->rr = $formRecord; - $p_view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $p_view->rebroadcast = $formRebroadcast; - $p_view->addNewShow = true; $formWhat->populate(array('add_show_id' => '-1')); $formWhen->populate(array('add_show_start_date' => date("Y-m-d"), @@ -786,6 +778,21 @@ class Schedule { 'add_show_duration' => '1h')); $formRepeats->populate(array('add_show_end_date' => date("Y-m-d"))); + + if(!$isSaas){ + $formRecord = new Application_Form_AddShowRR(); + $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); + $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); + + $formRecord->removeDecorator('DtDdWrapper'); + $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); + $formRebroadcast->removeDecorator('DtDdWrapper'); + + $p_view->rr = $formRecord; + $p_view->absoluteRebroadcast = $formAbsoluteRebroadcast; + $p_view->rebroadcast = $formRebroadcast; + } + $p_view->addNewShow = true; } } diff --git a/airtime_mvc/application/models/Shows.php b/airtime_mvc/application/models/Shows.php index ae15fcceb..ef8bf3852 100644 --- a/airtime_mvc/application/models/Shows.php +++ b/airtime_mvc/application/models/Shows.php @@ -770,7 +770,7 @@ class Show { $showId = $ccShow->getDbId(); - $isRecorded = ($data['add_show_record']) ? 1 : 0; + $isRecorded = (isset($data['add_show_record']) && $data['add_show_record']) ? 1 : 0; if ($data['add_show_id'] != -1){ $show = new Show($showId); @@ -804,8 +804,7 @@ class Show { $utcStartDateTime->add(new DateInterval("P".$daysAdd."D")); } - - if (is_null($endDateTime) || $utcStartDateTime->getTimestamp <= $endDateTime->getTimestamp()) { + if (is_null($endDateTime) || $utcStartDateTime->getTimestamp() <= $endDateTime->getTimestamp()) { $showDay = new CcShowDays(); $showDay->setDbFirstShow($utcStartDateTime->format("Y-m-d")); $showDay->setDbLastShow($endDate); diff --git a/airtime_mvc/application/views/helpers/IsSaas.php b/airtime_mvc/application/views/helpers/IsSaas.php new file mode 100644 index 000000000..0e8bc0cee --- /dev/null +++ b/airtime_mvc/application/views/helpers/IsSaas.php @@ -0,0 +1,12 @@ +