def addNyURL(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create an URL type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate(schema_raw_data.pop('releasedate', '')) schema_raw_data.setdefault('locator', '') id = uniqueId(slugify(id or schema_raw_data.get('title', '') or 'url', removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyURL_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/url_add_html' % self.absolute_url()) return #process parameters if self.checkPermissionSkipApproval(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'url_manage_add' or l_referer.find('url_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'url_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) else: # undefined state (different referer, called in other context) return ob return ob.getId()
def addNyContact(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create an Contact type of object. """ #process parameters if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate(schema_raw_data.pop('releasedate', '')) schema_raw_data.setdefault('details', '') schema_raw_data.setdefault('resourceurl', '') schema_raw_data.setdefault('source', '') schema_raw_data.setdefault('topitem', '') id = make_id(self, id=id, title=schema_raw_data.get('title', ''), prefix='contact') if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyContact_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) return REQUEST.RESPONSE.redirect('%s/contact_add_html' % self.absolute_url()) return if self.glCheckPermissionPublishObjects(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() if ob.discussion: ob.open_for_comments() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'contact_manage_add' or l_referer.find('contact_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'contact_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) return ob.getId()
def addNyFile(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create a File type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate(schema_raw_data.pop('releasedate', '')) _source = schema_raw_data.pop('source', 'file') _file = schema_raw_data.pop('file', '') _url = schema_raw_data.pop('url', '') _precondition = schema_raw_data.pop('precondition', '') title = schema_raw_data.get('title', '') #process parameters if _source=='file': id = cookId(id, title, _file)[0] #upload from a file id = uniqueId(slugify(id or title or 'file', removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyFile_object(self, id, title, '', _precondition, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if hasattr(_file, 'read') and not _file.read() and not _url: form_errors['file'] = ['File upload or URL is mandatory'] if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/file_add_html' % self.absolute_url()) return #process parameters if self.checkPermissionSkipApproval(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None ob.submitThis() _send_notif = kwargs.get('_send_notifications', True) ob.approveThis(approved, approved_by, _send_notifications=_send_notif) ob.handleUpload(_source, _file, _url) self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'file_manage_add' or l_referer.find('file_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'file_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) else: # undefined state (different referer, called in other context) return ob return ob.getId()
def addNyURL(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create an URL type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate( schema_raw_data.pop('releasedate', '')) schema_raw_data.setdefault('locator', '') id = uniqueId( slugify(id or schema_raw_data.get('title', '') or 'url', removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyURL_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/url_add_html' % self.absolute_url()) return # process parameters if self.checkPermissionSkipApproval(): approved, approved_by = (1, self.REQUEST.AUTHENTICATED_USER.getUserName()) else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) # log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) # redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if (l_referer == 'url_manage_add' or l_referer.find('url_manage_add') != -1): return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'url_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) else: # undefined state (different referer, called in other context) return ob return ob.getId()
REQUEST.RESPONSE.redirect('%s/bfile_add_html' % self.absolute_url()) return form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/bfile_add_html' % self.absolute_url()) return if file_has_content(_uploaded_file): ob._save_file(_uploaded_file, language=_lang, contributor=contributor) # process parameters if self.checkPermissionSkipApproval(): approved, approved_by = (1, self.REQUEST.AUTHENTICATED_USER.getUserName()) else: approved, approved_by = 0, None
def addNyBFile(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create a BFile type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate(schema_raw_data.pop('releasedate', '')) _uploaded_file = schema_raw_data.pop('uploaded_file', None) title = schema_raw_data.get('title', '') if not title: filename = trim_filename(getattr(_uploaded_file, 'filename', '')) base_filename = filename.rsplit('.', 1)[0] # strip extension if base_filename: schema_raw_data['title'] = title = base_filename.decode('utf-8') id = toAscii(id) id = make_id(self, id=id, title=title, prefix='file') if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyBFile_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/bfile_add_html' % self.absolute_url()) return if file_has_content(_uploaded_file): ob._save_file(_uploaded_file, contributor) #process parameters if self.checkPermissionSkipApproval(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None _send_notif = kwargs.get('_send_notifications', True) ob.approveThis(approved, approved_by, _send_notifications=_send_notif) ob.submitThis() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'bfile_manage_add' or l_referer.find('bfile_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'bfile_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) return ob.getId()
def addNyGeoPoint(self, id="", REQUEST=None, contributor=None, **kwargs): """ Create an Contact type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop("_lang", schema_raw_data.pop("lang", None)) _releasedate = self.process_releasedate(schema_raw_data.pop("releasedate", "")) title = schema_raw_data["title"] # process parameters id = uniqueId(slugify(id or title or "geopoint", removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyGeoPoint_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect("%s/geopoint_add_html" % self.absolute_url()) return # process parameters if self.glCheckPermissionPublishObjects(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() if ob.discussion: ob.open_for_comments() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) # log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) # redirect if case if REQUEST is not None: l_referer = REQUEST["HTTP_REFERER"].split("/")[-1] if l_referer == "geopoint_manage_add" or l_referer.find("geopoint_manage_add") != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == "geopoint_add_html": self.setSession("referer", self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect("%s/messages_html" % self.absolute_url()) return ob.getId()
def addNyMediaFile(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create a File type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate(schema_raw_data.pop('releasedate', '')) _file = schema_raw_data.pop('file', None) _subtitle = schema_raw_data.pop('subtitle', '') _skip_videofile_check = schema_raw_data.pop('_skip_videofile_check', False) id = uniqueId(slugify(id or schema_raw_data.get('title', '') or 'mediafile', removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyMediaFile_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if not _skip_videofile_check: video_errors = _check_video_file(_file) if video_errors: form_errors['mediafile'] = video_errors if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/mediafile_add_html' % self.absolute_url()) return #process parameters if self.glCheckPermissionPublishObjects(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() ob.handleMediaUpload(_file) ob._setLocalPropValue('subtitle', _lang, _subtitle) if ob.discussion: ob.open_for_comments() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'mediafile_manage_add' or l_referer.find('mediafile_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'mediafile_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) return ob.getId()
def addNyFile(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create a File type of object. """ if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate( schema_raw_data.pop('releasedate', '')) _source = schema_raw_data.pop('source', 'file') _file = schema_raw_data.pop('file', '') _url = schema_raw_data.pop('url', '') _precondition = schema_raw_data.pop('precondition', '') title = schema_raw_data.get('title', '') #process parameters if _source == 'file': id = cookId(id, title, _file)[0] #upload from a file id = uniqueId(slugify(id or title or 'file', removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyFile_object(self, id, title, '', _precondition, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if hasattr(_file, 'read') and not _file.read() and not _url: form_errors['file'] = ['File upload or URL is mandatory'] if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) REQUEST.RESPONSE.redirect('%s/file_add_html' % self.absolute_url()) return #process parameters if self.checkPermissionSkipApproval(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName( ) else: approved, approved_by = 0, None ob.submitThis() _send_notif = kwargs.get('_send_notifications', True) ob.approveThis(approved, approved_by, _send_notifications=_send_notif) ob.handleUpload(_source, _file, _url) self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'file_manage_add' or l_referer.find( 'file_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'file_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) else: # undefined state (different referer, called in other context) return ob return ob.getId()
def addNyCaseStudy(self, id='', REQUEST=None, contributor=None, **kwargs): """ Create a `NyCaseStudy` type of object. """ #process parameters if REQUEST is not None: schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop('_lang', schema_raw_data.pop('lang', None)) _releasedate = self.process_releasedate( schema_raw_data.pop('releasedate', '')) id = uniqueId( slugify(id or schema_raw_data.get('title', '') or 'case_study', removelist=[]), lambda x: self._getOb(x, None) is not None) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyCaseStudy_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) spatial_scale = schema_raw_data.get('spatial_scale') geographical_scope = schema_raw_data.get('geographical_scope', []) if (spatial_scale == 'regional-case-study-covers-more-one-country' and len(geographical_scope) < 2): form_errors.setdefault('geographical_scope', []) form_errors['geographical_scope'].append( 'For regional case studies please select at least 2 countries') if (spatial_scale and spatial_scale != 'regional-case-study-covers-more-one-country' and len(geographical_scope) > 1): form_errors.setdefault('geographical_scope', []) form_errors['geographical_scope'].append( 'For national or sub-national case studies please select exactly ' 'one country') if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) return REQUEST.RESPONSE.redirect('%s/case_study_add_html' % self.absolute_url()) return if self.checkPermissionSkipApproval(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName( ) else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() self.recatalogNyObject(ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) #log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) #redirect if case if REQUEST is not None: l_referer = REQUEST['HTTP_REFERER'].split('/')[-1] if l_referer == 'case_study_manage_add' or l_referer.find( 'case_study_manage_add') != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == 'case_study_add_html': self.setSession('referer', self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect('%s/messages_html' % self.absolute_url()) else: # undefined state (different referer, called in other context) return ob return ob.getId()
def addNyTalkBackConsultation(self, id="", REQUEST=None, contributor=None, **kwargs): """ Create a Naaya TalkBack Consultation type of object. """ l_referer = "/" if REQUEST is not None: l_referer = REQUEST.get("HTTP_REFERER", "/").split("/")[-1] schema_raw_data = dict(REQUEST.form) else: schema_raw_data = kwargs _lang = schema_raw_data.pop("_lang", schema_raw_data.pop("lang", None)) _releasedate = self.process_releasedate(schema_raw_data.pop("releasedate", "")) id = uniqueId( slugify(id or schema_raw_data.get("title", ""), removelist=[]), lambda x: self._getOb(x, None) is not None ) if contributor is None: contributor = self.REQUEST.AUTHENTICATED_USER.getUserName() ob = _create_NyTalkBackConsultation_object(self, id, contributor) form_errors = ob.process_submitted_form(schema_raw_data, _lang, _override_releasedate=_releasedate) if REQUEST is not None: submitter_errors = submitter.info_check(self, REQUEST, ob) form_errors.update(submitter_errors) if form_errors: if REQUEST is None: raise ValueError(form_errors.popitem()[1]) # pick a random error else: abort_transaction_keep_session(REQUEST) ob._prepare_error_response(REQUEST, form_errors, schema_raw_data) return REQUEST.RESPONSE.redirect(l_referer) self.setSessionInfoTrans("TalkBack Consultation object created") # process parameters if self.checkPermissionSkipApproval(): approved, approved_by = 1, self.REQUEST.AUTHENTICATED_USER.getUserName() else: approved, approved_by = 0, None ob.approveThis(approved, approved_by) ob.submitThis() ob.show_contributor_request_role = ob.public_registration self.recatalogNyObject(ob) self.notifyFolderMaintainer(self, ob) notify(NyContentObjectAddEvent(ob, contributor, schema_raw_data)) # log post date auth_tool = self.getAuthenticationTool() auth_tool.changeLastPost(contributor) # redirect if case if REQUEST is not None: if l_referer == "talkbackconsultation_add" or l_referer.find("talkbackconsultation_manage_add") != -1: return self.manage_main(self, REQUEST, update_menu=1) elif l_referer == "talkbackconsultation_add_html": self.setSession("referer", self.absolute_url()) return ob.object_submitted_message(REQUEST) REQUEST.RESPONSE.redirect("%s/messages_html" % self.absolute_url()) return ob.getId()