from Globals import InitializeClass, Persistent from Acquisition import Explicit from OFS.Folder import Folder from OFS.SimpleItem import Item import AccessControl from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.CMFCore.Skinnable import SkinnableObjectManager def lisamisKonstruktor(lisaja): "Uus tervitaja" lisaja.Destination()._setObject("tere3", Tere3()) return "Lisatud leht nimega tere3" class Tere3(SkinnableObjectManager, Folder, Persistent, Explicit): "Teretusklass" meta_type="Tere3" viimaneTehe="" tehteLoendur=0 security = AccessControl.ClassSecurityInfo() security.declareObjectPublic() def manage_afterAdd(self, item, container): self.setupSkins() self.manage_permission('View', ('Authenticated',) ,0) security.declarePrivate('setupSkins') def setupSkins(self): """ setup skins system """ from Products.CMFCore.utils import manage_addTool add_tool = self.manage_addProduct['CMFCore'].manage_addTool add_tool('CMF Skins Tool', None) sk_tool = getattr(self, self.getSkinsFolderName()) sk_tool.manage_addFolder('default_custom', 'Customize pages here for default skin') paths = "main, default_custom" sk_tool.addSkinSelection('default', paths, make_default = 1) from Products.CMFCore.DirectoryView import addDirectoryViews addDirectoryViews(sk_tool, 'skins', globals()) def getSkinsFolderName(self): return "portal_skins" def index_html(self): "Tervitusmeetod" return "Tervist!!!" def tervitaHommikuselt(self): "Hommikune tervitus" return "Tere hommikust!!" def korruta(self, arv1, arv2): "Korrutab kaks ette antud arvu" self.salvestaViimaneTehe("Korrutati "+arv1+" ja "+arv2) self.lisaTeheKataloogi(arv1, arv2) return int(arv1)*int(arv2) def salvestaViimaneTehe(self, tehtetekst): "Salvestatakse viimatine tehe Tere2 objekti kylge" self.viimaneTehe=tehtetekst return "Tekst salvestatud: "+tehtetekst def lisaTeheKataloogi(self, arv1, arv2): "Loob Tere2 kataloogi elemendi tehte sisuga" if hasattr(self, 'tehteLoendur'): self.tehteLoendur=self.tehteLoendur+1 else: self.tehteLoendur=1 t=KorrutusTehe(arv1, arv2) t.id="tehe"+str(self.kysiTehteLoendur()) self._setObject(t.id, t) return "Lisati "+t.id def kysiViimaneTehe(self): "Tagastatakse viimase tehte tekst" return self.viimaneTehe def kysiTehteLoendur(self): "Tagastatakse, mitu tehet olnud on" return self.tehteLoendur def kysiTehted(self): "Olnud tehete loetelu" t=[] for obj in self.objectValues(): if obj.id.startswith("tehe"): t.append(obj) return t InitializeClass(Tere3) class KorrutusTehe(Item, Persistent, Explicit): "Vahend korrutustehte andmete hoidmiseks" def __init__(self, tegur1, tegur2): "Konstruktor tehteeksemplari loomiseks" self.tegur1=tegur1 self.tegur2=tegur2 def kysiTegur1(self): "Esimese teguri sisu" return self.tegur1 def kysiTegur2(self): "Esimese teguri sisu" return self.tegur2 def kysiTeheTekstina(self): "Vormidatud sisu" return str(self.tegur1)+"*"+str(self.tegur2) InitializeClass(KorrutusTehe) def manage_addTere3(self, REQUEST, id): """ instantiate """ ob = Tere3(id) self._setObject(id, ob) if REQUEST: return self.manage_main(self, REQUEST) manage_addTere3Form = PageTemplateFile('skins\\rakenduseLisamiseVorm.zpt', globals())