import AccessControl import OFS, Globals from OFS import SimpleItem import types from TraversableWrapper import Traversable from Globals import Persistent from AccessControl import ClassSecurityInfo from Cruft import Cruft class Kiri( OFS.SimpleItem.Item, Persistent, AccessControl.Role.RoleManager, Traversable, Cruft ): "Kirja andmed" def __init__(self, pealkiri, sisu, autor): "Kirja loomine" self.pealkiri=pealkiri self.sisu=sisu self.autor=autor self.uus=1 def kasUus(self): "Kas tegemist värske kirjaga" if not hasattr(self, 'uus'): return 1 return self.uus def kysiAutor(self): "Autori kasutajanimi" if hasattr(self, 'autor'): return self.autor return "Tundmatu autori kiri" def index_html(self, REQUEST): "Kirja näitamine" t=self.hdr(self, REQUEST) t=t+" > kirjad
" t=t+"

"+self.pealkiri+"

" t=t+self.sisu t=t+self.fle_html_footer(self, REQUEST) self.uus=0 return t class KirjadeKataloog( OFS.Folder.Folder, OFS.SimpleItem.Item, Persistent, AccessControl.Role.RoleManager, Traversable, Cruft): "Kirjade hoidla" kirjaNr=0 def lisaKiri(self, REQUEST, pealkiri, sisu): "Uue kirja lisamine kataloogi" autor=str(REQUEST.AUTHENTICATED_USER) k=Kiri(pealkiri, sisu, autor) self.kirjaNr=self.kirjaNr+1 k.id='kiri'+str(self.kirjaNr) self._setObject(k.id, k) return "Kiri "+k.id+" lisatud" def index_html(self, REQUEST): "Kirjade kataloogi vaikimisi leht" t=self.hdr(self, REQUEST) m=self.objectValues() t=t+"
" t=t+"Koosta kiri" t=t+self.fle_html_footer(self, REQUEST) return t def kustuta(self, REQUEST, kiri=()): "Märgitud kirjade kustutamine" if type(kiri)==types.StringType: kiri=(kiri,) for x in kiri: self._delObject(x) REQUEST.RESPONSE.redirect('index_html') def koostamiseVorm(self, REQUEST): "Kirja koostamise vorm" t=self.hdr(self, REQUEST) t=t+"" t=t+"" t=t+"" t=t+"" t=t+"
Kellele:
Pealkiri:
Sisu:
" t=t+self.fle_html_footer(self, REQUEST) return t def saatmiseLeht(self, REQUEST, kellele, pealkiri, sisu): "Kirjade saatmise leht" saajad=kellele.split(",") vead=[] for x in saajad: try: self.saadaKiri(REQUEST, x.strip(), pealkiri, sisu) except: vead.append(x) if vead: t=self.hdr(self, REQUEST)+"
Probleemid kirjade saatmisel:" t=t+"; ".join(vead) t=t+self.fle_html_footer(self, REQUEST) return t REQUEST.RESPONSE.redirect('index_html') def saadaKiri(self, REQUEST, kellele, pealkiri, sisu): "Ühe kirja saatmine" saaja=getattr(self.fle_root().fle_users, kellele) saaja.lisaKirjadeKataloog() saaja.kirjad.lisaKiri(REQUEST, pealkiri, sisu) return "Kiri saadetud"