diff --git a/ckanext/bulkupload/actions.py b/ckanext/bulkupload/actions.py deleted file mode 100644 index f01cf0f..0000000 --- a/ckanext/bulkupload/actions.py +++ /dev/null @@ -1,6 +0,0 @@ -import ckan.plugins.toolkit as tk - -def call_add_resouce_api(*args, **kwargs): - - print("============================1==========================") - diff --git a/ckanext/bulkupload/plugin.py b/ckanext/bulkupload/plugin.py index 370325a..6348426 100644 --- a/ckanext/bulkupload/plugin.py +++ b/ckanext/bulkupload/plugin.py @@ -1,6 +1,5 @@ import ckan.plugins as plugins import ckan.plugins.toolkit as toolkit -import ckanext.bulkupload.actions as actions import ckanext.bulkupload.auth as auth from ckanext.bulkupload.views import bulkupload from ckan.lib.plugins import DefaultTranslation @@ -9,7 +8,6 @@ class BulkuploadPlugin(plugins.SingletonPlugin, DefaultTranslation): plugins.implements(plugins.IConfigurer) plugins.implements(plugins.IBlueprint) - plugins.implements(plugins.IActions) plugins.implements(plugins.IAuthFunctions) plugins.implements(plugins.ITranslation) @@ -20,15 +18,6 @@ def update_config(self, config_): toolkit.add_public_directory(config_, 'public') toolkit.add_resource('fanstatic', 'bulkupload') - # IActions - - def get_actions(self): - - return { - "call_add_resouce_api": actions.call_add_resouce_api, - - } - # IAuthFunctions def get_auth_functions(self): diff --git a/ckanext/bulkupload/templates/package/new_resource.html b/ckanext/bulkupload/templates/package/new_resource.html new file mode 100644 index 0000000..14ec672 --- /dev/null +++ b/ckanext/bulkupload/templates/package/new_resource.html @@ -0,0 +1,27 @@ +{% extends "package/base_form_page.html" %} + +{% set logged_in = true if c.userobj else false %} + +{% block subtitle %}{{ _('Add data to the dataset') }}{% endblock %} + +{% block breadcrumb_content_selected %}{% endblock %} +{% block breadcrumb_content %} + {{ super() }} + {% if pkg %} +
  • {{ _('Add New Resource') }}
  • + {% endif %} +{% endblock %} + +{% block form %}{% snippet resource_form_snippet, data=data, errors=errors, error_summary=error_summary, include_metadata=false, pkg_name=pkg_name, stage=stage, dataset_type=dataset_type %}{% endblock %} + +{% block secondary_content %} + {% snippet 'package/snippets/resource_help.html' %} +
    +
  • {% link_for _('Bulk Upload'), named_route='bulkupload.bulk_resource_upload', pkg_name=pkg_name, icon='plus-square' %}
  • +
    +{% endblock %} + +{% block scripts %} + {{ super() }} + {% asset 'vendor/fileupload' %} +{% endblock %} diff --git a/ckanext/bulkupload/views.py b/ckanext/bulkupload/views.py index 6fe6c10..09145a3 100644 --- a/ckanext/bulkupload/views.py +++ b/ckanext/bulkupload/views.py @@ -1,5 +1,4 @@ from flask import Blueprint -from flask import request from ckan.common import config import ckan.model as model import ckan.logic as logic @@ -69,12 +68,20 @@ def bulk_resource_upload(pkg_name): form_data = clean_dict( dict_fns.unflatten(tuplize_dict(parse_params(tk.request.form))) ) - print(form_data['author']) pkg_name_dict = { 'id': pkg_name, } pkg_dict = get.package_show(context, pkg_name_dict) uploaded_files = flask.request.files.getlist("file[]") + + # For newly created datasets + if pkg_dict['state'] != 'active': + patch_package_data = { + 'id': pkg_name, + 'state': 'active', + } + tk.get_action("package_patch")(context, patch_package_data) + for f in uploaded_files: data_dict = {