jmueller17 / Aixada

Aixada helps self-managed consumption cooperatives to organize their flow of products, money, and information.
Other
33 stars 37 forks source link

Negative balances #298

Closed orzocogorzo closed 1 year ago

orzocogorzo commented 2 years ago

Issue #269

La issue està oberta desde fa temps i sembla que no s'ha prioritzat, però des de Can Pujades, a Vallvidrera, se'ns ha fet necessari implementar algun control d'aquest tipus.

No hem tingut temps d'entrar a fons al còdi i pot ser que la solució no sigui la més òptima. Si és així, quina seria l'estrategia a seguir? Podem dedicar-li un temps a implementar millores.

mamuts commented 1 year ago

Bones @orzocogorzo he provat d'implementar el que comentes i no s'executa bé. Entra en un bucle infinit amb l'avís d'error: "An error "", status "error" occurred during loading data: ". Saps que pot ser que hagi fet malament? Hi ha una de les cooperatives que el control de balanços negatius li aniria molt bé. Ja diràs. Gràcies.

lucasgarciabaro commented 1 year ago

Bones @mamuts. Just estava probant d'aixecar la instància al meu local i m'està donant un error similar al accedir, via navegador, a la pàgina de login.php. M'apareix una alerta on hi diu An error "Internal Server Error", status "error" occurred during loading data:. No m'havia passat això abans :disappointed: .

Reseguint el log d'errors d'apache hi veig aquest missatge:

[Mon Sep 26 19:24:27.276835 2022] [php7:error] [pid 166206] [client 127.0.0.1:42378] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /mnt/disk/Projects/canpujades/aixada_test/php/inc/database.php:58\nStack trace:\n#0 /mnt/disk/Projects/canpujades/aixada_test/php/inc/database.php(76): DBWrap->__construct()\n#1 /mnt/disk/Projects/canpujades/aixada_test/php/utilities/general.php(563): DBWrap::get_instance()\n#2 /mnt/disk/Projects/canpujades/aixada_test/php/utilities/general.php(690): do_stored_query()\n#3 /mnt/disk/Projects/canpujades/aixada_test/php/utilities/incidents.php(142): stored_query_XML_fields()\n#4 /mnt/disk/Projects/canpujades/aixada_test/php/ctrl/Incidents.php(15): get_incidents_in_range()\n#5 {main}\n thrown in /mnt/disk/Projects/canpujades/aixada_test/php/inc/database.php on line 58, referer: https://aixada.orzopad.net/login.php?originating_uri=/

Sembla que php no està carregant bé l'extensió MySQLi i dispara l'error al intentar connectar-se a la base de dades. Si pel contrari, aixeco l'instància utilitzant docker, no em dona aquest error. Ara fa pocs dies vaig actualitzar la versió d'Ubuntu i sospito que alguna cosa es deu haver desconfigurat (veig que la versió per defecte de php del meu sistema és la 8.1, abans era la 7.4).

Si trobes algun error similar al teu log, segurmanet va per aquí la cosa. Si és així, podem intentar esbrinar que és el que està passant.

jmueller17 commented 1 year ago

Hola y gracies per tota la feina! Funciona be ara? Faig el merge?

orzocogorzo commented 1 year ago

@jmueller17 he fet un útlim commit applicant el control de balances negatives a totes les pàgines i millorant la compatibilitat amb versións del config.php anteriors. Fins ara el control només estava aplicat només a l'index i a shop_and_order. Aquesta setmana testejo amb php7 i php5.3, comprobo que tot vagi bé i t'ho confirmo.

orzocogorzo commented 1 year ago

Validat per a les versions 8.1 i 7.4 de php.

La versió 5.3 m'està donant problemes per instal·lar-la i, donat que és una versió obsoleta i no mantinguda desde 2020, he pensat que potser es podria plantejar deixar de garantir-li suport. @jmueller17, com ho veus? Si ho prefereixes, faig l'esforç i testejo també amb la 5.3. D'alta forma, la PR està ready.

jmueller17 commented 1 year ago

Val, perfecte. Moltes gracies @orzocogorzo!!