ConfigurationsTable.php 3.85 KB
<?php
namespace App\Model\Table;

use App\Model\Entity\Configuration;
use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;

/**
 * Configurations Model
 *
 */
class ConfigurationsTable extends AppTable
{

    /**
     * Initialize method
     *
     * @param array $config The configuration for the Table.
     * @return void
     */
    public function initialize(array $config)
    {
        parent::initialize($config);

        $this->table('configurations');
        $this->displayField('id');
        $this->primaryKey('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
            ->requirePresence('nom', 'create')
            ->notEmpty('nom')
            ->add('nom', 'unique', ['rule' => 'validateUnique', 'provider' => 'table']);

        $validator
            ->boolean('mode_install')
            ->allowEmpty('mode_install');

        $validator
            ->boolean('mode_debug')
            ->allowEmpty('mode_debug');

        $validator
            ->boolean('use_ldap')
            ->allowEmpty('use_ldap');

        $validator
            ->allowEmpty('host_ldap');

        $validator
            ->allowEmpty('port_ldap');

        $validator
            ->allowEmpty('authentificationType_ldap');

        $validator
            ->allowEmpty('baseDn_ldap');

        $validator
            ->allowEmpty('filter_ldap');

        $validator
            ->notEmpty('labName');

        $validator
            ->notEmpty('labNameShort');

        $validator
            ->notEmpty('labPresent');

        $validator
            ->allowEmpty('labUmr');

        $validator
            ->boolean('hasPrinter')
            ->allowEmpty('hasPrinter');

        $validator
            ->notEmpty('nom_groupe_thematique');
            
        $validator
            ->notEmpty('nom_groupe_metier');
            
        $validator
            ->allowEmpty('envoi_mail_management_dev');
            
        $validator
        	->notEmpty('sender_mail')
        	->add('sender_mail', 'valid', ['rule' => 'check_mail', 'message' => 'Le champ doit être une adresse email.', 'provider' => 'table']);

        $validator
            ->allowEmpty('emailGuest1');
            
        $validator
            ->allowEmpty('emailGuest2');

        $validator
            ->allowEmpty('emailGuest3');
        
        $validator
            ->allowEmpty('emailGuest4');
            
        $validator
            ->allowEmpty('emailGuest5');
        
        $validator
            ->allowEmpty('emailGuest6');
            
        $validator
            ->allowEmpty('emailGuest7');
            
        $validator
            ->allowEmpty('emailGuest8');
            
        $validator
            ->allowEmpty('emailGuest9');
            
        $validator
            ->allowEmpty('emailGuest10');

        $validator
            ->allowEmpty('test');
        
        $validator
            ->notEmpty('prix_inventaire_administratif');
        
        $validator
            ->notEmpty('taille_max_doc');
        
        $validator
            ->allowEmpty('date_commande_facultative');
            
        $validator
            ->allowEmpty('numero_labo_sans_annee');
           
        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(['nom']));
        return $rules;
    }
}