<commit_before>import React, { PropTypes, Component } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { Link } from 'react-router';
import RaisedButton from 'material-ui/RaisedButton';
import DetailCommande from './DetailCommande';
import { calculeTotauxCommande } from 'containers/Commande/utils';
import { supprimerCommandeContenusFournisseur } from 'containers/Commande/actions';
import DetailCommandeTotal from './DetailCommandeTotal';

class CommandeFournisseur extends Component {
  // eslint-disable-line
  static propTypes = {
    contenus: PropTypes.object.isRequired,
    fournisseur: PropTypes.object.isRequired,
    commandeContenus: PropTypes.array.isRequired,
    offres: PropTypes.object.isRequired,
    produits: PropTypes.array.isRequired,
    commandeId: PropTypes.string.isRequired,
    supprimeCommandeContenusFournisseur: PropTypes.func.isRequired,
    key: PropTypes.string.isRequired,
  };

  handleSupprCommandeContenusFourn = event => {
    const {
      fournisseur,
      commandeId,
      supprimeCommandeContenusFournisseur,
    } = this.props;
    event.preventDefault();
    supprimeCommandeContenusFournisseur({
      fournisseurId: fournisseur.id,
      commandeId,
    });
  };

  render() {
    const {
      fournisseur,
      produits,
      commandeContenus,
      commandeId,
      offres,
      key,
    } = this.props;

    const contenusFournisseur = Object.keys(commandeContenus)
      .map(id => commandeContenus[id])
      .filter(c =>
        produits.find(
          pdt => pdt.id === offres[c.offreId].produitId && pdt.fournisseurId === fournisseur.id,
        ));

    const totaux = calculeTotauxCommande({
      filter: cc =>
        produits.find(
          pdt => pdt.id === offres[cc.offreId].produitId && pdt.fournisseurId === fournisseur.id,
        ),
      offres,
      commandeContenus,
      commandeId,
    });
    return (
      <div className="row" key={key}>
        <div className="col-md-8" style={{ margin: '3em 0 0.5em' }}>
          <h4>{fournisseur.nom.toUpperCase()}</h4>
        </div>
        <div className="col-md-4" style={{ textAlign: 'right', margin: '3em 0 0.5em' }}>
          <RaisedButton secondary label="Retirer" onClick={this.handleSupprCommandeContenusFourn} />
        </div>
        <div className="col-md-12">
          <DetailCommande
            contenusFiltered={contenusFournisseur}
            commandeContenus={Object.keys(commandeContenus).map(id => commandeContenus[id])}
            produits={produits}
            commandeId={commandeId}
            offres={offres}
          />
          <DetailCommandeTotal totaux={totaux} />
        </div>
      </div>
    );
  }
}

const mapDispatchToProps = dispatch =>
  bindActionCreators(
    {
      supprimeCommandeContenusFournisseur: supprimerCommandeContenusFournisseur,
    },
    dispatch,
  );

export default connect(null, mapDispatchToProps)(CommandeFournisseur);
<commit_msg>correction bug commande non filtrée<commit_after>import React, { PropTypes, Component } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { Link } from 'react-router';
import RaisedButton from 'material-ui/RaisedButton';
import DetailCommande from './DetailCommande';
import { calculeTotauxCommande } from 'containers/Commande/utils';
import {
  supprimerCommandeContenusFournisseur,
} from 'containers/Commande/actions';
import DetailCommandeTotal from './DetailCommandeTotal';

class CommandeFournisseur extends Component {
  // eslint-disable-line
  static propTypes = {
    contenus: PropTypes.object.isRequired,
    fournisseur: PropTypes.object.isRequired,
    commandeContenus: PropTypes.array.isRequired,
    offres: PropTypes.object.isRequired,
    produits: PropTypes.array.isRequired,
    commandeId: PropTypes.string.isRequired,
    supprimeCommandeContenusFournisseur: PropTypes.func.isRequired,
    key: PropTypes.string.isRequired,
  };

  handleSupprCommandeContenusFourn = event => {
    const {
      fournisseur,
      commandeId,
      supprimeCommandeContenusFournisseur,
    } = this.props;
    event.preventDefault();
    supprimeCommandeContenusFournisseur({
      fournisseurId: fournisseur.id,
      commandeId,
    });
  };

  render() {
    const {
      fournisseur,
      produits,
      commandeContenus,
      commandeId,
      offres,
      key,
    } = this.props;

    const contenusFournisseur = Object.keys(commandeContenus)
      .map(id => commandeContenus[id])
      .filter(
        c =>
          c.commandeId === commandeId &&
          produits.find(
            pdt =>
              pdt.id === offres[c.offreId].produitId &&
              pdt.fournisseurId === fournisseur.id,
          ),
      );

    const totaux = calculeTotauxCommande({
      filter: cc =>
        produits.find(
          pdt =>
            pdt.id === offres[cc.offreId].produitId &&
            pdt.fournisseurId === fournisseur.id,
        ),
      offres,
      commandeContenus,
      commandeId,
    });
    return (
      <div className="row" key={key}>
        <div className="col-md-8" style={{ margin: '3em 0 0.5em' }}>
          <h4>{fournisseur.nom.toUpperCase()}</h4>
        </div>
        <div
          className="col-md-4"
          style={{ textAlign: 'right', margin: '3em 0 0.5em' }}
        >
          <RaisedButton
            secondary
            label="Retirer"
            onClick={this.handleSupprCommandeContenusFourn}
          />
        </div>
        <div className="col-md-12">
          <DetailCommande
            contenusFiltered={contenusFournisseur}
            commandeContenus={Object.keys(commandeContenus).map(
              id => commandeContenus[id],
            )}
            produits={produits}
            commandeId={commandeId}
            offres={offres}
          />
          <DetailCommandeTotal totaux={totaux} />
        </div>
      </div>
    );
  }
}

const mapDispatchToProps = dispatch =>
  bindActionCreators(
    {
      supprimeCommandeContenusFournisseur: supprimerCommandeContenusFournisseur,
    },
    dispatch,
  );

export default connect(null, mapDispatchToProps)(CommandeFournisseur);

{'fraction_non_alphanumeric': 0.11440064360418342, 'fraction_numerical': 0.004505229283990346, 'mean_word_length': 2.711044776119403, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 45, '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': '6203493', 'n_tokens_mistral': 2033, 'n_tokens_neox': 2014, 'n_words': 326}