Recent posts

#11
Sain toimimaan, syyllinen oli ylempänä tiedostopuussa oleva wordpressin w3 total cachen kirjoittamat rivit .htaccessissa.
Siirsin wirdpressin omaan kansioon juuressa, jossa mlinvoicekin on omassaan.
#12
Nuo virheet viittaavat siihen, ettei Apache salli ladata pyydettyjä tiedostoja. vendor-hakemistossa on piilotiedosto .htaccess, jossa on tähän vaikuttavia sääntöjä, mutta niihin ei mielestäni ole tullut mitään muutoksia pitkään aikaan. Voit kuitenkin kokeilla, vaikuttaako, jos vaihdat vaikka tuon tiedoston nimeä hetkeksi.
#13
No laskun/tarjouksen tiloista tosiaan löytyi yksi tietue, jolla ei ollut kuvausta, järjestysnumeroa tai mitään muutakaan tietoa. En tiedä mistä se on ilmestynyt, mutta sen poistamisen jälkeen virheilmoitukset hävisivät.

Kiitos vinkistä ja hienosta ohjelmasta

-Markus
#14
Päivitin toimivasta 2.1.x versiosta uusimpaan.
Pääsen kirjautumaan sisään, mutta ylärivin valikot ei toimi.
Mistäköhän lähtisin liikkeelle, että saisin taas toimimaan?

Centos 7
Apache 2.4.6
PHP 8.1.22

Apachen logeihin tulee näitä:

[authz_core:error] [pid 4026] [client IP:63507] AH01630: client denied by server configuration: /var/www/clients/client1/web3/web/lasku/vendor/components/jquery/jquery.min.js, referer: https://***/lasku/index.php

[authz_core:error] [pid 4609] [client IP:63509] AH01630: client denied by server configuration: /var/www/clients/client1/web3/web/lasku/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js, referer: https://***/lasku/index.php

[authz_core:error] [pid 10565] [client IP:63841] AH01630: client denied by server configuration: /var/www/clients/client1/web3/web/lasku/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js, referer: https://***/lasku/index.php
[Fri Dec 13 19:30:57.613609 2024] [authz_core:error] [pid 10533] [client IP:63842] AH01630: client denied by server configuration: /var/www/clients/client1/web3/web/lasku/vendor/components/jquery/jquery.min.js, referer: https://***/lasku/index.php

Ja selaimen ispectorissa on näitä ja monia muitakin vastaavia:
Failed to load resource: the server responded with a status of 403 (Forbidden)
https://***/lasku/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.js?_=1734107206

Failed to load resource: the server responded with a status of 403 (Forbidden)
https://***/lasku/vendor/components/jquery/jquery.min.js?_=1734107145

ReferenceError: Can't find variable: jQuery
https://***/lasku/node_modules/datatables.net/js/jquery.dataTables.min.js?_=1734107198
#15
Okei, selvitetään. Onko mahdollista, että olisi muokattuja laskun tiloja, joista puuttuu kuvaus tms.?
#16
Aloitussivulta "Uusi lasku" (tai olemassa olevan laskun avaaminen). Virhettä tulee myös esim. Laskutusraportti ja Tuoteraportti näkymissä.
#17
Jostain syystä en ole itse saanut noita esille. Mihin kohtaan näyttöä ne tulevat?

--Ere
#18
Terve

Ajan MLInvoicea TrueNAS Scale ElectricEel palvelimen Dockerissa.
MLInvoicen päivityksen jälkeen tulee laskun täyttönäkymässä pari virhettä, muuten toimii hienosti.
Miten tämän saisi korjattua?

Deprecated
: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in
/usr/local/mlinvoice/translator.php
on line 68

Deprecated
: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in
/usr/local/mlinvoice/htmlfuncs.php
on line 789

-Markus
#19
Hei,

Mulla pyöri ideat tuon asian suhteen siihen malliin, että kaipaisin tietoa haluatko jatkaa jollain tapaa eteenpäin... kuten aikaisemmin mainitsin niin nykyisellään on toinen laskutusohjelma käytössä, ettei voi sanoa että olisi oma lehmä ojassa ;) ... sanotaan että intressini on puhtaasti kehityksessä ja luodakseen hyvää laskutusohjelmaa, joksi ohjelman aikoinaan koin ja jos joskus tarvetta niin kallistun kyllä tämän ohjelman puoleen uudelleen. Osoitteiston kehityksen intressi on siinä, että muistan miten paljon googlen haku auttoi siihen, että ei tarvinnut kaivella enää postinumerotietoja ja kaupunkinimiä vaan laskun kirjoittamiseen käytetty aika oli mahdollisimman minimaalinen / suoraviivainen.

