function setUser($ids) { if (is_array($ids)) { if (!$this->isNew()) { //If needed, delete mappings first. $ppsulf = new PayPeriodScheduleUserListFactory(); $ppsulf->getByPayPeriodScheduleId($this->getId()); $user_ids = array(); foreach ($ppsulf as $pay_period_schedule) { $user_id = $pay_period_schedule->getUser(); Debug::text('Schedule ID: ' . $pay_period_schedule->getPayPeriodSchedule() . ' User ID: ' . $user_id, __FILE__, __LINE__, __METHOD__, 10); //Delete users that are not selected. if (!in_array($user_id, $ids)) { Debug::text('Deleting User: '******'s that need to be updated. Debug::text('NOT Deleting User: '******'' and isset($user_ids) and !in_array($id, $user_ids)) { $ppsuf = new PayPeriodScheduleUserFactory(); $ppsuf->setPayPeriodSchedule($this->getId()); $ppsuf->setUser($id); $user_obj = $ulf->getById($id)->getCurrent(); if ($this->Validator->isTrue('user', $ppsuf->Validator->isValid(), TTi18n::gettext('Selected Employee is already assigned to another Pay Period') . ' (' . $user_obj->getFullName() . ')')) { $ppsuf->save(); } } } return TRUE; } return FALSE; }