[hub] test progress trigger

This commit is contained in:
Prateeksha Singh 2018-07-30 13:24:01 +05:30
parent efbd2ee3f5
commit 46df72d55d
4 changed files with 62 additions and 22 deletions

View File

@ -73,14 +73,18 @@ def publish_selected_items(items_to_publish):
if not len(items_to_publish):
return
for item_code in items_to_publish:
frappe.db.set_value('Item', item_code, 'publish_in_hub', 1)
# TODO: sync
# for item_code in items_to_publish:
# frappe.db.set_value('Item', item_code, 'publish_in_hub', 1)
# hub_settings = frappe.get_doc('Hub Settings')
# remote_id = item_sync_preprocess()
# hub_settings.sync(remote_id)
# return remote_id
hub_settings = frappe.get_doc('Hub Settings')
remote_id = item_sync_preprocess()
hub_settings.sync(remote_id)
return remote_id
hub_settings.sync('TEST')
def item_sync_preprocess():
# Call Hub to make a new activity
@ -108,6 +112,7 @@ def item_sync_postprocess(obj):
if response:
frappe.db.set_value('Hub Settings', 'Hub Settings', 'sync_in_progress', 0)
frappe.db.set_value('Hub Settings', 'Hub Settings', 'last_sync_datetime', frappe.utils.now())
else:
frappe.throw('Unable to update remote activity')

View File

@ -538,7 +538,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "publish",
"depends_on": "",
"fieldname": "last_sync_datetime",
"fieldtype": "Datetime",
"hidden": 0,
@ -555,7 +555,7 @@
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
@ -675,7 +675,7 @@
"issingle": 1,
"istable": 0,
"max_attachments": 0,
"modified": "2018-07-30 08:01:09.024358",
"modified": "2018-07-30 10:43:28.818498",
"modified_by": "Administrator",
"module": "Hub Node",
"name": "Hub Settings",

View File

@ -37,12 +37,31 @@ class HubSettings(Document):
'doctype': 'Data Migration Run',
'data_migration_plan': 'Hub Sync',
'data_migration_connector': 'Hub Connector',
'remote_id': remote_id
'remote_id': remote_id,
'trigger_name': 'items-sync'
}).insert()
self.sync_in_progress = 1
# time.sleep(10)
doc.run()
time.sleep(2)
frappe.publish_realtime('items-sync', {"progress_percent": 20})
print("=======================")
time.sleep(2)
frappe.publish_realtime('items-sync', {"progress_percent": 40})
print("=======================")
time.sleep(1)
frappe.publish_realtime('items-sync', {"progress_percent": 80})
print("=======================")
time.sleep(2)
frappe.publish_realtime('items-sync', {"progress_percent": 100})
print("=======================")
frappe.db.set_value('Hub Settings', 'Hub Settings', 'last_sync_datetime', frappe.utils.now())
# TODO: sync
# self.sync_in_progress = 1
# doc.run()
else:
frappe.throw("No remote ID specified")

View File

@ -828,6 +828,21 @@ erpnext.hub.Publish = class Publish extends SubPage {
this.items_to_publish = [];
this.unpublished_items = [];
this.fetched_items = [];
frappe.realtime.on("items-sync", (data) => {
this.$wrapper.find('.progress-bar').css('width', data.progress_percent+'%');
if(data.progress_percent === 100) {
setTimeout(() => {
hub.settings.sync_in_progress = 0;
frappe.db.get_doc('Hub Settings')
.then(doc => {
hub.settings = doc;
this.refresh();
});
}, 500);
}
});
}
refresh() {
@ -853,8 +868,8 @@ erpnext.hub.Publish = class Publish extends SubPage {
this.setup_publishing_events();
if(hub.settings.last_sync) {
this.show_message(`Last sync was <a href="#marketplace/profile">${hub.settings.last_sync}</a>.
if(hub.settings.last_sync_datetime) {
this.show_message(`Last sync was <a href="#marketplace/profile">${hub.settings.last_sync_datetime}</a>.
<a href="#marketplace/my-products">See your Published Products</a>.`);
}
@ -962,7 +977,7 @@ erpnext.hub.Publish = class Publish extends SubPage {
const $publish_progress = $(`<div class="sync-progress">
<p><b>${__(`Syncing ${items_to_publish.length} Products`)}</b></p>
<div class="progress">
<div class="progress-bar" style="width: 12.875%"></div>
<div class="progress-bar" style="width: 1%"></div>
</div>
</div>`);
@ -1026,16 +1041,17 @@ erpnext.hub.Publish = class Publish extends SubPage {
return frappe.db.set_value("Hub Settings", "Hub Settings", {
custom_data: JSON.stringify(items_to_publish),
// TODO: sync
// sync_in_progress: 1
}).then(() => {
hub.settings.sync_in_progress = 1;
})
// .then(frappe.call(
// 'erpnext.hub_node.publish_selected_items',
// {
// items_to_publish: item_codes_to_publish
// }
// ));
.then(frappe.call(
'erpnext.hub_node.publish_selected_items',
{
items_to_publish: item_codes_to_publish
}
));
}
}