CC-1805: Ability to edit a show
-All cases for "When" tab should be covered for editing shows.
This commit is contained in:
parent
64124175c5
commit
ea11e0114a
|
@ -138,6 +138,7 @@ class Show {
|
||||||
$showId = $this->getId();
|
$showId = $this->getId();
|
||||||
$sql = "DELETE FROM cc_show_instances"
|
$sql = "DELETE FROM cc_show_instances"
|
||||||
." WHERE EXTRACT(DOW FROM starts) IN ($uncheckedDaysImploded)"
|
." WHERE EXTRACT(DOW FROM starts) IN ($uncheckedDaysImploded)"
|
||||||
|
." AND starts > current_timestamp "
|
||||||
." AND show_id = $showId";
|
." AND show_id = $showId";
|
||||||
|
|
||||||
$CC_DBC->query($sql);
|
$CC_DBC->query($sql);
|
||||||
|
@ -251,6 +252,19 @@ class Show {
|
||||||
$showId = $this->getId();
|
$showId = $this->getId();
|
||||||
$sql = "DELETE FROM cc_show_instances "
|
$sql = "DELETE FROM cc_show_instances "
|
||||||
."WHERE date(starts) > DATE '$p_date' "
|
."WHERE date(starts) > DATE '$p_date' "
|
||||||
|
."AND starts > current_timestamp "
|
||||||
|
."AND show_id = $showId";
|
||||||
|
|
||||||
|
$CC_DBC->query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeAllInstancesBeforeDate($p_date){
|
||||||
|
global $CC_DBC;
|
||||||
|
|
||||||
|
$showId = $this->getId();
|
||||||
|
$sql = "DELETE FROM cc_show_instances "
|
||||||
|
."WHERE date(starts) < DATE '$p_date' "
|
||||||
|
."AND starts > current_timestamp "
|
||||||
."AND show_id = $showId";
|
."AND show_id = $showId";
|
||||||
|
|
||||||
$CC_DBC->query($sql);
|
$CC_DBC->query($sql);
|
||||||
|
@ -288,12 +302,13 @@ class Show {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAllInstanceIds(){
|
public function getAllFutureInstanceIds(){
|
||||||
global $CC_DBC;
|
global $CC_DBC;
|
||||||
|
|
||||||
$showId = $this->getId();
|
$showId = $this->getId();
|
||||||
$sql = "SELECT id from cc_show_instances "
|
$sql = "SELECT id from cc_show_instances "
|
||||||
." WHERE show_id = $showId";
|
." WHERE show_id = $showId"
|
||||||
|
." AND starts > current_timestamp";
|
||||||
|
|
||||||
$rows = $CC_DBC->GetAll($sql);
|
$rows = $CC_DBC->GetAll($sql);
|
||||||
|
|
||||||
|
@ -316,7 +331,8 @@ class Show {
|
||||||
|
|
||||||
$sql = "UPDATE cc_show_instances "
|
$sql = "UPDATE cc_show_instances "
|
||||||
."SET ends = starts + INTERVAL '$p_data[add_show_duration]' "
|
."SET ends = starts + INTERVAL '$p_data[add_show_duration]' "
|
||||||
."WHERE show_id = $p_data[add_show_id]";
|
."WHERE show_id = $p_data[add_show_id] "
|
||||||
|
."AND starts > current_timestamp";
|
||||||
$CC_DBC->query($sql);
|
$CC_DBC->query($sql);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -344,10 +360,11 @@ class Show {
|
||||||
$sql = "UPDATE cc_show_instances "
|
$sql = "UPDATE cc_show_instances "
|
||||||
."SET starts = starts + INTERVAL '$diff sec', "
|
."SET starts = starts + INTERVAL '$diff sec', "
|
||||||
."ends = ends + INTERVAL '$diff sec' "
|
."ends = ends + INTERVAL '$diff sec' "
|
||||||
."WHERE show_id = $p_data[add_show_id]";
|
."WHERE show_id = $p_data[add_show_id] "
|
||||||
|
."AND starts > current_timestamp";
|
||||||
$CC_DBC->query($sql);
|
$CC_DBC->query($sql);
|
||||||
|
|
||||||
$showInstanceIds = $this->getAllInstanceIds();
|
$showInstanceIds = $this->getAllFutureInstanceIds();
|
||||||
if (count($showInstanceIds) > 0 && $diff != 0){
|
if (count($showInstanceIds) > 0 && $diff != 0){
|
||||||
$showIdsImploded = implode(",", $showInstanceIds);
|
$showIdsImploded = implode(",", $showInstanceIds);
|
||||||
$sql = "UPDATE cc_schedule "
|
$sql = "UPDATE cc_schedule "
|
||||||
|
@ -410,6 +427,12 @@ class Show {
|
||||||
|| $p_data['add_show_start_time'] != $p_show->getStartTime()){
|
|| $p_data['add_show_start_time'] != $p_show->getStartTime()){
|
||||||
//start date/time has changed
|
//start date/time has changed
|
||||||
|
|
||||||
|
$newDate = strtotime($p_data['add_show_start_date']);
|
||||||
|
$oldDate = strtotime($p_show->getStartDate());
|
||||||
|
if ($newDate > $oldDate){
|
||||||
|
$p_show->removeAllInstancesBeforeDate($p_data['add_show_start_date']);
|
||||||
|
}
|
||||||
|
|
||||||
$p_show->updateStartDateTime($p_data, $p_endDate);
|
$p_show->updateStartDateTime($p_data, $p_endDate);
|
||||||
}
|
}
|
||||||
if ($p_data['add_show_duration'] != $p_show->getDuration()){
|
if ($p_data['add_show_duration'] != $p_show->getDuration()){
|
||||||
|
|
Loading…
Reference in New Issue