Source of file ProcessCase.php
Size: 2,584 Bytes - Last Modified: 2022-02-21T10:00:36+00:00
/var/www/docs.ssmods.com/process/src/code/models/ProcessCase.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | <?php /* **/ class ProcessCase extends DataObject implements PermissionProvider { public static $db = array( 'Title'=>'Varchar(255)', 'Order'=>'Int' ); public static $has_many = array( 'ProcessInfo'=>'ProcessInfo' ); public static $has_one = array( 'ParentProcess'=>'Process' ); public static $default_sort = 'Order'; public function getCMSFields(){ $fields = parent::getCMSFields(); $fields->removeByName('Order'); $fields->removeByName('Title'); $fields->removeByName('ProcessInfo'); $fields->removeByName('ParentProcessID'); $fields->addFieldToTab('Root.Main', $processSteps = new CompositeField( $title = new TextField('Title','Title') )); $title->addExtraClass('process-noborder'); $processSteps->addExtraClass('process-step'); $fields->addFieldToTab('Root.Main', $processSteps = new CompositeField( new GridField( 'ProcessInfo', 'Information for this case', $this->ProcessInfo(), GridFieldConfig_RecordViewer::create()) )); $processes = Process::get(); if ($processes) { $fields->insertAfter( $inner = new CompositeField( new LiteralField('ExplainStop', '<label class="right">This must be set after you create a process</label>' ), $processesOptions = new DropdownField( 'ParentProcessID', 'Process', $processes->map('ID', 'Title') ) ),'Title'); $inner->addExtraClass('message special'); } $processSteps->addExtraClass('process-step'); $fields->insertBefore(new LiteralField('StageTitle', '<h3 class="process-info-header"> <span class="step-label"> <span class="flyout">0.1</span><span class="arrow"></span> <span class="title">Case details</span> </span> </h3>'),'Title'); $fields->insertBefore(new LiteralField('StageTitle', '<h3 class="process-info-header"> <span class="step-label"> <span class="flyout">0.2</span><span class="arrow"></span> <span class="title">Associated Information Pieces</span> </span> </h3>'),'ProcessInfo'); return $fields; } public function providePermissions() { return array( 'PROCESS_FLOW_VIEW' => array( 'name' => 'View process map admin', 'category' => 'Process Maps', ), 'PROCESS_FLOW_EDIT' => array( 'name' => 'Edit process flows', 'category' => 'Process Maps', ), 'PROCESS_FLOW_DELETE' => array( 'name' => 'Delete from process flows', 'category' => 'Process Maps', ), 'PROCESS_FLOW_CREATE' => array( 'name' => 'Create process maps', 'category' => 'Process Maps' ) ); } } |