def commonEmbedRemoteObject(self, item, path, mode, view, showid): "common part of embedRemoteObject for profile and non profile mode" formatid = '<p>%s</p>%s' if path: if path[0] == '/': path = path[1:] item = item.restrictedTraverse(path) if utility.isinstance(item, base.Base): if showid: return formatid % (item.getCompoundDoc().getId(), item(mode=mode)) else: return item(mode=mode) elif utility.isinstance(item, base.Base): self.setDrawMode(mode) string = item.render(name=view, mode=mode) if showid: return formatid % (item.getId(), string) else: return string return ''
def edit(self, *args, **kw): "Inline edit short object" temp = [] format = '<p>%(name)s %(form)s</p>\n' list = [''] + [id for id,object in self.getCompoundDoc().objectItems() if utility.isinstance(object, SimpleList)] temp.append(format % {'name':'To', 'form':self.option_select(list, 'listName', [self.listName])}) temp.append(format % {'name':'From', 'form':self.input_text('listFrom', self.listFrom)}) temp.append(format % {'name':'Subject', 'form':self.input_text('subject', self.subject)}) temp.append(format % {'name':'Header', 'form':self.text_area('header', self.header)}) temp.append(format % {'name':'Message', 'form':self.text_area('message', self.message)}) temp.append(format % {'name':'Footer', 'form':self.text_area('footer', self.footer)}) temp.append(format % {'name':'Mail Server', 'form':self.input_text('server', self.server)}) temp.append(self.create_button("sendMail", "Send All Messages")) return ''.join(temp)
def edit(self, *args, **kw): "Inline edit short object" temp = [] format = '<p>%(name)s %(form)s</p>\n' list = [''] + [ id for id, object in self.getCompoundDoc().objectItems() if utility.isinstance(object, SimpleList) ] temp.append( format % { 'name': 'To', 'form': self.option_select(list, 'listName', [self.listName]) }) temp.append(format % { 'name': 'From', 'form': self.input_text('listFrom', self.listFrom) }) temp.append(format % { 'name': 'Subject', 'form': self.input_text('subject', self.subject) }) temp.append(format % { 'name': 'Header', 'form': self.text_area('header', self.header) }) temp.append(format % { 'name': 'Message', 'form': self.text_area('message', self.message) }) temp.append(format % { 'name': 'Footer', 'form': self.text_area('footer', self.footer) }) temp.append(format % { 'name': 'Mail Server', 'form': self.input_text('server', self.server) }) temp.append(self.create_button("sendMail", "Send All Messages")) return ''.join(temp)
def getAllEvents(self): "Return a list of all items that are a BaseEvent" return [ object for object in self.objectValues() if utility.isinstance(object, BaseEvent) ]
def getAllEvents(self): "Return a list of all items that are a BaseEvent" return [object for object in self.objectValues() if utility.isinstance(object, BaseEvent)]
def objectLoadCDoc(self, cdoc): "load another compounddoc into this compounddoc and treat it as a template" replaceList = ['DisplayManager', 'EventManager', 'TabManager', 'CatalogManager', 'MethodManager', 'profileTypeKeep', 'objectConfig', 'masterLocation', 'displayMap', 'defaultDisplay'] replaceList.extend(self.updateReplaceList) noreplace = ['manage_workspace', 'manage_main', 'manage', 'manage_edit_form', 'ControlPanel', 'submitChanges'] objectIds = [i for i in cdoc.objectIds() if i not in noreplace] if cdoc.masterLocation is not None and cdoc.masterLocation != self.getPath(): master = self.unrestrictedTraverse(cdoc.masterLocation, None) if master is not None and master.meta_type == 'CompoundDoc' and master.DisplayManager is not None: self.setObject('DisplayManager', aq_base(master.DisplayManager)) replaceList.remove('DisplayManager') noreplace.append('DisplayManager') #do replacemants for i in replaceList: if i in cdoc.__dict__: temp = aq_base(getattr(cdoc, i)) self.delObjects([i]) self.setObject(i, temp) if i in objectIds: objectIds.remove(i) else: #if the item is a replacement item and that item is not in the profile doc remove that attribute self.delObjects([i]) if i in objectIds: objectIds.remove(i) #add items that we don't have for i in copy.copy(objectIds): if not i in self.__dict__: self.delObjects([i]) self.setObject(i, aq_base(getattr(cdoc, i))) objectIds.remove(i) #replace other items that we do have for i in copy.copy(objectIds): if i in self.__dict__: temp = aq_base(getattr(cdoc, i)) local = getattr(self, i) if temp.meta_type != local.meta_type: self.delObjects([i]) self.setObject(i, temp) elif local.meta_type == 'CompoundDoc': #if the item is a CompoundDoc it must be treated differently local.objectLoadCDoc(temp) elif utility.isinstance(local, BaseObject): #only use loadData on items derived from BaseObject local.loadData(temp) objectIds.remove(i) typeKeepList = self.getProfileTypeKeep() keeplist = cdoc.__dict__.keys() assistants = self.aq_parent.objectValues(['CreationAssistant', 'CreationAssistantString', 'CreationAssistantDTML']) if assistants: for i in assistants: if i.idTypeMapping is not None: keeplist.extend(i.idTypeMapping.keys()) available = cdoc.availableObjects() temp = [(name, getattr(cdoc, 'meta_type', None)) for name, cdoc in self.objectItems()] self.delObjects([name for name, meta_type in temp if meta_type in available and name not in keeplist and meta_type not in typeKeepList]) if assistants: for i in assistants: i.setupObject(self)