Ajatuksena oli semmoinen, että voin <määrittelemättömän ajan> aikaa hostaa tiedoston jakoa (todennäköisesti google storages / s3 tai jos käy hintavaksi niin laitan omalle palvelimelle (molemmat on/ollut käytössä ja sen pohjalta veikkaan että pienet summat kun datan määräkin on pieni)), josta saisi noukittua aika ajoin päivitetyt valmiit sqlite tiedostot. PHP:n päässä sqlitet voisi lukea -> mysql pariin tauluun, jotka aina uusien tullessa pudotetaan pois ja jyrätään uudet takaisin. Yksi lisätaulu, jossa voisi olla tieto milloin kaupunki on aina päivitetty, jolloin voidaan tehdä vertailua että onko kaupunkien päivitykselle tarvetta. Postilta tulee joka lauantai uudet tiedot, mutta itse ajattelin että riittää todennäköisesti 3 kk / 6kk sykli ihan hyvin. Se mikä oli huomion arvoista oli se, että kun kokeilin tehdä tietokannan missä oli laajennettu pääkaupunkiseutu niin tietokannan koko oli ~2 megan luokkaa. Tuommoista määrää selaa aika vikkelään jo. Varmaan jo ihan raspberrypiilläkin.

Ajattelin tehdä tuon ihan avoimena koodin pätkänä niin joku voi halutessaan ajaa tota tiheämpään jos tykkää.  Tällöin tosin asetus sivusta olisi hyvä päästä säätämään tarvittaessa nouto url.

/index.json
/latest.json
/fi/Helsinki.db
/fi/... (309 kaikkiaan)
/sv/Helsingfors.db
/sv/... (309 kaikkiaan)

index.json tiedostosta voisi luoda asetus sivun, joka listaa olemassa olevat kaupungit. Jotenkin veikkaan että useammalla on aika paikallista toimintaa, joten tuommoista 20 megan juttua lienee turha pyöritellä. Sivuhuomautus osoitteistosta puuttuu Ahvenanmaa, Posti ei tarjoa sitä.
index.json sisältö olisi jotakuinkin seuraavanlaista [{ name: "Helsinki", file: "Helsinki.db", "size": <byte> },...]
Asetukset sivulla olisi tuosta tehty <checkbox> {{ name }} ( {{ size }} ), jokainen voisi ruksittaa mitkä kaupungit haluaa laskutukseen mukaan ja näkisi paljonko nuo vie suurinpiirtein tilaa. Tilan vienti heittää hiukan jos noi ajetaan samaan tietokantaan kaikki.... en tiedä oisko tuota sizeä edes pakko näyttää :) Toki "presetit" olisi kivoja, jossa olisi "Uusimaa" tai "Pääkaupunkiseutu", "Tampereen seutu" valmiina, mutta menee aika käsitöiksi.

latest.json sisältäisi vain tiedon milloin viimeinen päivitys on tehty { updated: "2024-11-24" } ... tai voin pyörittää nuo päiväykset myös mlinvoicen päiväysformaattiin (joka on tietokannassa) niin ei tarvitse lukea kovin montaa eri formaattia.

<kaupunki>.db tiedostosta löytyy kyseisen kaupungin taulut. Taulut menevät näin
Taulu address: id, address. id primary key ja address (unique) katuosoite
Taulu loc: even_odd, min, max, zip, city, address_id
Tämä on hiukan improvisoitu, koska postin data on hiukan vajaa näiden osalta.
even_odd on triggeri min ja maxille, ovatko parittomia tai parillisia.
even_odd on joko true = parillinen, false = pariton, null = ei kumpikaan
min ja max saattavat puuttua, koska lyhyillä kaduilla niitä ei ole, saattaa myös olla että osassa puuttuu pelkästään toinen, jolloin päädyin skripteissäni ratkaisuun että feikataan jokainen tyhjä min = 0, max = 500. Pitkillä kaduilla nuo toimivat ihan, esim mannerheimintieltä löytyy tietyt numeron pätkät tietylle postiosoitteelle.
zip = esim. 00750
city = esim. Helsinki
address_id = foreign key ( address_id ). Sama kadunnimi voi olla esim. Helsingissä ja Vantaalla, jolloin loc taulusta tulee kaikki vaihtoehdot, mutta address taulusta vain se ainukainen.

-Juho

#20
MLInvoice Discussion / MLInvoice 2.3.1 released
Last post by Ere Maijala - 22.11.24 - klo:20:58
Hi,

MLInvoice 2.3.1 has been released. This version contains only bug fixes including a major one: invoice repeat interval was not saved correctly. See the change log at https://labs.fi/mlinvoice_features.eng.php#changelog for more information on the changes.

The new version can be downloaded from https://labs.fi/files/mlinvoice-2.3.1.zip.

BR,
Ere