Quantcast
Channel: Editor — DataTables forums
Viewing all articles
Browse latest Browse all 3740

Cascading list with leftjoin and Where clause

$
0
0

Good morning,

how to make sure that the Where clause is taken into account, perhaps it is badly positioned?

Javascript :

var editor; // use a global for the submit and return data rendering in the examples
 
$(document).ready(function() {
    editor = new $.fn.dataTable.Editor( {
        ajax: "Staff_Qualite.php",
        table: "#EditQualite",
        fields: [ {
                label: "Date :",
                name: "qualite_generale.date_qg",
                type: "datetime"
            }, {
                label: "Origine de la remontée :",
                name: "qualite_generale.origine_remontee_qg",
                type:  "select",
                placeholder: "Selectionner une origine",
                options: [
                    { label: "Interne", value: "Interne" },
                    { label: "Externe", value: "Externe" }
                ]
            }, {
                label: "Importance :",
                name: "qualite_generale.importance_qg",
                type:  "select",
                placeholder: "Selectionner une Importance",
                options: [
                    { label: "Basse", value: "Basse" },
                    { label: "Moyenne", value: "Moyenne" },
                    { label: "Haute", value: "Haute" }
                ]
            }, {
                label: "Nom du client :",
                name: "qualite_generale.id_qualite_clients_qg",
                type: "select",
                placeholder: "Selectionner un client"
            }, {
                label: "Cofor :",
                name: "qualite_generale.id_qualite_cofor_qg",
                type: "select",
                placeholder: "Selectionner un Cofor"
            }, {
                label: "Secteur :",
                name: "qualite_generale.nom_wms_erp_qg",
                type: "select",
                placeholder: "Selectionner un Secteur",
                options: [
                    { label: "GEOLOG", value: "GEOLOG" },
                    { label: "ITEM", value: "ITEM" },
                    { label: "SAP", value: "SAP" },
                    { label: "WMS", value: "WMS" }
                ]
            }, {
                label: "Pilote :",
                name: "qualite_generale.pilote_qg"
            }, {
                label: "N° réclamation client :",
                name: "qualite_generale.num_reclamation_client_qg"
            }, {
                label: "Description de l'anomalie :",
                name: "qualite_generale.descriptif_anomalie_qg"
            }, {
                label: "Analyse de l'anomalie :",
                name: "qualite_generale.analyse_anomalie_qg"
            }, {
                label: "Action à mettre en place :",
                name: "qualite_generale.action_mise_en_place_qg"
            }, {
                label: "Etat de l'action :",
                name: "qualite_generale.etat_action_qg",
                type: "select",
                placeholder: "Selectionner un Etat",
                options: [
                    { label: "En cours", value: "1" },
                    { label: "Retard", value: "2" },
                    { label: "Validée", value: "3" }
                ]
            }, {
                label: "NC Catégorie :",
                name: "qualite_generale.id_qualite_motif_qg",
                type: "select"
            }, {
                label: "NC motif :",
                name: "qualite_generale.id_qualite_detail_motif_qg",
                type: "select"
            }, {
                label: "N° de facture :",
                name: "qualite_generale.num_facture_qg"
            }, {
                label: "Montant facture :",
                name: "qualite_generale.montant_qg"
            }, {
                label: "Responsabilité :",
                name: "qualite_generale.responsabilite_qg",
                type: "select",
                placeholder: "Selectionner une Responsabilité",
                options: [
                    { label: "GEFCO", value: "GEFCO" },
                    { label: "CLIENT", value: "CLIENT" },
                    { label: "FOURNISSEUR", value: "FOURNISSEUR" },
                    { label: "SOUS-TRAITANT", value: "SOUS-TRAITANT" }
                ]
            }
        ]
    } );

    //cascading fild list
    editor.dependent( 'qualite_generale.id_qualite_motif_qg', 'dependent_motif_detailMotif.php' );
    editor.dependent( 'qualite_generale.id_qualite_clients_qg', 'dependent_client_cofor.php' );


     $('#EditQualite').DataTable( {
        dom: "Bfrtip",
        ajax: {
            url: "Staff_Qualite.php",
            type: "POST"
        },
        serverSide: true,
        columns: [
            { data: "qualite_generale.date_qg" },
            { data: "qualite_generale.origine_remontee_qg" },
            { data: "qualite_generale.importance_qg" },
            { data: "qualite_clients.nom_qc" },
            { data: "qualite_cofor.nom_cofor_qco" },
            { data: "qualite_generale.pilote_qg" },
            { data: "qualite_generale.num_reclamation_client_qg" },
            { data: "qualite_generale.descriptif_anomalie_qg" },
            { data: "qualite_generale.analyse_anomalie_qg" },
            { data: "qualite_generale.action_mise_en_place_qg" },
            { data: "qualite_generale.etat_action_qg", 
                render: function(data, type, row) {
                    var maValeur = '';
                   if (data === "1"){maValeur = 'En cours';}
                   if (data === "2"){maValeur = 'Retard';}
                   if (data === "3"){maValeur = 'Validée';}
                  
                   return maValeur;
                }
            },
            { data: "qualite_motif.motif" },
            { data: "qualite_detail_motif.detail_qdm" },
            { data: "qualite_generale.num_facture_qg" },
            { data: "qualite_generale.montant_qg" },
            { data: "qualite_generale.responsabilite_qg" }
        ],
         select: true,
        buttons: [
            { extend: 'create', editor: editor },
            { extend: 'edit',   editor: editor }
        ]
    } );
} );

