<commit_before><?php

class SV12UpdateAddProduitForm extends acCouchdbForm 
{
  protected $_sv12 = null;
  protected $_config = null;
  protected $_choices_produits;
  
  public function __construct(SV12 $sv12, $options = array(), $CSRFSecret = null) 
  {
    $this->_sv12 = $sv12;
    $defaults = array('withviti' => 'withviti');
    parent::__construct($sv12, $defaults, $options, $CSRFSecret);
  }
  
    public function configure() 
    {
      $this->setWidgets(array(
			      'hashref' => new sfWidgetFormChoice(array('choices' => $this->getChoices())),
			      'raisinetmout' => new sfWidgetFormChoice(array('choices' => array(VracClient::TYPE_TRANSACTION_RAISINS => 'Raisins', VracClient::TYPE_TRANSACTION_MOUTS => 'Moûts'), 'expanded'=>true)),
			      'identifiant' => new  WidgetEtablissement(array('interpro_id' => 'INTERPRO-inter-loire', 'familles' => array(EtablissementFamilles::FAMILLE_PRODUCTEUR))),
			      'withviti' => new  sfWidgetFormInputCheckbox(array('value_attribute_value' => 'withviti'))
			      ));
      
      $this->widgetSchema->setLabels(array(
					   'hashref' => 'Produit&nbsp;: ', 
					   'raisinetmout' => 'Raisins et moûts&nbsp;:', 
					   'identifiant' => 'Viticulteur&nbsp;:', 
					   'withviti' => "Affecter l'enlevement à un viti"
					   ));

      $this->setValidators(array(
				 'hashref'  => new sfValidatorChoice(array('required' => true,  'choices' => array_keys($this->getProduits())),array('required' => "Aucun produit n'a été saisi !")),
				 'raisinetmout' => new sfValidatorChoice(array('choices' => array(VracClient::TYPE_TRANSACTION_RAISINS, VracClient::TYPE_TRANSACTION_MOUTS), 'required' => false)),
				 'identifiant' => new ValidatorEtablissement(array('required' => false)),
				 'withviti' => new sfValidatorChoice(array('required' => false, 'choices' => array('withviti')))
				 ));

      $this->validatorSchema->setPostValidator(new SV12AddProduitValidator());
      $this->widgetSchema->setNameFormat('sv12_add_produit[%s]');
    }

    public function getChoices() 
    {
        if (is_null($this->_choices_produits)) {
	  $this->_choices_produits = array_merge(array("" => ""),
						 array("nouveau" => $this->getProduits()));
        }
        return $this->_choices_produits;
    }

    public function getProduits() 
    {

        return $this->_sv12->getConfigProduits();
    }

    public function addProduit() 
    {
      if (!$this->isValid()) {
	throw $this->getErrorSchema();
      }
      if (!isset($this->values['withviti']) || !$this->values['withviti']) {
	$sv12Contrat = $this->_sv12->contrats->add(SV12Client::SV12_KEY_SANSVITI.str_replace('/', '-', $this->values['hashref']));
	$sv12Contrat->updateNoContrat($this->getConfig()->get($this->values['hashref']));
	return $sv12Contrat;
      }

      $etablissement = EtablissementClient::getInstance()->find($this->values['identifiant']);

      $sv12Contrat = $this->_sv12->contrats->add(SV12Client::SV12_KEY_SANSCONTRAT.'-'.$etablissement->identifiant.'-'.$this->values['raisinetmout'].str_replace('/', '-', $this->values['hashref']));
      echo "update no contrat avec viti\n";
      $sv12Contrat->updateNoContrat($this->getConfig()->get($this->values['hashref']), array('vendeur_identifiant' => $etablissement->identifiant, 'vendeur_nom' => $etablissement->nom, 'contrat_type' => $this->values['raisinetmout']));
      
    }
}<commit_msg>erreur dans le formulaire Sv12 des sanscontrat<commit_after><?php

class SV12UpdateAddProduitForm extends acCouchdbForm 
{
  protected $_sv12 = null;
  protected $_config = null;
  protected $_choices_produits;
  
