import OFS, Globals from Globals import Persistent import AccessControl from Acquisition import Implicit class SynnadeAndmed( Persistent, OFS.SimpleItem.Item, Implicit, AccessControl.Role.RoleManager): "Klass sünnipäeva andmete hoidmiseks" eesnimi="" tahtkuju="" meta_type="SynnadeAndmed" def index_html(self): "Andmete väljastus veebis" t="sünnipäevad"+\ "
eesnimi: "+self.eesnimi+\ "
perenimi: "+self.kysiPerenimi()+\ "
tähtkuju: "+self.tahtkuju+\ "
aasta: "+str(self.kysiAasta())+\ "
kuu: "+str(self.kysiKuu())+\ "
kuupaev: "+str(self.kysiKuup())+\ "
märkus: "+self.kysiMarkus()+\ "

muutmislehele" t=t+"

avalehele" return t def kysiEesnimi(self): "nime kysimine" if(hasattr(self, 'eesnimi')): return self.eesnimi return "nimi puudub" def kysiPerenimi(self): "perenime kysimine" if(hasattr(self, 'perenimi')): return self.perenimi return "perenimi puudub" def kysiTahtkuju(self): "t2htkuju kysimine" if(hasattr(self, 'tahtkuju')): return self.tahtkuju return "t2htkuju puudub" def kysiMarkus(self): "m2rkuse kysimine" if(hasattr(self, 'markus')): return self.markus return "m2rkus puudub" def kysiAasta(self): "aasta kysimine" if(hasattr(self, 'aasta')): return self.aasta return "aasta puudub" def kysiKuu(self): "kuu kysimine" if(hasattr(self, 'kuu')): return self.kuu return "kuu puudub" def kysiKuup(self): "kuup2eva kysimine" if(hasattr(self, 'kuup')): return self.kuup return "kuup2ev puudub" def muutmisVorm(self): "vorm andmete muutmiseks" t="sünnipäeva andmed"+\ "

"+\ "

eesnimi:
\n" t=t+"tähtkuju:
\n" t=t+"perenimi:
\n" t=t+"aasta:
" t=t+"kuupäev:
" kuud=["", "Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"] t=t+"kuu:
" t=t+"markus: " t=t+"


avalehele" return t def muutmisLeht(self, REQUEST, eesnimi, perenimi, tahtkuju, aasta, kuup, kuu, markus): "leht andmete salvestamiseks" self.eesnimi=eesnimi self.perenimi=perenimi self.tahtkuju=tahtkuju self.aasta=aasta self.kuup=kuup self.kuu=kuu self.markus=markus REQUEST.RESPONSE.redirect('index_html') def kysiPealkiri(self): "Pealkirja teatamine" return self.pealkiri def __init__(self, eesnimi, tahtkuju): "Algväärtustamine" self.eesnimi=eesnimi self.tahtkuju=tahtkuju Globals.InitializeClass(SynnadeAndmed) def lisamisKonstruktor(lisaja): "Uus tervitaja" lisaja.Destination()._setObject("hoidlaS", SynnadeHoidla()) return "Lisatud hoidla" class SynnadeHoidla( OFS.Folder.Folder, OFS.SimpleItem.Item, Persistent, AccessControl.Role.RoleManager): "Kataloog sünnipäevade otsimiseks, vaatamiseks ja muutmiseks" meta_type="SynnadeHoidla" loendur=0 def lisaSynna(self, eesnimi, tahtkuju): "synnip2eva lisamine kataloogi" r=SynnadeAndmed(eesnimi, tahtkuju) self.loendur=self.loendur+1 tunnus="synna"+str(self.loendur) r.id=tunnus self._setObject(tunnus, r) return "sünnipäev edukalt lisatud" def lisamisVorm(self): "Vorm sünnipäevade lisamiseks" t="lisamisvorm\n"+\ "

"+\ "

eesnimi:
"+\ "

tahtkuju:
"+\ "


avalehele" return t def loendaSynnasid(self): "Teatab hoidlas olevate sünnipäevade koguse" kogus=len(self.objectValues('SynnadeAndmed')) return "sünnipäevi kokku "+str(kogus) def SynnadeLoetelu(self): "sünnipäevad tabelina" t="sünnipäevade loetelu\n" t=t+"" m=self.objectValues('SynnadeAndmed') for synna in m: t=t+"\n" t=t+"

nimi

tähtkuju

"+synna.kysiEesnimi()+"

"+\ synna.kysiTahtkuju()+"


sünnipäevade lisamine
sünnipäevade otsimine" return t def SynnadeOtsing(self, otsitavEesnimi=""): "sünnipäevade andmed tabelina" t="sünnipäevad\n" t=t+"

" m=self.objectValues('SynnadeAndmed') for synna in m: if self.kasSobibOtsingusse(synna, otsitavEesnimi): t=t+"

eesnimi

tähtkuju

"+synna.kysiEesnimi()+"

"+\ synna.kysiTahtkuju()+"

\n" t=t+"
" t=t+"

sünnipäevalise nime algus:
" t=t+"
" t=t+"


avalehele" return t def kasSobibOtsingusse(self, synna, otsitavEesnimi): "otsingu abifunktsioon, kus teatatakse, kas leitud sünnipäev vastab tingimustele" if not synna.kysiEesnimi().startswith(otsitavEesnimi): return 0 return 1 Globals.InitializeClass(SynnadeHoidla)