setTable('fakeldapusers'); $this->setDisplayField('id'); $this->setPrimaryKey('id'); } /** * Default validation rules. * * @param \Cake\Validation\Validator $validator * Validator instance. * @return \Cake\Validation\Validator */ public function validationDefault(Validator $validator) { $validator->integer('id')->allowEmpty('id', 'create'); $validator->notEmpty('sn', 'Un nom est nécessaire')->add('sn', 'valid', [ 'rule' => [ 'check_string' ], 'message' => 'Le champ doit être valide.', 'provider' => 'table' ]); $validator->notEmpty('uid', 'Un login est nécessaire') ->add('uid', 'valid', [ 'rule' => [ 'check_string' ], 'message' => 'Le champ doit être valide.', 'provider' => 'table' ]) ->add('uid', 'unique', [ 'rule' => 'validateUnique', 'provider' => 'table' ]); $validator->allowEmpty('userpassword'); $configuration = TableRegistry::get('Configurations')->find() ->where([ 'id =' => 1 ]) ->first(); if ($configuration->ldap_used) { $validator->allowEmpty('mail'); } else { $validator->email('mail')->notEmpty('email', 'Un adresse mail est nécessaire'); } return $validator; } /** * Returns a rules checker object that will be used for validating * application integrity. * * @param \Cake\ORM\RulesChecker $rules * The rules object to be modified. * @return \Cake\ORM\RulesChecker */ public function buildRules(RulesChecker $rules) { $rules->add($rules->isUnique([ 'uid' ])); // $rules->add($rules->isUnique(['email'])); return $rules; } function beforeSave($event, $entity, $options) { /* if (! empty($entity->get('newname')) && ! empty($entity->get('newgivenname'))) { $entity->set('nom', $entity->get('newname') . ' ' . $entity->get('newgivenname')); } */ return true; } }