Viikkotehtävä 3
Toteuta pienimuotoinen harjoituspäiväkirja. Yhteiset vaatimukset:
- Käytetään Python-kieltä.
- Sovelluksen täytyy olla PSP eli Python Server Pages -sovellus.
- Kommentoikaa koodin oleellisimpia osia!
- Käsittelijän on tarkistettava syötettyjen tietojen oikeellisuus.
- Virheellinen tai puutteellinen tieto palautetaan takaisin syöttölomakkeelle. Kyseisen lomake-elementin viereen ilmestyy selvä virheilmoitus mallikuvien tyyliin.
- Virhetapauksessa aiemmin syötetyt tiedot näkyvät lomakekentissä, ettei käyttäjän tarvitse uudestaan täyttää tietoja.
- Tulostettuihin tietoihin ei saa päästä käyttäjän syöttämää HTML-koodia.
- Kaikkien sivujen on oltava validia XHTML 1.0 Strictiä.
- Sivun ulkoasumuotoilut on tehtävä CSS:ää käyttäen. CSS:n on oltava myös validia CSS2:sta.
- Sivun ulkoasu tulee olla layoutin ja värien osalta suunnilleen mallikuvien mukainen.
- Sovellus toimii kokonaisuudessaan yhdellä ja samalla WWW-sivulla eli koko ajan pysytään samassa osoitteessa.
- Sessioiden käyttäminen on kiellettyä
Taso 1
- Toteuta mallin mukainen lomake.
- Toteuta virheentarkistukset (mallikuva):
- Harjoituksen kesto syötetään minuutteina ja se on oltava positiivinen kokonaisluku, mutta kuitenkin maksimissaan 360 min.
- Tekstiä ei saa hyväksyä kestoksi.
- Tyhjä kesto tai 0 tarkoittaa, että kyseisenä päivänä kyseistä harjoitusta ei ollut tehty.
- Toteuta tulosten näyttäminen
mallin mukaan, jossa on:
- Kunkin lajin kokonaisharjoitusmäärät viikon ajalta. Tulos ilmoitetaan tunteina ja minuutteina.
- Viikon kokonaisharjoitusmäärä. Tulos ilmoitetaan tunteina ja minuutteina.
- Keskimääräinen harjoitusaika yhdelle päivälle. Keskiarvo lasketaan aina huomioiden kaikkien päivien harjoitusmäärät, eli keskiarvoon vaikuttavat myös ne päivät, jolloin ei ole harjoiteltu ollenkaan. Tulos ilmoitetaan tunteina ja minuutteina ja pyöristetään lähimpään tasaminuuttiin.
- Tulokset lasketaan ja näytetään vasta kun lomake on virheettömästi täytetty
Taso 3
- Toteuta mallin mukainen lomake johon syötettyjen tietojen perusteella luot uuden lomakkeen.
- Toteuta taso 1:n mukaiset virheentarkistukset.
- Sovelluksen on toimittava, vaikka ensimmäisellä lomakkeella olevien päivien tai lajien määrä muuttuisi.
- Toteuta tulosten näyttäminen
mallin mukaan, jossa on:
- Lomakkeella olevan ajanjakson kokonaisharjoitusmäärä. Tulos ilmoitetaan tunteina ja minuutteina.
- Lomakkeella olevan ajanjakson pituus päivinä (eli käytännössä kuinka monta täytettävää riviä lomakkeella).
- Keskimääräinen harjoitusaika yhdelle päivälle. Keskiarvo lasketaan aina huomioiden kaikkien lomakkeella olevien päivien harjoitusmäärät, eli keskiarvoon vaikuttavat myös ne päivät, jolloin ei ole harjoiteltu ollenkaan. Tulos ilmoitetaan tunteina ja minuutteina ja pyöristetään lähimpään tasaminuuttiin.
- Kunkin lajin kokonaisharjoitusmäärät. Tulos ilmoitetaan tunteina ja minuutteina.
- Kunkin päivän kokonaisharjoitusmäärät. Tulos ilmoitetaan tunteina ja minuutteina.
Taso 5
- Toteuta mallin mukainen lomake johon syötettyjen tietojen perusteella luot uuden lomakkeen.
- Toteuta taso 1:n mukaiset virheentarkistukset.
- Tarkista lisäksi ensimmäisestä lomakkeesta syötetyn aikavälin oikeellisuus ja että vähintään yksi laji ja henkilö on valittu. Ilmoita virheistä. Toista lomaketta ei luoda ennen kuin järkevä aikaväli on syötetty ja vähintään yksi laji ja henkilö on valittu.
- Tarkista lisäksi kultakin henkilöltä, ettei yhden päivän harjoitusten kokonaiskesto ole yli 600 min. Katso virheen ilmoittamistapa mallikuvasta.
- Tarkista lisäksi kultakin henkilöltä, ettei tarkasteltavan ajanjakson harjoitusten kokonaiskesto ole yli päivien määrä * 480 min (eli esim. 5 päivän tapauksessa raja-arvo olisi 2400 min, eli 40 h). Katso virheen ilmoittamistapa mallikuvasta.
- Sovelluksen on toimittava, vaikka henkilöiden, päivien tai lajien määrä muuttuisi.
- Toteuta tulosten näyttäminen
mallin mukaan, jossa on:
- Lomakkeella olevan ajanjakson kokonaisharjoitusmäärä henkilöittäin. Tulokset ilmoitetaan tunteina ja minuutteina.
- Lomakkeella olevan ajanjakson pituus päivinä (eli käytännössä kuinka monta täytettävää riviä lomakkeella per henkilö).
- Keskimääräinen harjoitusaika yhdelle päivälle henkilöittäin. Keskiarvo lasketaan aina huomioiden kaikkien lomakkeella olevien päivien harjoitusmäärät, eli keskiarvoon vaikuttavat myös ne päivät, jolloin ei ole harjoiteltu ollenkaan. Tulokset ilmoitetaan tunteina ja minuutteina ja pyöristetään lähimpään tasaminuuttiin.
- Kunkin lajin kaikkien henkilöiden yhteenlasketut kokonaisharjoitusmäärät. Tulokset ilmoitetaan tunteina ja minuutteina.
- Kunkin päivän kokonaisharjoitusmäärät henkilöittäin. Tulokset ilmoitetaan tunteina ja minuutteina.

Käyttäjien kommentit