# -*- coding: utf-8 # Copyright 2001, 2002 by IVA Team and contributors # # This file is part of IVA. # # IVA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # IVA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with IVA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import AccessControl import OFS, Globals from OFS import SimpleItem import types import time from TraversableWrapper import Traversable from Globals import Persistent from AccessControl import ClassSecurityInfo from Cruft import Cruft from common import add_dtml, translate #import TestiYlesanne import YlVahendus from YlVahendus import YlVahendus import YlAlus import YlTyybid import YlMeta import YlHoidla #from TestiYlesanne import TestiYlesanne class YlTest( OFS.Folder.Folder, OFS.SimpleItem.Item, Persistent, AccessControl.Role.RoleManager, Traversable, Cruft ): "Ülesannetest koosnev test" meta_type='YlTest' pealkiri="" nr=0 avatudTaitmiseks=0 juhuslikJarjekord=0 security=ClassSecurityInfo() security.declareObjectPublic() def __init__(self): "Alustus" self.koigiLuba=LahendusLuba() self.koigiLuba.id='koigiLuba' self.grupiLoad=LahendusLoad() self.grupiLoad.id='grupiLoad' self.isikuLoad=LahendusLoad() self.isikuLoad.id='isikuLoad' self.vahendus=YlVahendus() self.vahendus.id='vahendus' self.lisaTestiMeta() def lisaYlesanne(self, yl): "uus ülesanne testis" if yl is None: return self.nr=self.nr+1 yl.id="yl"+str(self.nr) tulem = self._setObject(yl.id, yl) return tulem def lisaYlesanded(self, ylmassiiv): "Lisatakse ülesannete massiiv" for x in ylmassiiv: self.lisaYlesanne(x) def ylesandedTekstina(self): "Väljastab ülesanded HotPotatos ekspordina" tulemus="" yl=self.ylesanded() for i in range(len(yl)): tulemus=tulemus+yl[i].kirjutaYlesanneTekstiks(self.pealkiri, i+1) return tulemus def kysimused(self): "Küsimuste loetelu" k=[] for x in self.ylesanded(): k.append(x.kysimus) return k def ylesanded(self): "Ülesannete loetelu" return self.objectValues() def annaPealkiri(self): "Testi nimi" try: if len(self.pealkiri)>0: return self.pealkiri return self.getId() except: return self.getId() def pealkiriHTML(self, REQUEST): "Pealkiri HTMLina" return asendaHTML(self.annaPealkiri()) def pealkirjaEsitlus(self, REQUEST): "Nimi menüüs" if self.pealkiriHTML(REQUEST)!="": return self.pealkiriHTML(REQUEST) else: return self.getId() def seaPealkiri(self, pealkiri): "Pealkirja salvestus" self.pealkiri=pealkiri def annaKirjeldus(self): "Testi kirjeldus" if hasattr(self, 'kirjeldus'): return self.kirjeldus return "" def seaKirjeldus(self, kirjeldus): "Kirjelduse salvestus" self.kirjeldus=kirjeldus def kirjeldusHTML(self, REQUEST): "Kirjeldus HTMLina" return asendaHTML(self.annaKirjeldus()) def pealkirjaMuutmisVormHTML(self, REQUEST, liikumisURL): "Leht pealkirja muutuse sisestuseks" tulemus=leheAlgus(self, REQUEST) tulemus=tulemus+self.pealkirjaMuutmisVorm(REQUEST, liikumisURL) tulemus=tulemus+leheLopp(self, REQUEST) return tulemus def pealkirjaMuutmisVorm(self, REQUEST, liikumisURL=""): "Vorm pealkirja, kirjelduse ja tüübi muutmiseks" self.get_lang(('ivatests',), REQUEST) t= "