2
class iHRIS_Module_One_Day extends I2CE_Module {
3
public static function getMethods() {
5
'iHRIS_PageView->action_person_one_day' => 'action_person_one_day'
11
public function action_person_one_day($obj) {
12
if (!$obj instanceof iHRIS_PageView) {
15
return $obj->addChildForms('person_one_day');
18
public static function getHooks() {
20
'validate_form_person_one_day' => 'validate_form_person_one_day',
25
public function validate_form_person_one_day( $form ) {
26
if ( $form->training_date->isValid() ) {
28
$form->getField( 'training_date' )->setInvalid( 'Please enter a correct date.' );
33
$personID = $form->getParent();
34
$ids = I2CE_FormStorage::search('person_one_day', $personID );
35
//which would get the ids of the trainings for the person with id 'person|23123'.
37
//You can then loop through each of these ids....
38
$form_factory = I2CE_FormFactory::instance();
40
foreach($ids as $id) {
41
$trainingObj = $form_factory->createContainer('person_one_day|' . $id);
42
if (!$trainingObj instanceof iHRIS_PersonOne_Day) {
45
$trainingObj->populate();
47
//do the checks for the dates here.
48
if ( $form->training_date->compare( $trainingObj->training_date ) == 0 ) {
56
$form->getField( "training_date" )->setInvalid( "Person cannot attend same training on same day" );