From 8720aabc274f68451f7ad58cf082504b78a9c9e0 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 22 May 2012 11:22:43 -0400 Subject: [PATCH 01/45] CC-3857: Chmod fixes for files which should not be executable -fixed --- airtime_mvc/public/css/TableTools.css | 0 airtime_mvc/public/css/TableTools_JUI.css | 0 .../public/css/datatables/css/TableTools.css | 0 airtime_mvc/public/css/images/icon_copy.png | Bin airtime_mvc/public/css/images/icon_cut.png | Bin airtime_mvc/public/css/images/icon_delete.png | Bin airtime_mvc/public/css/images/icon_door.png | Bin airtime_mvc/public/css/images/icon_edit.png | Bin airtime_mvc/public/css/images/icon_paste.png | Bin airtime_mvc/public/css/jquery.contextMenu.css | 0 .../js/contextmenu/jquery.contextMenu.js | 0 .../plugin/TableTools/as3/ZeroClipboard.as | 0 .../plugin/TableTools/as3/ZeroClipboardPdf.as | 0 .../plugin/TableTools/css/TableTools.css | 0 .../plugin/TableTools/css/TableTools_JUI.css | 0 .../plugin/TableTools/images/copy.png | Bin .../plugin/TableTools/images/copy_hover.png | Bin .../plugin/TableTools/images/csv.png | Bin .../plugin/TableTools/images/csv_hover.png | Bin .../plugin/TableTools/images/print.png | Bin .../plugin/TableTools/images/print_hover.png | Bin .../TableTools/images/psd/copy document.psd | Bin 104729 -> 0 bytes .../TableTools/images/psd/file_types.psd | Bin .../plugin/TableTools/images/psd/printer.psd | Bin .../plugin/TableTools/images/xls.png | Bin .../plugin/TableTools/images/xls_hover.png | Bin .../plugin/TableTools/js/TableTools.js | 0 .../plugin/TableTools/js/ZeroClipboard.js | 0 .../datatables/plugin/dataTables.ColReorder.js | 0 .../js/datatables/plugin/dataTables.ColVis.js | 0 .../datatables/plugin/dataTables.TableTools.js | 0 .../plugin/dataTables.ZeroClipboard.js | 0 python_apps/api_clients/api_client.py | 0 33 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 airtime_mvc/public/css/TableTools.css mode change 100755 => 100644 airtime_mvc/public/css/TableTools_JUI.css mode change 100755 => 100644 airtime_mvc/public/css/datatables/css/TableTools.css mode change 100755 => 100644 airtime_mvc/public/css/images/icon_copy.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_cut.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_delete.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_door.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_edit.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_paste.png mode change 100755 => 100644 airtime_mvc/public/css/jquery.contextMenu.css mode change 100755 => 100644 airtime_mvc/public/js/contextmenu/jquery.contextMenu.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/as3/ZeroClipboard.as mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/as3/ZeroClipboardPdf.as mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/css/TableTools.css mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/css/TableTools_JUI.css mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/copy.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/copy_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/csv.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/csv_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/print.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/print_hover.png delete mode 100755 airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/copy document.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/file_types.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/printer.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/xls.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/images/xls_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/js/TableTools.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools/js/ZeroClipboard.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.TableTools.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.ZeroClipboard.js mode change 100755 => 100644 python_apps/api_clients/api_client.py diff --git a/airtime_mvc/public/css/TableTools.css b/airtime_mvc/public/css/TableTools.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/TableTools_JUI.css b/airtime_mvc/public/css/TableTools_JUI.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/css/TableTools.css b/airtime_mvc/public/css/datatables/css/TableTools.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_copy.png b/airtime_mvc/public/css/images/icon_copy.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_cut.png b/airtime_mvc/public/css/images/icon_cut.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_delete.png b/airtime_mvc/public/css/images/icon_delete.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_door.png b/airtime_mvc/public/css/images/icon_door.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_edit.png b/airtime_mvc/public/css/images/icon_edit.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_paste.png b/airtime_mvc/public/css/images/icon_paste.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/jquery.contextMenu.css b/airtime_mvc/public/css/jquery.contextMenu.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/contextmenu/jquery.contextMenu.js b/airtime_mvc/public/js/contextmenu/jquery.contextMenu.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/as3/ZeroClipboard.as b/airtime_mvc/public/js/datatables/plugin/TableTools/as3/ZeroClipboard.as old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/as3/ZeroClipboardPdf.as b/airtime_mvc/public/js/datatables/plugin/TableTools/as3/ZeroClipboardPdf.as old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/css/TableTools.css b/airtime_mvc/public/js/datatables/plugin/TableTools/css/TableTools.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/css/TableTools_JUI.css b/airtime_mvc/public/js/datatables/plugin/TableTools/css/TableTools_JUI.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/copy.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/copy.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/copy_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/copy_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/csv.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/csv.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/csv_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/csv_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/print.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/print.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/print_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/print_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/copy document.psd b/airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/copy document.psd deleted file mode 100755 index ca207adc608751b51eb5265bda2b7392889305a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104729 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 -z29Kyi71;_?78Nx8T@Kyi71;_?8+RhFJ*IS|(R zV!bqG3$m6Y9v^AF3fsCthdKb8O7xR9@|=69)Pv@ zipvA2wFHaH1F+0cad`k1%V$L^SsYCE>MAY|kaByTV_~l1@&H?95wPO&04xw!Tpoa> z30Ww-xI6&-vA8?{E7KL12XJIxhvM=8tj8()?Xbs4ae06YhIVmzfQT&i>J^sWuE$@eH70Ukd8Mek_dn}y|5LtL%HXcf`TY{_z%vJ`nxdfXp%Oz3E zke;z{b+Hc|`__Og)Ixrv&xX$IR`^vOop z(RFdz*IZwxwr-QXd2kiTOO9-Z$=1QdM%mL#b|6ZzxnFU4fFyg*;aw~)53r35>x;_+ z$hJ_z9b{+uSlZ}jx1FRHW;3FoeJdL(>2`$u?-ns`eZ20^Pn;Xg=BKD?7eb_|G4etGJ=9#Tg zww_^^NcOr)T49SR3IP*Q*u$DlpP23d^>+luR@q;W*$V72BU>Y?rFYrBhwYjIwtZsz zCgyn-mj@^=4^UhlptwAM6LdUZTppmfJV0@Ifa3B1#pMBt%L5db2k7n%vol|>7|-mA z$xg0G_F|PSx7nB0^Lu){cn_P(vT0!ow*s4n%l@Kv8n-~AH`yL_66_hsPKM~+GG~|> z4Z4|#$&RD4AKzp8)*kkR#3|sg>#WWG=#Y^SVn|;FfM3B zH+ybJEFwmRnWQOfk;oKh!^r4tTg#@!?1(8fF(ulM~Upj z%#RU`2H(-GsOg3~LTuw1V;@Ff%Pk{pM7hu8^k~#h>l@hhol326G9G0=^T4~0eUaG> z*zaWv$Fvp3f^(7)wg?a6>~k+w6qg4mE)P -z29Kyi71;_?8+*%Z6t|PmTavb|hC)Rb}+9$jh zUzN*Ixyz2X$f&J7`s$HgS+c&ld+bY2Jhb+?hZC7!zO{Q)?xN#uGEG?f>Z`kU?cTlX zmoLA%`?aHcCcL(LSD%wuyKCKpvCOMS_l)ho-gboSC2Of>Bx$d{y8EbP-@R+s4sY#& zSDt-P@00BP*X>8iK3+=S{Tlgq@7a4~&+qMhZTD-h?pV8L&x_CeB>B>7dj?%^C3|-G zTAK3qYuP<-?LE4uWbdnQtsU{R)b727i;_{=SYAHPTTX?#oe z?mMz~)T^o31BsXR9?e~jkW1CF*Y@l=x_8WOO5DGH-`>4%@6YZ#x_9JjnYHm3_v9{y zb3xXT^l$H8ZkFsnaCE=6@96&Qfh@VRd$W5kSQ~wD@BaM<4p0V#?Aap^3|~wBqx-V^ z-#(!2e=DDN#GbX0o%`O-Uky_k8PUDN_w7Hh|IGtO50aVYj$GTjv#Kh8QIfBo+NGR> zM-RPypk#k8*Gp9oRUOG)scfU^JzY6KN!bIX2M-45o=$24QL+F4jwr?;`PI?zj62| znf5IkQw0?BRgO??%jFq!=)j>j4pKb@l~hq?pgckORcbVjzE*M%?H_Z`?%m)7ojY=H#DRSWUO({GzHy+*?t3CTs+KLQdVAkUbw$>a zd!T}`d&qiF!R6?oEJMgp?j1+=C_t1(%Jp!rd0^r_6iwOt_Nxbu(2@_+PspOG>Ymt3 zj3oKh^=_4aEcqFyy#OBI9MS|t`)Leh#(2hFmel=Y)OGHG59AsTUJITGY!B=MO0ON= zJwZnF#eMnfw|A?)js+&tBKmuD|1dCH#`Ap-Rqa&>O1coQG+evq=&q98djQcMAV|)t z|JTmhw6qa~aeQ}u+mK?sRm~inCkjrG$h$JmjBepPB#8^J6bjepimz|Pva2rw;U-Ya<8F7}WWxDaRy%g6YR1Cz6u_c5n-7CdBD+Op~Jm<^x+-e@3@ zLUNmN!F=cNOeAUE-^sDSg2S1gc7V35AVjYTPguY2yg$X|I+^9Gy(l=$_nFd)nD?L& zD4z(<8S|T|8oB+DLvK6yhN<#*yr*$`(To|IPW*o7!&&`zihVQNw{^#Q{pRhhW3%+BO3g{ z1*jg!AKbKv27jny5H0>-W{Kp$pYk&Y{@`au{K3vH{<`?dHq+&-EWf7Eqp4*XG9HJJ&2 zlmdTnGBf_*XFmKXNA>uFpF;=So?waRT|Ik5Wh&{`8}d5jTbTEXKB1l5I;%lm4WzC znrjFrQYHVxr)d|l47+R>OXcB_(XsJ~$*Gyyx%q{~rR9~?_-T1{WqE0FVSa9QW@>U` Td~9@NxLhjQ$40|Q%*gl&pqPNb diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/file_types.psd b/airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/file_types.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/printer.psd b/airtime_mvc/public/js/datatables/plugin/TableTools/images/psd/printer.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/xls.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/xls.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/images/xls_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools/images/xls_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/js/TableTools.js b/airtime_mvc/public/js/datatables/plugin/TableTools/js/TableTools.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools/js/ZeroClipboard.js b/airtime_mvc/public/js/datatables/plugin/TableTools/js/ZeroClipboard.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.TableTools.js b/airtime_mvc/public/js/datatables/plugin/dataTables.TableTools.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ZeroClipboard.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ZeroClipboard.js old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py old mode 100755 new mode 100644 From 428b13f3d71235b21897815ef4df9efaf95431c2 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Tue, 22 May 2012 17:51:53 +0200 Subject: [PATCH 02/45] CC-3803 : Don't allow editing of a current Record show --- .../controllers/ScheduleController.php | 47 +++++-------------- .../application/forms/AddShowLiveStream.php | 2 +- airtime_mvc/application/models/Show.php | 39 +++++++++------ 3 files changed, 37 insertions(+), 51 deletions(-) diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index f98c06f33..755cbc7f3 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -272,47 +272,25 @@ class ScheduleController extends Zend_Controller_Action } if ($showStartLocalDT->getTimestamp() <= $epochNow && - $epochNow < $showEndLocalDT->getTimestamp() && - ($isAdminOrPM || $isDJ)) { + $epochNow < $showEndLocalDT->getTimestamp() && $isAdminOrPM) { if ($instance->isRecorded()) { - if($isAdminOrPM){ - $menu["cancel_recorded"] = array("name"=> "Cancel Current Show", "icon" => "delete"); - } - } else { - if($instance->isRepeating()){ - /*$menu["edit"] = array("name"=> "Edit", "icon" => "edit", "items" => array()); - $menu["edit"]["items"]["instance"] = array("name"=> "Edit Show Instance", "icon" => "edit", "url" => "/Schedule/populate-show-instance-form"); - $menu["edit"]["items"]["all"] = array("name"=> "Edit Show", "icon" => "edit", "url" => "/Schedule/populate-show-form");*/ + $menu["cancel_recorded"] = array("name"=> "Cancel Current Show", "icon" => "delete"); + } + else { + + if (!$instance->isRebroadcast()) { $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => "/Schedule/populate-show-form"); - }else{ - if($instance->isRebroadcast()){ - $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"rebroadcast", "url" => "/Schedule/populate-show-form"); - }else{ - $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => "/Schedule/populate-show-form"); - } - } - if($isAdminOrPM){ - $menu["cancel"] = array("name"=> "Cancel Current Show", "icon" => "delete"); } + + $menu["cancel"] = array("name"=> "Cancel Current Show", "icon" => "delete"); } } if ($epochNow < $showStartLocalDT->getTimestamp()) { - if ($isAdminOrPM || $isDJ) { - - if($instance->isRepeating()){ - /*$menu["edit"] = array("name"=> "Edit", "icon" => "edit", "items" => array()); - $menu["edit"]["items"]["instance"] = array("name"=> "Edit Show Instance", "icon" => "edit", "url" => "/Schedule/populate-show-instance-form"); - $menu["edit"]["items"]["all"] = array("name"=> "Edit Show", "icon" => "edit", "url" => "/Schedule/populate-show-form");*/ + if (!$instance->isRebroadcast() && $isAdminOrPM) { $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => "/Schedule/populate-show-form"); - }else{ - if($instance->isRebroadcast()){ - $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"rebroadcast", "url" => "/Schedule/populate-show-form"); - }else{ - $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => "/Schedule/populate-show-form"); - } } if ($instance->getShow()->isRepeating() && $isAdminOrPM) { @@ -324,11 +302,10 @@ class ScheduleController extends Zend_Controller_Action $menu["del"]["items"]["following"] = array("name"=> "Delete This Instance and All Following", "icon" => "delete", "url" => "/schedule/cancel-show"); } - else if($isAdminOrPM){ - //window["scheduleRefetchEvents"]' - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => "/schedule/delete-show"); + else if ($isAdminOrPM){ + + $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => "/schedule/delete-show"); } - } } $this->view->items = $menu; diff --git a/airtime_mvc/application/forms/AddShowLiveStream.php b/airtime_mvc/application/forms/AddShowLiveStream.php index cc90cf6d6..680de4645 100644 --- a/airtime_mvc/application/forms/AddShowLiveStream.php +++ b/airtime_mvc/application/forms/AddShowLiveStream.php @@ -14,7 +14,7 @@ class Application_Form_AddShowLiveStream extends Zend_Form_SubForm ->setDecorators(array('ViewHelper')); $this->addElement($cb_airtime_auth); - $description2 = "Specify custom authentication which will work for only for this show."; + $description2 = "Specify custom authentication which will work only for this show."; $cb_custom_auth = new Zend_Form_Element_Checkbox("cb_custom_auth"); $cb_custom_auth ->setLabel("Use Custom Authentication:") ->setDescription($description2) diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 8c3d8d60c..dc8c29026 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -1484,32 +1484,34 @@ class Application_Model_Show { Application_Model_Preference::SetShowsPopulatedUntil($end_timestamp); } - $sql = "SELECT starts, ends, record, rebroadcast, instance_id, show_id, name, - color, background_color, file_id, cc_show_instances.id AS instance_id, - created, last_scheduled, time_filled - FROM cc_show_instances - LEFT JOIN cc_show ON cc_show.id = cc_show_instances.show_id - WHERE cc_show_instances.modified_instance = FALSE"; + $sql = "SELECT si1.starts AS starts, si1.ends AS ends, si1.record AS record, si1.rebroadcast AS rebroadcast, si2.starts AS parent_starts, + si1.instance_id AS record_id, si1.show_id AS show_id, show.name AS name, + show.color AS color, show.background_color AS background_color, si1.file_id AS file_id, si1.id AS instance_id, + si1.created AS created, si1.last_scheduled AS last_scheduled, si1.time_filled AS time_filled + FROM cc_show_instances AS si1 + LEFT JOIN cc_show_instances AS si2 ON si1.instance_id = si2.id + LEFT JOIN cc_show AS show ON show.id = si1.show_id + WHERE si1.modified_instance = FALSE"; //only want shows that are starting at the time or later. $start_string = $start_timestamp->format("Y-m-d H:i:s"); $end_string = $end_timestamp->format("Y-m-d H:i:s"); if ($onlyRecord) { - $sql = $sql." AND (starts >= '{$start_string}' AND starts < timestamp '{$end_string}')"; - $sql = $sql." AND (record = 1)"; + $sql = $sql." AND (si1.starts >= '{$start_string}' AND si1.starts < timestamp '{$end_string}')"; + $sql = $sql." AND (si1.record = 1)"; } else { - $sql = $sql." AND ((starts >= '{$start_string}' AND starts < '{$end_string}') - OR (ends > '{$start_string}' AND ends <= '{$end_string}') - OR (starts <= '{$start_string}' AND ends >= '{$end_string}'))"; + $sql = $sql." AND ((si1.starts >= '{$start_string}' AND si1.starts < '{$end_string}') + OR (si1.ends > '{$start_string}' AND si1.ends <= '{$end_string}') + OR (si1.starts <= '{$start_string}' AND si1.ends >= '{$end_string}'))"; } if (isset($excludeInstance)) { foreach($excludeInstance as $instance) { - $sql_exclude[] = "cc_show_instances.id != {$instance}"; + $sql_exclude[] = "si1.id != {$instance}"; } $exclude = join(" OR ", $sql_exclude); @@ -1517,8 +1519,8 @@ class Application_Model_Show { $sql = $sql." AND ({$exclude})"; } - //Logging::log("getShows"); - //Logging::log($sql); + Logging::debug("getShows"); + Logging::debug($sql); $result = $con->query($sql)->fetchAll(); return $result; } @@ -1594,15 +1596,22 @@ class Application_Model_Show { $options["percent"] = Application_Model_Show::getPercentScheduled($show["starts"], $show["ends"], $show["time_filled"]); } + if (isset($show["parent_starts"])) { + $parentStartsDT = new DateTime($show["parent_starts"], new DateTimeZone("UTC")); + $parentStartsEpoch = intval($parentStartsDT->format("U")); + } $startsDT = new DateTime($show["starts"], new DateTimeZone("UTC")); $endsDT = new DateTime($show["ends"], new DateTimeZone("UTC")); $startsEpoch = intval($startsDT->format("U")); $endsEpoch = intval($endsDT->format("U")); - if ($p_editable && $show["record"] && $nowEpoch < $endsEpoch) { + if ($p_editable && $show["record"] && $nowEpoch > $startsEpoch) { $options["editable"] = false; } + else if ($p_editable && $show["rebroadcast"] && $nowEpoch > $parentStartsEpoch) { + $options["editable"] = false; + } else if ($p_editable && $nowEpoch < $endsEpoch) { $options["editable"] = true; } From 6d88b21a8f0d44e150fbd3541cef6776b738121a Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 22 May 2012 17:53:51 +0200 Subject: [PATCH 03/45] CC-3846: changed CSS for info icon, it should fix the positioning issue --- airtime_mvc/public/css/styles.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css index e35027dd2..f7c435f62 100644 --- a/airtime_mvc/public/css/styles.css +++ b/airtime_mvc/public/css/styles.css @@ -108,11 +108,10 @@ select { .info-tooltip { cursor: help; position: relative; - - display:inline-block; zoom:1; display:inline; + display:inline-block; zoom:1; width:14px; height:14px; background:url(/css/images/icon_info.png) 0 0 no-repeat; - float:right; position:relative; top:4px; right:7px; left: 3px; + top:2px; right:7px; left: 3px; line-height:16px !important; } .info-tooltip span { From bbd694eb10bd7a6e482cb2eaa7503017c64f3ef5 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Tue, 22 May 2012 12:22:03 -0400 Subject: [PATCH 04/45] CC-3810: NowPlaying Bar during a recorded show looks scary in 2.1 (much nicer in 2.0.3 and earlier) -introduced small problem, now fixed --- airtime_mvc/application/models/Schedule.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php index 0c6180176..50ce522eb 100644 --- a/airtime_mvc/application/models/Schedule.php +++ b/airtime_mvc/application/models/Schedule.php @@ -48,7 +48,8 @@ class Application_Model_Schedule { $range = array("env"=>APPLICATION_ENV, "schedulerTime"=>$timeNow, "previous"=>$results['previous'] !=null?$results['previous']:(count($shows['previousShow'])>0?$shows['previousShow'][0]:null), - "current"=>$results['current'] !=null?$results['current']:(count($shows['currentShow'])>0?$shows['currentShow'][0]:null), + "current"=>$results['current'] !=null?$results['current']:((count($shows['currentShow'])>0 && $shows['currentShow']['record'] == 1)?$shows['currentShow'][0]:null), + //"current"=>$results['current'] !=null?$results['current']:(count($shows['currentShow'])>0?$shows['currentShow'][0]:null), "next"=> $results['next'] !=null?$results['next']:(count($shows['nextShow'])>0?$shows['nextShow'][0]:null), "currentShow"=>$shows['currentShow'], "nextShow"=>$shows['nextShow'], From 6da923ace118c397c73fbbb882506979ff8fd20c Mon Sep 17 00:00:00 2001 From: James Date: Tue, 22 May 2012 16:11:25 -0400 Subject: [PATCH 05/45] CC-3859: Playout History: Filter out songs that are not played out - db change and upgrade. --- .../models/airtime/map/CcScheduleTableMap.php | 1 + .../models/airtime/om/BaseCcSchedule.php | 56 ++++++++++++++++++- .../models/airtime/om/BaseCcSchedulePeer.php | 31 +++++----- .../models/airtime/om/BaseCcScheduleQuery.php | 35 ++++++++++++ airtime_mvc/build/schema.xml | 1 + airtime_mvc/build/sql/schema.sql | 1 + .../upgrades/airtime-2.1.0/data/upgrade.sql | 1 + 7 files changed, 112 insertions(+), 14 deletions(-) diff --git a/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php b/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php index dd3189d10..64e9b2609 100644 --- a/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php +++ b/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php @@ -50,6 +50,7 @@ class CcScheduleTableMap extends TableMap { $this->addColumn('MEDIA_ITEM_PLAYED', 'DbMediaItemPlayed', 'BOOLEAN', false, null, false); $this->addForeignKey('INSTANCE_ID', 'DbInstanceId', 'INTEGER', 'cc_show_instances', 'ID', true, null, null); $this->addColumn('PLAYOUT_STATUS', 'DbPlayoutStatus', 'SMALLINT', true, null, 1); + $this->addColumn('BROADCASTED', 'DbBroadcasted', 'SMALLINT', true, null, 0); // validators } // initialize() diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php b/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php index dea91b5f7..9556499bb 100644 --- a/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php +++ b/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php @@ -103,6 +103,13 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent */ protected $playout_status; + /** + * The value for the broadcasted field. + * Note: this column has a database default value of: 0 + * @var int + */ + protected $broadcasted; + /** * @var CcShowInstances */ @@ -142,6 +149,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent $this->cue_out = '00:00:00'; $this->media_item_played = false; $this->playout_status = 1; + $this->broadcasted = 0; } /** @@ -366,6 +374,16 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent return $this->playout_status; } + /** + * Get the [broadcasted] column value. + * + * @return int + */ + public function getDbBroadcasted() + { + return $this->broadcasted; + } + /** * Set the value of [id] column. * @@ -732,6 +750,26 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent return $this; } // setDbPlayoutStatus() + /** + * Set the value of [broadcasted] column. + * + * @param int $v new value + * @return CcSchedule The current object (for fluent API support) + */ + public function setDbBroadcasted($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->broadcasted !== $v || $this->isNew()) { + $this->broadcasted = $v; + $this->modifiedColumns[] = CcSchedulePeer::BROADCASTED; + } + + return $this; + } // setDbBroadcasted() + /** * Indicates whether the columns in this object are only set to default values. * @@ -770,6 +808,10 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent return false; } + if ($this->broadcasted !== 0) { + return false; + } + // otherwise, everything was equal, so return TRUE return true; } // hasOnlyDefaultValues() @@ -804,6 +846,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent $this->media_item_played = ($row[$startcol + 9] !== null) ? (boolean) $row[$startcol + 9] : null; $this->instance_id = ($row[$startcol + 10] !== null) ? (int) $row[$startcol + 10] : null; $this->playout_status = ($row[$startcol + 11] !== null) ? (int) $row[$startcol + 11] : null; + $this->broadcasted = ($row[$startcol + 12] !== null) ? (int) $row[$startcol + 12] : null; $this->resetModified(); $this->setNew(false); @@ -812,7 +855,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent $this->ensureConsistency(); } - return $startcol + 12; // 12 = CcSchedulePeer::NUM_COLUMNS - CcSchedulePeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 13; // 13 = CcSchedulePeer::NUM_COLUMNS - CcSchedulePeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating CcSchedule object", $e); @@ -1192,6 +1235,9 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent case 11: return $this->getDbPlayoutStatus(); break; + case 12: + return $this->getDbBroadcasted(); + break; default: return null; break; @@ -1228,6 +1274,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent $keys[9] => $this->getDbMediaItemPlayed(), $keys[10] => $this->getDbInstanceId(), $keys[11] => $this->getDbPlayoutStatus(), + $keys[12] => $this->getDbBroadcasted(), ); if ($includeForeignObjects) { if (null !== $this->aCcShowInstances) { @@ -1303,6 +1350,9 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent case 11: $this->setDbPlayoutStatus($value); break; + case 12: + $this->setDbBroadcasted($value); + break; } // switch() } @@ -1339,6 +1389,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent if (array_key_exists($keys[9], $arr)) $this->setDbMediaItemPlayed($arr[$keys[9]]); if (array_key_exists($keys[10], $arr)) $this->setDbInstanceId($arr[$keys[10]]); if (array_key_exists($keys[11], $arr)) $this->setDbPlayoutStatus($arr[$keys[11]]); + if (array_key_exists($keys[12], $arr)) $this->setDbBroadcasted($arr[$keys[12]]); } /** @@ -1362,6 +1413,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent if ($this->isColumnModified(CcSchedulePeer::MEDIA_ITEM_PLAYED)) $criteria->add(CcSchedulePeer::MEDIA_ITEM_PLAYED, $this->media_item_played); if ($this->isColumnModified(CcSchedulePeer::INSTANCE_ID)) $criteria->add(CcSchedulePeer::INSTANCE_ID, $this->instance_id); if ($this->isColumnModified(CcSchedulePeer::PLAYOUT_STATUS)) $criteria->add(CcSchedulePeer::PLAYOUT_STATUS, $this->playout_status); + if ($this->isColumnModified(CcSchedulePeer::BROADCASTED)) $criteria->add(CcSchedulePeer::BROADCASTED, $this->broadcasted); return $criteria; } @@ -1434,6 +1486,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent $copyObj->setDbMediaItemPlayed($this->media_item_played); $copyObj->setDbInstanceId($this->instance_id); $copyObj->setDbPlayoutStatus($this->playout_status); + $copyObj->setDbBroadcasted($this->broadcasted); $copyObj->setNew(true); $copyObj->setDbId(NULL); // this is a auto-increment column, so set to default value @@ -1592,6 +1645,7 @@ abstract class BaseCcSchedule extends BaseObject implements Persistent $this->media_item_played = null; $this->instance_id = null; $this->playout_status = null; + $this->broadcasted = null; $this->alreadyInSave = false; $this->alreadyInValidation = false; $this->clearAllReferences(); diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php index 86f529929..c73ee915d 100644 --- a/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php +++ b/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php @@ -26,7 +26,7 @@ abstract class BaseCcSchedulePeer { const TM_CLASS = 'CcScheduleTableMap'; /** The total number of columns. */ - const NUM_COLUMNS = 12; + const NUM_COLUMNS = 13; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -67,6 +67,9 @@ abstract class BaseCcSchedulePeer { /** the column name for the PLAYOUT_STATUS field */ const PLAYOUT_STATUS = 'cc_schedule.PLAYOUT_STATUS'; + /** the column name for the BROADCASTED field */ + const BROADCASTED = 'cc_schedule.BROADCASTED'; + /** * An identiy map to hold any loaded instances of CcSchedule objects. * This must be public so that other peer classes can access this when hydrating from JOIN @@ -83,12 +86,12 @@ abstract class BaseCcSchedulePeer { * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('DbId', 'DbStarts', 'DbEnds', 'DbFileId', 'DbClipLength', 'DbFadeIn', 'DbFadeOut', 'DbCueIn', 'DbCueOut', 'DbMediaItemPlayed', 'DbInstanceId', 'DbPlayoutStatus', ), - BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbStarts', 'dbEnds', 'dbFileId', 'dbClipLength', 'dbFadeIn', 'dbFadeOut', 'dbCueIn', 'dbCueOut', 'dbMediaItemPlayed', 'dbInstanceId', 'dbPlayoutStatus', ), - BasePeer::TYPE_COLNAME => array (self::ID, self::STARTS, self::ENDS, self::FILE_ID, self::CLIP_LENGTH, self::FADE_IN, self::FADE_OUT, self::CUE_IN, self::CUE_OUT, self::MEDIA_ITEM_PLAYED, self::INSTANCE_ID, self::PLAYOUT_STATUS, ), - BasePeer::TYPE_RAW_COLNAME => array ('ID', 'STARTS', 'ENDS', 'FILE_ID', 'CLIP_LENGTH', 'FADE_IN', 'FADE_OUT', 'CUE_IN', 'CUE_OUT', 'MEDIA_ITEM_PLAYED', 'INSTANCE_ID', 'PLAYOUT_STATUS', ), - BasePeer::TYPE_FIELDNAME => array ('id', 'starts', 'ends', 'file_id', 'clip_length', 'fade_in', 'fade_out', 'cue_in', 'cue_out', 'media_item_played', 'instance_id', 'playout_status', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ) + BasePeer::TYPE_PHPNAME => array ('DbId', 'DbStarts', 'DbEnds', 'DbFileId', 'DbClipLength', 'DbFadeIn', 'DbFadeOut', 'DbCueIn', 'DbCueOut', 'DbMediaItemPlayed', 'DbInstanceId', 'DbPlayoutStatus', 'DbBroadcasted', ), + BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbStarts', 'dbEnds', 'dbFileId', 'dbClipLength', 'dbFadeIn', 'dbFadeOut', 'dbCueIn', 'dbCueOut', 'dbMediaItemPlayed', 'dbInstanceId', 'dbPlayoutStatus', 'dbBroadcasted', ), + BasePeer::TYPE_COLNAME => array (self::ID, self::STARTS, self::ENDS, self::FILE_ID, self::CLIP_LENGTH, self::FADE_IN, self::FADE_OUT, self::CUE_IN, self::CUE_OUT, self::MEDIA_ITEM_PLAYED, self::INSTANCE_ID, self::PLAYOUT_STATUS, self::BROADCASTED, ), + BasePeer::TYPE_RAW_COLNAME => array ('ID', 'STARTS', 'ENDS', 'FILE_ID', 'CLIP_LENGTH', 'FADE_IN', 'FADE_OUT', 'CUE_IN', 'CUE_OUT', 'MEDIA_ITEM_PLAYED', 'INSTANCE_ID', 'PLAYOUT_STATUS', 'BROADCASTED', ), + BasePeer::TYPE_FIELDNAME => array ('id', 'starts', 'ends', 'file_id', 'clip_length', 'fade_in', 'fade_out', 'cue_in', 'cue_out', 'media_item_played', 'instance_id', 'playout_status', 'broadcasted', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ) ); /** @@ -98,12 +101,12 @@ abstract class BaseCcSchedulePeer { * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbStarts' => 1, 'DbEnds' => 2, 'DbFileId' => 3, 'DbClipLength' => 4, 'DbFadeIn' => 5, 'DbFadeOut' => 6, 'DbCueIn' => 7, 'DbCueOut' => 8, 'DbMediaItemPlayed' => 9, 'DbInstanceId' => 10, 'DbPlayoutStatus' => 11, ), - BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbStarts' => 1, 'dbEnds' => 2, 'dbFileId' => 3, 'dbClipLength' => 4, 'dbFadeIn' => 5, 'dbFadeOut' => 6, 'dbCueIn' => 7, 'dbCueOut' => 8, 'dbMediaItemPlayed' => 9, 'dbInstanceId' => 10, 'dbPlayoutStatus' => 11, ), - BasePeer::TYPE_COLNAME => array (self::ID => 0, self::STARTS => 1, self::ENDS => 2, self::FILE_ID => 3, self::CLIP_LENGTH => 4, self::FADE_IN => 5, self::FADE_OUT => 6, self::CUE_IN => 7, self::CUE_OUT => 8, self::MEDIA_ITEM_PLAYED => 9, self::INSTANCE_ID => 10, self::PLAYOUT_STATUS => 11, ), - BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'STARTS' => 1, 'ENDS' => 2, 'FILE_ID' => 3, 'CLIP_LENGTH' => 4, 'FADE_IN' => 5, 'FADE_OUT' => 6, 'CUE_IN' => 7, 'CUE_OUT' => 8, 'MEDIA_ITEM_PLAYED' => 9, 'INSTANCE_ID' => 10, 'PLAYOUT_STATUS' => 11, ), - BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'starts' => 1, 'ends' => 2, 'file_id' => 3, 'clip_length' => 4, 'fade_in' => 5, 'fade_out' => 6, 'cue_in' => 7, 'cue_out' => 8, 'media_item_played' => 9, 'instance_id' => 10, 'playout_status' => 11, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ) + BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbStarts' => 1, 'DbEnds' => 2, 'DbFileId' => 3, 'DbClipLength' => 4, 'DbFadeIn' => 5, 'DbFadeOut' => 6, 'DbCueIn' => 7, 'DbCueOut' => 8, 'DbMediaItemPlayed' => 9, 'DbInstanceId' => 10, 'DbPlayoutStatus' => 11, 'DbBroadcasted' => 12, ), + BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbStarts' => 1, 'dbEnds' => 2, 'dbFileId' => 3, 'dbClipLength' => 4, 'dbFadeIn' => 5, 'dbFadeOut' => 6, 'dbCueIn' => 7, 'dbCueOut' => 8, 'dbMediaItemPlayed' => 9, 'dbInstanceId' => 10, 'dbPlayoutStatus' => 11, 'dbBroadcasted' => 12, ), + BasePeer::TYPE_COLNAME => array (self::ID => 0, self::STARTS => 1, self::ENDS => 2, self::FILE_ID => 3, self::CLIP_LENGTH => 4, self::FADE_IN => 5, self::FADE_OUT => 6, self::CUE_IN => 7, self::CUE_OUT => 8, self::MEDIA_ITEM_PLAYED => 9, self::INSTANCE_ID => 10, self::PLAYOUT_STATUS => 11, self::BROADCASTED => 12, ), + BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'STARTS' => 1, 'ENDS' => 2, 'FILE_ID' => 3, 'CLIP_LENGTH' => 4, 'FADE_IN' => 5, 'FADE_OUT' => 6, 'CUE_IN' => 7, 'CUE_OUT' => 8, 'MEDIA_ITEM_PLAYED' => 9, 'INSTANCE_ID' => 10, 'PLAYOUT_STATUS' => 11, 'BROADCASTED' => 12, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'starts' => 1, 'ends' => 2, 'file_id' => 3, 'clip_length' => 4, 'fade_in' => 5, 'fade_out' => 6, 'cue_in' => 7, 'cue_out' => 8, 'media_item_played' => 9, 'instance_id' => 10, 'playout_status' => 11, 'broadcasted' => 12, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ) ); /** @@ -187,6 +190,7 @@ abstract class BaseCcSchedulePeer { $criteria->addSelectColumn(CcSchedulePeer::MEDIA_ITEM_PLAYED); $criteria->addSelectColumn(CcSchedulePeer::INSTANCE_ID); $criteria->addSelectColumn(CcSchedulePeer::PLAYOUT_STATUS); + $criteria->addSelectColumn(CcSchedulePeer::BROADCASTED); } else { $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.STARTS'); @@ -200,6 +204,7 @@ abstract class BaseCcSchedulePeer { $criteria->addSelectColumn($alias . '.MEDIA_ITEM_PLAYED'); $criteria->addSelectColumn($alias . '.INSTANCE_ID'); $criteria->addSelectColumn($alias . '.PLAYOUT_STATUS'); + $criteria->addSelectColumn($alias . '.BROADCASTED'); } } diff --git a/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php index 424e7f6f3..236e3cb26 100644 --- a/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php +++ b/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php @@ -18,6 +18,7 @@ * @method CcScheduleQuery orderByDbMediaItemPlayed($order = Criteria::ASC) Order by the media_item_played column * @method CcScheduleQuery orderByDbInstanceId($order = Criteria::ASC) Order by the instance_id column * @method CcScheduleQuery orderByDbPlayoutStatus($order = Criteria::ASC) Order by the playout_status column + * @method CcScheduleQuery orderByDbBroadcasted($order = Criteria::ASC) Order by the broadcasted column * * @method CcScheduleQuery groupByDbId() Group by the id column * @method CcScheduleQuery groupByDbStarts() Group by the starts column @@ -31,6 +32,7 @@ * @method CcScheduleQuery groupByDbMediaItemPlayed() Group by the media_item_played column * @method CcScheduleQuery groupByDbInstanceId() Group by the instance_id column * @method CcScheduleQuery groupByDbPlayoutStatus() Group by the playout_status column + * @method CcScheduleQuery groupByDbBroadcasted() Group by the broadcasted column * * @method CcScheduleQuery leftJoin($relation) Adds a LEFT JOIN clause to the query * @method CcScheduleQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query @@ -59,6 +61,7 @@ * @method CcSchedule findOneByDbMediaItemPlayed(boolean $media_item_played) Return the first CcSchedule filtered by the media_item_played column * @method CcSchedule findOneByDbInstanceId(int $instance_id) Return the first CcSchedule filtered by the instance_id column * @method CcSchedule findOneByDbPlayoutStatus(int $playout_status) Return the first CcSchedule filtered by the playout_status column + * @method CcSchedule findOneByDbBroadcasted(int $broadcasted) Return the first CcSchedule filtered by the broadcasted column * * @method array findByDbId(int $id) Return CcSchedule objects filtered by the id column * @method array findByDbStarts(string $starts) Return CcSchedule objects filtered by the starts column @@ -72,6 +75,7 @@ * @method array findByDbMediaItemPlayed(boolean $media_item_played) Return CcSchedule objects filtered by the media_item_played column * @method array findByDbInstanceId(int $instance_id) Return CcSchedule objects filtered by the instance_id column * @method array findByDbPlayoutStatus(int $playout_status) Return CcSchedule objects filtered by the playout_status column + * @method array findByDbBroadcasted(int $broadcasted) Return CcSchedule objects filtered by the broadcasted column * * @package propel.generator.airtime.om */ @@ -498,6 +502,37 @@ abstract class BaseCcScheduleQuery extends ModelCriteria return $this->addUsingAlias(CcSchedulePeer::PLAYOUT_STATUS, $dbPlayoutStatus, $comparison); } + /** + * Filter the query on the broadcasted column + * + * @param int|array $dbBroadcasted The value to use as filter. + * Accepts an associative array('min' => $minValue, 'max' => $maxValue) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return CcScheduleQuery The current query, for fluid interface + */ + public function filterByDbBroadcasted($dbBroadcasted = null, $comparison = null) + { + if (is_array($dbBroadcasted)) { + $useMinMax = false; + if (isset($dbBroadcasted['min'])) { + $this->addUsingAlias(CcSchedulePeer::BROADCASTED, $dbBroadcasted['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($dbBroadcasted['max'])) { + $this->addUsingAlias(CcSchedulePeer::BROADCASTED, $dbBroadcasted['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + return $this->addUsingAlias(CcSchedulePeer::BROADCASTED, $dbBroadcasted, $comparison); + } + /** * Filter the query by a related CcShowInstances object * diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml index 36e81a2b9..61a2f783d 100644 --- a/airtime_mvc/build/schema.xml +++ b/airtime_mvc/build/schema.xml @@ -281,6 +281,7 @@ +