Valider b18077e2 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

build: provision des actions sur pipeline post_edition + fix pipeline pre_edition

parent e63153c9
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+33 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -45,6 +45,39 @@ function livraison_pre_edition(array $flux) : array {
	return $flux;
}

function livraison_post_edition(array $flux) : array {
	if ($flux['args']['action'] === 'instituer') {
		if ($flux['args']['table'] === 'spip_commandes'
			and $id_commande = $flux['args']['id_objet']
		    and !empty($flux['data']['statut'])) {

			if ($flux['data']['statut'] === 'paye') {
				if (empty($id_bordereaulivreaisons)) {
					// TODO : verifier si la commande a ete completement envoyee (parce que produits virtuels)
					// et le cas echeant la passer en envoye
				}
			}

		}
		if ($flux['args']['table'] === 'spip_bordereaulivraisons'
			and $id_bordereaulivraison = $flux['args']['id_objet']
		    and !empty($flux['data']['statut'])) {

			// declencher les actions
			if ($flux['data']['statut'] === 'envoye'
			  or ($flux['data']['statut'] === 'livre' and in_array($flux['args']['statut_ancien'], array('prepa', 'prop')))) {
				// TODO : mettre a jour le statut des details concernés et de la commande
			}

			if ($flux['data']['statut'] === 'livre' and empty($flux['data']['date_livre'])) {
				$flux['data']['date_livre'] = date('Y-m-d H:i:s');
			}
		}

	}

	return $flux;
}

function livraison_afficher_contenu_objet($flux){

+2 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -23,6 +23,8 @@
	<pipeline nom="affiche_milieu" inclure="livraison_pipelines.php" />
	<pipeline nom="bank_dsp2_renseigner_facturation" inclure="livraison_pipelines.php" />
	<pipeline nom="post_insertion" inclure="livraison_pipelines.php" />
	<pipeline nom="pre_edition" inclure="livraison_pipelines.php" />
	<pipeline nom="post_edition" inclure="livraison_pipelines.php" />

	<pipeline nom="declarer_tables_objets_sql" inclure="base/livraison.php" />
	<pipeline nom="declarer_tables_interfaces" inclure="base/livraison.php" />