PHP :

// Build our Editor instance and process the data coming from _POST
Editor::inst( $db, 'qualite_generale', 'id_qg' )
    ->fields(
        
        Field::inst( 'qualite_generale.date_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.origine_remontee_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.importance_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        //CLIENT
        Field::inst( 'qualite_generale.id_qualite_clients_qg' )
        ->options( Options::inst()
            ->table( 'qualite_clients' )
            ->value( 'id_qc' )
            ->label( 'nom_qc' )
        )
        ->validator( Validate::dbValues() ),
    Field::inst( 'qualite_clients.nom_qc' ),
            
            
        //COFOR
        Field::inst( 'qualite_generale.id_qualite_cofor_qg' )
        ->options( Options::inst()
            ->table( 'qualite_cofor' )
            ->value( 'id_qco' )
            ->label( 'nom_cofor_qco' )
        )
        ->validator( Validate::dbValues() ),
    Field::inst( 'qualite_cofor.nom_cofor_qco' ),
            
            
        Field::inst( 'qualite_generale.nom_wms_erp_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.pilote_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.num_reclamation_client_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.descriptif_anomalie_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.analyse_anomalie_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.action_mise_en_place_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.etat_action_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        //MOTIF
        Field::inst( 'qualite_generale.id_qualite_motif_qg' )
        ->options( Options::inst()
            ->table( 'qualite_motif' )
            ->value( 'id_qm' )
            ->label( 'motif' )
        )
        ->validator( Validate::dbValues() ),
    Field::inst( 'qualite_motif.motif' ),
            
            
        //DETAIL MOTIF
        Field::inst( 'qualite_generale.id_qualite_detail_motif_qg' )
        ->options( Options::inst()
            ->table( 'qualite_detail_motif' )
            ->value( 'id_qdm' )
            ->label( 'detail_qdm' )
        )
        ->validator( Validate::dbValues() ),
    Field::inst( 'qualite_detail_motif.detail_qdm' ),
        
        
        Field::inst( 'qualite_generale.num_facture_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.montant_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ),
        Field::inst( 'qualite_generale.responsabilite_qg' )
            ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'A name is required' )   
            ) ) 
    )   
        
    ->leftJoin( 'qualite_motif', 'qualite_motif.id_qm', '=', 'qualite_generale.id_qualite_motif_qg' )
    ->leftJoin( 'qualite_detail_motif', 'qualite_detail_motif.id_qdm', '=', 'qualite_generale.id_qualite_detail_motif_qg' )
    ->leftJoin( 'qualite_clients', 'qualite_clients.id_qc', '=', 'qualite_generale.id_qualite_clients_qg' )
    ->leftJoin( 'qualite_cofor', 'qualite_cofor.id_qco', '=', 'qualite_generale.id_qualite_cofor_qg' )
    ->where('qualite_generale.id_site_whs_qg', $Id_WHS, '=')
    ->where('qualite_clients.id_whs_qc', $Id_WHS, '=')
    ->where('qualite_cofor.id_whs_qco', $Id_WHS, '=')
    ->process( $_POST )
    ->json();

Viewing all articles
Browse latest Browse all 3740

Trending Articles