[hub] sync multiple image urls
- using a simple multiselect currently
This commit is contained in:
parent
0a60d1cd96
commit
a525d12f69
@ -2,6 +2,7 @@ from __future__ import unicode_literals
|
|||||||
import frappe, requests, json
|
import frappe, requests, json
|
||||||
from frappe.utils import now
|
from frappe.utils import now
|
||||||
from frappe.frappeclient import FrappeClient
|
from frappe.frappeclient import FrappeClient
|
||||||
|
from frappe.desk.form.load import get_attachments
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def call_hub_method(method, params=None):
|
def call_hub_method(method, params=None):
|
||||||
@ -31,11 +32,13 @@ def get_valid_items(search_value=''):
|
|||||||
|
|
||||||
valid_items = filter(lambda x: x.image and x.description, items)
|
valid_items = filter(lambda x: x.image and x.description, items)
|
||||||
|
|
||||||
def attach_source_type(item):
|
def prepare_item(item):
|
||||||
item.source_type = "local"
|
item.source_type = "local"
|
||||||
|
item.attachments = get_attachments('Item', item.item_code)
|
||||||
return item
|
return item
|
||||||
|
|
||||||
valid_items = map(lambda x: attach_source_type(x), valid_items)
|
valid_items = map(lambda x: prepare_item(x), valid_items)
|
||||||
|
|
||||||
return valid_items
|
return valid_items
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
@ -52,7 +55,7 @@ def publish_selected_items(items_to_publish):
|
|||||||
'doctype': 'Hub Tracked Item',
|
'doctype': 'Hub Tracked Item',
|
||||||
'item_code': item_code,
|
'item_code': item_code,
|
||||||
'hub_category': item.get('hub_category'),
|
'hub_category': item.get('hub_category'),
|
||||||
# 'images': item.get('images')
|
'image_list': item.get('image_list')
|
||||||
}).insert()
|
}).insert()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -19,6 +19,7 @@ def pre_process(doc):
|
|||||||
|
|
||||||
if cached_details:
|
if cached_details:
|
||||||
doc.hub_category = cached_details.hub_category
|
doc.hub_category = cached_details.hub_category
|
||||||
|
doc.image_list = cached_details.image_list
|
||||||
|
|
||||||
return doc
|
return doc
|
||||||
|
|
||||||
|
@ -24,10 +24,20 @@
|
|||||||
"local_fieldname": "image",
|
"local_fieldname": "image",
|
||||||
"remote_fieldname": "image"
|
"remote_fieldname": "image"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"is_child_table": 0,
|
||||||
|
"local_fieldname": "image_list",
|
||||||
|
"remote_fieldname": "image_list"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"is_child_table": 0,
|
"is_child_table": 0,
|
||||||
"local_fieldname": "item_group",
|
"local_fieldname": "item_group",
|
||||||
"remote_fieldname": "item_group"
|
"remote_fieldname": "item_group"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"is_child_table": 0,
|
||||||
|
"local_fieldname": "hub_category",
|
||||||
|
"remote_fieldname": "hub_category"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"idx": 1,
|
"idx": 1,
|
||||||
@ -35,7 +45,7 @@
|
|||||||
"mapping_name": "Item to Hub Item",
|
"mapping_name": "Item to Hub Item",
|
||||||
"mapping_type": "Push",
|
"mapping_type": "Push",
|
||||||
"migration_id_field": "hub_sync_id",
|
"migration_id_field": "hub_sync_id",
|
||||||
"modified": "2018-08-01 16:37:09.170546",
|
"modified": "2018-08-19 22:20:25.727581",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"name": "Item to Hub Item",
|
"name": "Item to Hub Item",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
"mapping": "Item to Hub Item"
|
"mapping": "Item to Hub Item"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2018-08-01 16:37:09.027512",
|
"modified": "2018-08-19 22:20:25.644602",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Hub Node",
|
"module": "Hub Node",
|
||||||
"name": "Hub Sync",
|
"name": "Hub Sync",
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "images",
|
"fieldname": "image_list",
|
||||||
"fieldtype": "Long Text",
|
"fieldtype": "Long Text",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
@ -93,7 +93,7 @@
|
|||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Images",
|
"label": "Image List",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -120,7 +120,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2018-08-19 19:30:01.449904",
|
"modified": "2018-08-19 22:24:06.207307",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Hub Node",
|
"module": "Hub Node",
|
||||||
"name": "Hub Tracked Item",
|
"name": "Hub Tracked Item",
|
||||||
|
@ -10,6 +10,7 @@ erpnext.hub.Publish = class Publish extends SubPage {
|
|||||||
this.items_to_publish = {};
|
this.items_to_publish = {};
|
||||||
this.unpublished_items = [];
|
this.unpublished_items = [];
|
||||||
this.fetched_items = [];
|
this.fetched_items = [];
|
||||||
|
this.fetched_items_dict = {};
|
||||||
|
|
||||||
this.cache = erpnext.hub.cache.items_to_publish;
|
this.cache = erpnext.hub.cache.items_to_publish;
|
||||||
this.cache = [];
|
this.cache = [];
|
||||||
@ -132,6 +133,13 @@ erpnext.hub.Publish = class Publish extends SubPage {
|
|||||||
"Sports", "Transportation"
|
"Sports", "Transportation"
|
||||||
],
|
],
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Images",
|
||||||
|
"fieldname": "image_list",
|
||||||
|
"fieldtype": "MultiSelect",
|
||||||
|
"options": [],
|
||||||
|
"reqd": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
primary_action_label: __('Set Details'),
|
primary_action_label: __('Set Details'),
|
||||||
@ -154,9 +162,17 @@ erpnext.hub.Publish = class Publish extends SubPage {
|
|||||||
show_publishing_dialog_for_item(item_code) {
|
show_publishing_dialog_for_item(item_code) {
|
||||||
let item_data = this.items_to_publish[item_code];
|
let item_data = this.items_to_publish[item_code];
|
||||||
|
|
||||||
if(!item_data) { item_data = { item_code }; }
|
if(!item_data) { item_data = { item_code }; };
|
||||||
|
|
||||||
this.publishing_dialog.clear();
|
this.publishing_dialog.clear();
|
||||||
|
|
||||||
|
const item_doc = this.fetched_items_dict[item_code];
|
||||||
|
if(item_doc) {
|
||||||
|
this.publishing_dialog.fields_dict.image_list.set_data(
|
||||||
|
item_doc.attachments.map(attachment => attachment.file_url)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
this.publishing_dialog.set_values(item_data);
|
this.publishing_dialog.set_values(item_data);
|
||||||
this.publishing_dialog.show();
|
this.publishing_dialog.show();
|
||||||
}
|
}
|
||||||
@ -268,6 +284,10 @@ erpnext.hub.Publish = class Publish extends SubPage {
|
|||||||
const items_container = $(get_item_card_container_html(items, '', get_local_item_card_html));
|
const items_container = $(get_item_card_container_html(items, '', get_local_item_card_html));
|
||||||
items_container.addClass('results');
|
items_container.addClass('results');
|
||||||
wrapper.append(items_container);
|
wrapper.append(items_container);
|
||||||
|
|
||||||
|
items.map(item => {
|
||||||
|
this.fetched_items_dict[item.item_code] = item;
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
get_valid_items() {
|
get_valid_items() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user