New Control API to retrieve PTZ controls definitions. Refer https://github.com/ZoneMinder/ZoneMinder/issues/799#issuecomment-105233112

This commit is contained in:
Pliable Pixels 2015-06-08 17:49:51 +00:00
parent aa8f7da7e2
commit 444477d8a5
1 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,90 @@
<?php
App::uses('AppModel', 'Model');
/**
* Control Model
* For PTZ table access via APIs
* https://github.com/ZoneMinder/ZoneMinder/issues/799#issuecomment-105233112
*
* @property Event $Event
* @property Zone $Zone
*/
class Control extends AppModel {
/**
* Use table
*
* @var mixed False or table name
*/
public $useTable = 'Controls';
/**
* Primary key field
*
* @var string
*/
public $primaryKey = 'Id';
/**
* Display field
*
* @var string
*/
public $displayField = 'Name';
public $recursive = -1;
/**
* Validation rules
*
* @var array
*/
public $validate = array(
'Id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
);
//The Associations below have been created with all possible keys, those that are not needed can be removed
/**
* hasMany associations
*
* @var array
*/
public $hasMany = array(
'Event' => array(
'className' => 'Event',
'foreignKey' => 'ControlId',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Zone' => array(
'className' => 'Zone',
'foreignKey' => 'ControlId',
'dependent' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
}