def addupdate(self): key = self.form_result['key'] if self.form_result['objectid'] == "0": rid = self.form_result['rid'] key2 = '%s%s' % (rid and (rid + '/') or '',key) parent,key2 = find_folder_or_create(key2,self.form_result['parentid']) item = Cmsitem(c.site_id, self.form_result['title'], self.form_result['content']) item.item_type = self.form_result['item_type'] parent.addChild(item) parent.save() else: id = self.form_result['objectid'] item = meta.DBSession.query(Cmsitem).filter_by(id=id,site_id=c.site_id).first() item.title = self.form_result['title'] item.content = self.form_result['content'] parent = item.parents[0].parent item.rid = '%s%s' % (parent.rid and (parent.rid + '/') or '',key) item.key = key item.tags = self.form_result['tags'] item.url = self.form_result['url'] item.content2 = self.form_result['content2'] item.save() h.add_alert('updated item') c.cmsitems = [item] if 'returnurl' in request.params: redirect_to(request.params['returnurl']) return self.view() return item.id