  public function __construct(SV12 $sv12, $options = array(), $CSRFSecret = null) 
  {
    $this->_sv12 = $sv12;
    $this->_config = $sv12->getConfig();
    $defaults = array('withviti' => 'withviti');
    parent::__construct($sv12, $defaults, $options, $CSRFSecret);
  }
  
    public function configure() 
    {
      $this->setWidgets(array(
			      'hashref' => new sfWidgetFormChoice(array('choices' => $this->getChoices())),
			      'raisinetmout' => new sfWidgetFormChoice(array('choices' => array(VracClient::TYPE_TRANSACTION_RAISINS => 'Raisins', VracClient::TYPE_TRANSACTION_MOUTS => 'Moûts'), 'expanded'=>true)),
			      'identifiant' => new  WidgetEtablissement(array('interpro_id' => 'INTERPRO-inter-loire', 'familles' => array(EtablissementFamilles::FAMILLE_PRODUCTEUR))),
			      'withviti' => new  sfWidgetFormInputCheckbox(array('value_attribute_value' => 'withviti'))
			      ));
      
      $this->widgetSchema->setLabels(array(
					   'hashref' => 'Produit&nbsp;: ', 
					   'raisinetmout' => 'Raisins et moûts&nbsp;:', 
					   'identifiant' => 'Viticulteur&nbsp;:', 
					   'withviti' => "Affecter l'enlevement à un viti"
					   ));

      $this->setValidators(array(
				 'hashref'  => new sfValidatorChoice(array('required' => true,  'choices' => array_keys($this->getProduits())),array('required' => "Aucun produit n'a été saisi !")),
				 'raisinetmout' => new sfValidatorChoice(array('choices' => array(VracClient::TYPE_TRANSACTION_RAISINS, VracClient::TYPE_TRANSACTION_MOUTS), 'required' => false)),
				 'identifiant' => new ValidatorEtablissement(array('required' => false)),
				 'withviti' => new sfValidatorChoice(array('required' => false, 'choices' => array('withviti')))
				 ));

      $this->validatorSchema->setPostValidator(new SV12AddProduitValidator());
      $this->widgetSchema->setNameFormat('sv12_add_produit[%s]');
    }

    public function getChoices() 
    {
        if (is_null($this->_choices_produits)) {
	  $this->_choices_produits = array_merge(array("" => ""),
						 array("nouveau" => $this->getProduits()));
        }
        return $this->_choices_produits;
    }

    public function getProduits() 
    {

        return $this->_sv12->getConfigProduits();
    }

    public function addProduit() 
    {
      if (!$this->isValid()) {
	throw $this->getErrorSchema();
      }
      if (!isset($this->values['withviti']) || !$this->values['withviti']) {
	$sv12Contrat = $this->_sv12->contrats->add(SV12Client::SV12_KEY_SANSVITI.str_replace('/', '-', $this->values['hashref']));
	$sv12Contrat->updateNoContrat($this->getConfig()->get($this->values['hashref']));
	return $sv12Contrat;
      }

      $etablissement = EtablissementClient::getInstance()->find($this->values['identifiant']);

      $sv12Contrat = $this->_sv12->contrats->add(SV12Client::SV12_KEY_SANSCONTRAT.'-'.$etablissement->identifiant.'-'.$this->values['raisinetmout'].str_replace('/', '-', $this->values['hashref']));
      echo "update no contrat avec viti\n";
      $sv12Contrat->updateNoContrat($this->getConfig()->get($this->values['hashref']), array('vendeur_identifiant' => $etablissement->identifiant, 'vendeur_nom' => $etablissement->nom, 'contrat_type' => $this->values['raisinetmout']));
      
    }
    
    public function getConfig() {
        return $this->_config;
    }
}
{'fraction_non_alphanumeric': 0.18013856812933027, 'fraction_numerical': 0.012702078521939953, 'mean_word_length': 4.317728319263239, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 162, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2563884', 'n_tokens_mistral': 2533, 'n_tokens_neox': 2340, 'n_words': 319}