Archives de la liste d​e​v​@p​a​h​e​k​o​.c​l​o​u​d​

API : créer une association entre deux écritures

bohwaz/Paheko

19/03/2024 23:10:09

linked_transactions=$transactions

A remplacer par :

transactions=$transactions

API : créer une association entre deux écritures

lesanges at murena.io via dev

20/03/2024 09:00:19

désolé, mais non ; j'avais déjà essayé toutes les combinaisons :

linked_transactions=$transactions
transactions=$transactions
chacune seule, les deux combinées
idem avec un tableau nommé linked_transactions

Voici le code de la fonction appelée dans API.php :

protected function accounting(string $uri): ?array
...

elseif ($p1 && ctype_digit($p1) && $p2 == 'transactions') {
   $transaction = Transactions::get((int)$p1);
...
   if ($this->method === 'POST') {
     $this->requireAccess(Session::ACCESS_WRITE);
     $transaction->updateLinkedTransactions((array)($_POST['transactions'] ??

null));

=> à cet endroit $_POST['transactions'] n'est pas défini, quelle que
soit la 
façon dont j'écris l'appel

un peu plus haut dans le code on trouve :

if (!$p1) {
...
   if (!empty($this->params['linked_transactions'])) {
$transaction->updateLinkedTransactions((array)$this->params['linked_transactions']);
   }

et à mon avis, c'est ça qui manque... d'où ma proposition de patch :-)

Jean-Christophe

Le 19/03/2024 à 23:09, bohwaz/Paheko a écrit :
> linked_transactions=$transactions
> 
> A remplacer par :
> 
> transactions=$transactions

API : créer une association entre deux écritures

BohwaZ/Paheko

20/03/2024 12:08:43

Ah oui j'ai compris, c'est pas un souci de nom de variable, mais un
souci que $_POST n'existe pas dans les appels à l'API depuis un module.
Du coup moi je testais l'API avec curl et ça marchait bien.

Voici le correctif : https://fossil.kd2.org/paheko/info/b4dc48f8e682c7ce

API : créer une association entre deux écritures

lesanges at murena.io via dev

20/03/2024 13:44:19

cinx :)

Jean-Christophe

Le 20/03/2024 à 12:08, BohwaZ/Paheko a écrit :
> Ah oui j'ai compris, c'est pas un souci de nom de variable, mais un
> souci que $_POST n'existe pas dans les appels à l'API depuis un
module.
> Du coup moi je testais l'API avec curl et ça marchait bien.
> 
> Voici le correctif : https://fossil.kd2.org/paheko/info/b4dc48f8e682c7ce
>