2012-08-01 08:37:53 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Custom ItemRequest class the provides custom delete behaviour for the CMSFields of DMSDocument
|
|
|
|
*/
|
2015-12-17 19:48:37 +01:00
|
|
|
class DMSGridFieldDetailForm_ItemRequest extends GridFieldDetailForm_ItemRequest
|
|
|
|
{
|
|
|
|
private static $allowed_actions = array('ItemEditForm');
|
2012-08-01 08:37:53 +02:00
|
|
|
|
2015-12-17 19:48:37 +01:00
|
|
|
public function ItemEditForm()
|
|
|
|
{
|
|
|
|
$form = parent::ItemEditForm();
|
2012-08-01 08:37:53 +02:00
|
|
|
|
2015-12-17 19:48:37 +01:00
|
|
|
//add a data attribute specifying how many pages this document is referenced on
|
|
|
|
if ($record = $this->record) {
|
2017-05-09 00:13:13 +02:00
|
|
|
$numberOfPageRelations = $record->getRelatedPages()->count();
|
2015-12-17 19:48:37 +01:00
|
|
|
$relations = new ShortCodeRelationFinder();
|
|
|
|
$numberOfInlineRelations = $relations->findPageCount($record->ID);
|
2012-08-01 08:37:53 +02:00
|
|
|
|
2015-12-17 19:48:37 +01:00
|
|
|
//add the number of pages attached to this field as a data-attribute
|
|
|
|
$form->setAttribute('data-pages-count', $numberOfPageRelations);
|
|
|
|
$form->setAttribute('data-relation-count', $numberOfInlineRelations);
|
|
|
|
}
|
|
|
|
return $form;
|
|
|
|
}
|
2013-08-29 04:50:43 +02:00
|
|
|
}
|