silverstripe-dms/code/cms/DMSGridFieldDetailForm.php
Robbie Averill e4bc553521 API Add document sets, remove *Page methods from DMSDocument
* Add 2.0.0 changelog
* Update DMSInterface and DMSDocumentInterface removing *page and adding getDocumentSetsByPage to DMSInterface
* Update use documentation and update unit tests

This commit changes the relationship from Pages has_many Documents to Pages has_many DocumentSets which are many_many to Documents. The upload field has been upated to attach documents to a set instead of a page, the tests updated and the DMSInterface and DMSDocumentInterface updated to be less relevant to pages and more relevant to document sets.
2017-05-09 13:04:29 +12:00

27 lines
957 B
PHP

<?php
/**
* Custom ItemRequest class the provides custom delete behaviour for the CMSFields of DMSDocument
*/
class DMSGridFieldDetailForm_ItemRequest extends GridFieldDetailForm_ItemRequest
{
private static $allowed_actions = array('ItemEditForm');
public function ItemEditForm()
{
$form = parent::ItemEditForm();
//add a data attribute specifying how many pages this document is referenced on
if ($record = $this->record) {
$numberOfPageRelations = $record->getRelatedPages()->Count();
$relations = new ShortCodeRelationFinder();
$numberOfInlineRelations = $relations->findPageCount($record->ID);
//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;
}
}