[hub][publish] in_progress/empty state
diff --git a/erpnext/hub_node/__init__.py b/erpnext/hub_node/__init__.py
index f913239..7d846d1 100644
--- a/erpnext/hub_node/__init__.py
+++ b/erpnext/hub_node/__init__.py
@@ -55,13 +55,15 @@
@frappe.whitelist()
def publish_selected_items(items_to_publish):
- # for item_code in json.loads(items_to_publish):
- # frappe.db.set_value('Item', item_code, 'publish_in_hub', 1)
+ for item_code in json.loads(items_to_publish):
+ frappe.db.set_value('Item', item_code, 'publish_in_hub', 1)
- time.sleep(3)
+ # frappe.db.set_value("Hub Settings", "Hub Settings", "sync_in_progress", 1)
+ # time.sleep(10)
+ # frappe.db.set_value("Hub Settings", "Hub Settings", "sync_in_progress", 0)
- # hub_settings = frappe.get_doc('Hub Settings')
- # hub_settings.sync()
+ hub_settings = frappe.get_doc('Hub Settings')
+ hub_settings.sync()
return
diff --git a/erpnext/hub_node/doctype/hub_settings/hub_settings.py b/erpnext/hub_node/doctype/hub_settings/hub_settings.py
index 551423c..52fdb8c 100644
--- a/erpnext/hub_node/doctype/hub_settings/hub_settings.py
+++ b/erpnext/hub_node/doctype/hub_settings/hub_settings.py
@@ -46,10 +46,12 @@
doc = frappe.get_doc({
'doctype': 'Data Migration Run',
'data_migration_plan': 'Hub Sync',
- 'data_migration_connector': 'Hub Connector'
+ 'data_migration_connector': 'Hub Connector',
}).insert()
+ self.sync_in_progress = 1
doc.run()
+ self.sync_in_progress = 0
def pre_reg(self):
site_name = frappe.local.site + ':' + str(frappe.conf.webserver_port)
@@ -86,9 +88,9 @@
post_url = hub_url + '/api/method/hub.hub.api.register'
response = requests.post(post_url, data=data, headers = {'accept': 'application/json'})
-
+
response.raise_for_status()
-
+
if response.ok:
message = response.json().get('message')
else:
diff --git a/erpnext/public/js/hub/hub_listing.js b/erpnext/public/js/hub/hub_listing.js
index 7a71c11..bde1e8f 100644
--- a/erpnext/public/js/hub/hub_listing.js
+++ b/erpnext/public/js/hub/hub_listing.js
@@ -670,9 +670,9 @@
setup_events() {
this.$wrapper.find('.publish-items').on('click', () => {
+ this.load_publishing_state();
this.publish_selected_items()
.then(r => {
- this.load_publishing_state();
frappe.msgprint('check');
});
});
@@ -716,12 +716,6 @@
const more_than_one = total_items > 1;
this.$wrapper.find('.publish-items')
.html(__('Publish ' + total_items + ' item' + (more_than_one ? 's' : '')));
-
- // if($target.hasClass('active')) {
- // $target.addClass('active');
- // } else {
- // $target.removeClass('active');
- // }
});
this.$wrapper.append(items_container);
@@ -737,9 +731,9 @@
}
load_publishing_state() {
- this.$wrapper.html(`<div>
- <b>Publishing</b>
- </div>`);
+ this.$wrapper.html(get_empty_state(
+ 'Publishing items ... You will be notified once published.'
+ ));
}
publish_selected_items() {
@@ -757,6 +751,12 @@
}
}
+function get_empty_state(message) {
+ return `<div class="empty-state flex">
+ <p class="text-muted">${message}</p>
+ </div>`
+}
+
function get_item_card_container_html(items, title='') {
const items_html = (items || []).map(item => get_item_card_html(item)).join('');
diff --git a/erpnext/public/less/hub.less b/erpnext/public/less/hub.less
index 8c7392a..bd503fe 100644
--- a/erpnext/public/less/hub.less
+++ b/erpnext/public/less/hub.less
@@ -156,6 +156,11 @@
padding: 15px 25px;
}
+ .empty-state {
+ justify-content: center;
+ padding-top: 159px;
+ }
+
.form-container {
.frappe-control {
max-width: 100% !important;