def __call__(self): if upload_prefix is None: return "upload prefix not configured" ctx = self.context.aq_inner # because self subclasses from Explicit sources = get_acl_users_sources_titles(ctx) if self.request['REQUEST_METHOD'] == 'GET': return import_all_zpt.__of__(ctx)(sources=sources) log = init_log_stream() try: if 'report' in self.request.form: savepoint = transaction.savepoint() filename_files = self.request.form['filename_files'] import_files_path = self.request.form['import_files_path'] if filename_files and import_files_path: try: files_ctx = ctx.restrictedTraverse(import_files_path) add_files_and_folders_from_circa_export( files_ctx, filename_files, upload_prefix) except: logger.critical(traceback.format_exc()) filename_roles = self.request.form['filename_roles'] ldap_source_title = self.request.form['source_title'] if filename_roles and ldap_source_title: try: add_roles_from_circa_export( ctx, os.path.join(upload_prefix, filename_roles), ldap_source_title) except: logger.critical(traceback.format_exc()) filename_notifications = self.request.form.get( 'filename_notifications') if filename_notifications: try: add_notifications_from_circa_export( ctx, os.path.join(upload_prefix, filename_notifications)) except: logger.critical(traceback.format_exc()) filename_acls = self.request.form['filename_acls'] if filename_acls: try: add_acls_from_circa_export( ctx, os.path.join(upload_prefix, filename_acls)) except: logger.critical(traceback.format_exc()) finally: if 'report' in self.request.form: savepoint.rollback() return import_all_zpt.__of__(ctx)(sources=sources, report=log.getvalue())
def __call__(self): if upload_prefix is None: return "upload prefix not configured" ctx = self.context.aq_inner # because self subclasses from Explicit sources = get_acl_users_sources_titles(ctx) if self.request['REQUEST_METHOD'] == 'GET': return import_roles_zpt.__of__(ctx)(sources=sources) name = self.request.form['filename'] ldap_source_title = self.request.form['source_title'] log = init_log_stream() try: add_roles_from_circa_export(ctx, os.path.join(upload_prefix, name), ldap_source_title) except: logger.critical(traceback.format_exc()) return import_roles_zpt.__of__(ctx)(sources=sources, report=log.getvalue())