示例#1
0
文件: ui.py 项目: eaudeweb/trunk-eggs
    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())
示例#2
0
    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())
示例#3
0
    def __call__(self):
        if upload_prefix is None:
            return "upload prefix not configured"

        ctx = self.context.aq_inner # because self subclasses from Explicit
        if self.request['REQUEST_METHOD'] == 'GET':
            return import_acls_zpt.__of__(ctx)()

        name = self.request.form['filename']

        log = init_log_stream()

        try:
            add_acls_from_circa_export(ctx, os.path.join(upload_prefix, name))
        except:
            logger.critical(traceback.format_exc())

        return import_acls_zpt.__of__(ctx)(report=log.getvalue())
示例#4
0
文件: ui.py 项目: eaudeweb/trunk-eggs
    def __call__(self):
        if upload_prefix is None:
            return "upload prefix not configured"

        ctx = self.context.aq_inner  # because self subclasses from Explicit
        if self.request['REQUEST_METHOD'] == 'GET':
            return import_acls_zpt.__of__(ctx)()

        name = self.request.form['filename']

        log = init_log_stream()

        try:
            add_acls_from_circa_export(ctx, os.path.join(upload_prefix, name))
        except:
            logger.critical(traceback.format_exc())

        return import_acls_zpt.__of__(ctx)(report=log.getvalue())