|
@@ 1363-1372 (lines=10) @@
|
| 1360 |
|
* @param Member $member |
| 1361 |
|
* @return bool |
| 1362 |
|
*/ |
| 1363 |
|
public function canViewStage($stage = 'Live', $member = null) { |
| 1364 |
|
$oldMode = Versioned::get_reading_mode(); |
| 1365 |
|
Versioned::set_stage($stage); |
| 1366 |
|
|
| 1367 |
|
$owner = $this->owner; |
| 1368 |
|
$versionFromStage = DataObject::get($owner->class)->byID($owner->ID); |
| 1369 |
|
|
| 1370 |
|
Versioned::set_reading_mode($oldMode); |
| 1371 |
|
return $versionFromStage ? $versionFromStage->canView($member) : false; |
| 1372 |
|
} |
| 1373 |
|
|
| 1374 |
|
/** |
| 1375 |
|
* Determine if a table is supporting the Versioned extensions (e.g. |
|
@@ 2187-2197 (lines=11) @@
|
| 2184 |
|
* @param boolean $forceInsert |
| 2185 |
|
* @return int The ID of the record |
| 2186 |
|
*/ |
| 2187 |
|
public function writeToStage($stage, $forceInsert = false) { |
| 2188 |
|
$oldMode = Versioned::get_reading_mode(); |
| 2189 |
|
Versioned::set_stage($stage); |
| 2190 |
|
|
| 2191 |
|
$owner = $this->owner; |
| 2192 |
|
$owner->forceChange(); |
| 2193 |
|
$result = $owner->write(false, $forceInsert); |
| 2194 |
|
Versioned::set_reading_mode($oldMode); |
| 2195 |
|
|
| 2196 |
|
return $result; |
| 2197 |
|
} |
| 2198 |
|
|
| 2199 |
|
/** |
| 2200 |
|
* Roll the draft version of this record to match the published record. |