Fix Duplicate to Subsite functionality.

This commit is contained in:
Garion Herman 2017-06-04 15:05:59 +12:00
parent c2484365cf
commit 1975861aec
2 changed files with 6 additions and 7 deletions

View File

@ -348,12 +348,11 @@ class LeftAndMainSubsites extends Extension
/** /**
* @param array $data * @param array $data
* @param Form $form
*/ */
public function copytosubsite($data, $form) public function copytosubsite($data)
{ {
$page = DataObject::get_by_id(SiteTree::class, $data['ID']); $page = SiteTree::get()->byID($data['ID']);
$subsite = DataObject::get_by_id('Subsite', $data['CopyToSubsiteID']); $subsite = Subsite::get()->byID($data['CopyToSubsiteID']);
$includeChildren = isset($data['CopyToSubsiteWithChildren']) ? $data['CopyToSubsiteWithChildren'] : false; $includeChildren = isset($data['CopyToSubsiteWithChildren']) ? $data['CopyToSubsiteWithChildren'] : false;
$newPage = $page->duplicateToSubsite($subsite->ID, $includeChildren); $newPage = $page->duplicateToSubsite($subsite->ID, $includeChildren);

View File

@ -12,7 +12,7 @@ use SilverStripe\Core\Convert;
use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\CheckboxField;
use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\DropdownField;
use SilverStripe\Forms\FieldList; use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\InlineFormAction; use SilverStripe\Forms\FormAction;
use SilverStripe\Forms\ToggleCompositeField; use SilverStripe\Forms\ToggleCompositeField;
use SilverStripe\ORM\DataExtension; use SilverStripe\ORM\DataExtension;
use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DataObject;
@ -109,7 +109,7 @@ class SiteTreeSubsites extends DataExtension
$isDefaultSubsite = $this->owner->SubsiteID == 0 || $this->owner->Subsite()->DefaultSite; $isDefaultSubsite = $this->owner->SubsiteID == 0 || $this->owner->Subsite()->DefaultSite;
if ($isDefaultSubsite && $subsitesMap) { if ($isDefaultSubsite && $subsitesMap) {
$fields->addFieldsToTab( $fields->addFieldToTab(
'Root.Main', 'Root.Main',
ToggleCompositeField::create('SubsiteOperations', ToggleCompositeField::create('SubsiteOperations',
_t('SiteTreeSubsites.SubsiteOperations', 'Subsite Operations'), _t('SiteTreeSubsites.SubsiteOperations', 'Subsite Operations'),
@ -118,7 +118,7 @@ class SiteTreeSubsites extends DataExtension
'Copy page to subsite'), $subsitesMap), 'Copy page to subsite'), $subsitesMap),
new CheckboxField('CopyToSubsiteWithChildren', new CheckboxField('CopyToSubsiteWithChildren',
_t('SiteTreeSubsites.CopyToSubsiteWithChildren', 'Include children pages?')), _t('SiteTreeSubsites.CopyToSubsiteWithChildren', 'Include children pages?')),
$copyAction = new InlineFormAction( $copyAction = new FormAction(
'copytosubsite', 'copytosubsite',
_t('SiteTreeSubsites.CopyAction', 'Copy') _t('SiteTreeSubsites.CopyAction', 'Copy')
) )