Toistuvuuden säätö

Started by mikkora, 25.04.16 - klo:15:46

Previous topic - Next topic

mikkora

Terve

Olen uusi täällä joten saatan kysellä tyhmiä. Olen kyllä koittanut jo hakua tuloksetta.

Haluan säätää toistuvuutta niin että toisto olisi mahdollista valita tahtuvan 3 ja 4 kuukauden välein. Kuvittelen että tämä ei olisi paha rasti, pitäisi päästä kiinni lasku lomakkeeseen.
Mutta en löydä oikeaa paikkaa...

Joten voisiko joku auttaa alkuun ?

Mikko

ps.
On mahtavaa nähdä että on olemassa ihmisiä jotka jaksavat tuottaa taidoillaan tällaisia avoimen koodin ohjelmia. Suuri Kiitos siitä teille.

Ere Maijala

Tervehdys!

Kiitokset kiitoksista! :) Nykyisen version koodipohja on aika kamala, joten ei mikään ihme, jos sieltä on vaikea löytää oikeaa paikkaa. Valitettavasti uuden version kehittäminen uudelta pohjalta etenee hyvin hitaasti. Tässä kuitenkin pari vihjettä, mistä voi lähteä liikkeelle:

form_switch.php: $intervalOptions
copy_invoice.php: etsi interval_type
json.php: $intervalType

Jos tällaisille vaihtoehdoille on tarvetta, voidaan ne toki ottaa mukaan "viralliseen" versioonkin.

t. Ere

mikkora

Kiitos nopeasta vastauksesta. Kerron myöhemmin onnistuinko...  ;D

Sanoisin että viralliseen versioon olisi hyvä saada asetuksiin intervallin säätö. Toisaalta jos minä saan itse säädettyä jaksot, se kai onnistuu kaikilta... 

Ere Maijala

Toki se voi onnistua, mutta se ei välttämättä ole kovin kestävä ratkaisu, koska koodin päivittyessä joutuu pitämään yllä omia muutoksia, eli päivittäminen ei ole enää niin helppoa, ja pahimmassa tapauksessa virallinen versio alkaa käyttää käytettyjä arvoja eri jaksoihin, jolloin omat muutokset eivät enää ole yhteensopivia.

Voin varmaan lisätä 3kk ja 4kk jaksot seuraavaan versioon ID:illä 4 ja 5.

t. Ere

keysers0ze

Toistuvuudet voisi olla:
1kk (itse käytän)
3kk
4kk
6kk (tarve olisi puolivuosittain)
12kk (tarve olisi vuosittain)

keysers0ze

- Lisäksi olisi superhyvä jos voisi "tulostaa/tehdä" koko vuoden laskut kerralla. Lähettää esim. 2kpl 6kk laskuja tai 12kpl 1kk laskuja samalla kerralla. Eli laskuihin generoituisi uudet eräpäivät ja viitteet sekä voisi koko paketin lähettää sähköpostiin.
- Tai voisiko olla siten, että esim. 12kpl viitenumeroita tulisi yhteen laskuun. Kuukausi perusteista laskutusta jossa joka kuukausi on sama summa helpottaisi paljon... Vai olisiko tuohon kuukausi laskutukseen jokin "parempi" helpompi jo aiemmin havaittu tapa..


Terv.
.K

mikkora

Kiitos ohjeista.

Sain muutokset tehtyä. Osoittamiesi muutosten lisäksi piti tiedostoon fi-FI.ini lisätä dropboxin selkokielitekstit.

Toivottavasti tästä on apua muillekin.  8)

Olen siis lisännyt vaihtoehdot 3 ja 4 sekä vaihtanut vuoden intervallin vaihtoehdoksi 5

fi-FI.ini

InvoiceIntervalType = 'Toistuvuus'
InvoiceIntervalNone = 'Ei toistoa'
InvoiceIntervalMonth = '1 kk'
InvoiceInterval2Month = '2 kk'
InvoiceInterval3Month = '3 kk'
InvoiceIntervalYear = '1 vuosi'



Json.php
switch ($intervalType) {
    case 2 :
        $nextIntervalDate = date($GLOBALS['locDateFormat'],
            mktime(0, 0, 0, date('m') + 1, date('d'), date('Y')));
        break;
   case 3 :
        $nextIntervalDate = date($GLOBALS['locDateFormat'],
            mktime(0, 0, 0, date('m') + 2, date('d'), date('Y')));
        break;
    case 4 :
        $nextIntervalDate = date($GLOBALS['locDateFormat'],
            mktime(0, 0, 0, date('m') + 3, date('d'), date('Y')));
        break;
    case 5 :
        $nextIntervalDate = date($GLOBALS['locDateFormat'],
            mktime(0, 0, 0, date('m'), date('d'), date('Y') + 1));
        break;
    default :
        $nextIntervalDate = '';
    }


form_switch.php
$intervalOptions = [
    '0' => $GLOBALS['locInvoiceIntervalNone'],
    '2' => $GLOBALS['locInvoiceIntervalMonth'],
    '3' => $GLOBALS['locInvoiceInterval2Month'],
    '4' => $GLOBALS['locInvoiceInterval3Month'],     
    '5' => $GLOBALS['locInvoiceIntervalYear']
];


copy_invoice.php
   switch ($invoiceData['interval_type']) {
    // Month
    case 2 :
        $invoiceData['next_interval_date'] = date('Ymd',
            mktime(0, 0, 0, date('m') + 1, date('d'), date('Y')));
        break;
 
    // 2Month
    case 3 :
        $invoiceData['next_interval_date'] = date('Ymd',
            mktime(0, 0, 0, date('m') + 2, date('d'), date('Y')));
        break;
       
        // 3Month
    case 4 :
        $invoiceData['next_interval_date'] = date('Ymd',
            mktime(0, 0, 0, date('m') + 2, date('d'), date('Y')));
        break;
   
    // Year
    case 5 :
        $invoiceData['next_interval_date'] = date('Ymd',
            mktime(0, 0, 0, date('m'), date('d'), date('Y') + 1));
        break;
    }


Mahdoinko unohtaa vielä jonkun ? Yritin kyllä boldata nuo uudet/muutetut kohdat mutta tämä alusta ohittaa kaiken muotoilun tunnistuksen tuossa code tagien sisällä.

T.
Mikko

Ere Maijala

Tulossa seuraavaan versioon aiempien 1kk ja 1v lisäksi vaihtoehdot

4 = 2kk
5 = 3kk
6 = 4kk
7 = 5kk
8 = 6kk

5kk on varmaan aika epätavallinen, mutta olkoon tuolla vaikka kuriositeettina, jos ei muuten.

--Ere