Merge branch 'hub-redesign' of https://github.com/frappe/erpnext into hub-redesign
diff --git a/erpnext/hub_node/doctype/hub_settings/hub_settings.js b/erpnext/hub_node/doctype/hub_settings/hub_settings.js
index 03314bb..089f499 100644
--- a/erpnext/hub_node/doctype/hub_settings/hub_settings.js
+++ b/erpnext/hub_node/doctype/hub_settings/hub_settings.js
@@ -1,35 +1,3 @@
frappe.ui.form.on("Hub Settings", {
- onload_post_render: function(frm) {
- if(frm.get_field("unregister_from_hub").$input)
- frm.get_field("unregister_from_hub").$input.addClass("btn-danger");
- },
-
- hub_user_email: function(frm) {
- if(frm.doc.hub_user_email){
- frm.set_value("hub_user_name", frappe.user.full_name(frm.doc.hub_user_email));
- }
- },
-
- call_register: (frm) => {
- this.frm.call({
- doc: this.frm.doc,
- method: "register",
- args: {},
- freeze: true,
- callback: function(r) {},
- onerror: function() {
- frappe.msgprint(__("Wrong Password"));
- frm.set_value("enabled", 0);
- }
- });
- },
-
- unregister_from_hub: (frm) => {
- frappe.verify_password(() => {
- var d = frappe.confirm(__('Are you sure you want to unregister?'), () => {
- frm.call('unregister');
- }, () => {}, __('Confirm Action'));
- d.get_primary_btn().addClass("btn-danger");
- });
- },
+ onload_post_render: function() {},
});
diff --git a/erpnext/public/js/hub/components/ItemCardsContainer.vue b/erpnext/public/js/hub/components/ItemCardsContainer.vue
index 748c272..0a20bcd 100644
--- a/erpnext/public/js/hub/components/ItemCardsContainer.vue
+++ b/erpnext/public/js/hub/components/ItemCardsContainer.vue
@@ -3,8 +3,9 @@
<empty-state
v-if="items.length === 0"
:message="empty_state_message"
+ :action="empty_state_action"
:bordered="true"
- :height="80"
+ :height="empty_state_height"
/>
<item-card
v-for="item in items"
@@ -36,6 +37,7 @@
editable: Boolean,
empty_state_message: String,
+ empty_state_action: Object,
empty_state_height: Number,
empty_state_bordered: Boolean
},
diff --git a/erpnext/public/js/hub/pages/Home.vue b/erpnext/public/js/hub/pages/Home.vue
index bba2e1d..4f9796d 100644
--- a/erpnext/public/js/hub/pages/Home.vue
+++ b/erpnext/public/js/hub/pages/Home.vue
@@ -13,7 +13,7 @@
<section-header>
<h4>{{ section.title }}</h4>
- <p :data-route="'marketplace/category/' + section.title">{{ 'See All' }}</p>
+ <p v-if="section.expandable" :data-route="'marketplace/category/' + section.title">{{ 'See All' }}</p>
</section-header>
<item-cards-container
@@ -71,6 +71,7 @@
this.sections.push({
title: __(category),
+ expandable: true,
items
});
});
diff --git a/erpnext/public/js/hub/pages/Publish.vue b/erpnext/public/js/hub/pages/Publish.vue
index 79da6cb..0219fc9 100644
--- a/erpnext/public/js/hub/pages/Publish.vue
+++ b/erpnext/public/js/hub/pages/Publish.vue
@@ -72,13 +72,11 @@
item_id_fieldname: 'item_code',
// Constants
+ // TODO: multiline translations don't work
page_title: __('Publish Products'),
search_placeholder: __('Search Items ...'),
- empty_state_message: __(`No Items selected yet.
- Browse and click on products below to publish.`),
- valid_products_instruction: __(`Only products with an image, description
- and category can be published. Please update them if an item in your
- inventory does not appear.`),
+ empty_state_message: __(`No Items selected yet. Browse and click on products below to publish.`),
+ valid_products_instruction: __(`Only products with an image and description can be published. Please update them if an item in your inventory does not appear.`),
last_sync_message: (hub.settings.last_sync_datetime)
? __(`Last sync was
<a href="#marketplace/profile">
diff --git a/erpnext/public/js/hub/pages/PublishedProducts.vue b/erpnext/public/js/hub/pages/PublishedProducts.vue
index 561dab2..1da5ffb 100644
--- a/erpnext/public/js/hub/pages/PublishedProducts.vue
+++ b/erpnext/public/js/hub/pages/PublishedProducts.vue
@@ -3,7 +3,23 @@
class="marketplace-page"
:data-page-name="page_name"
>
- <h5>{{ page_title }}</h5>
+ <section-header>
+ <div>
+ <h5>{{ page_title }}</h5>
+ <p v-if="items.length"
+ class="text-muted margin-bottom">
+ {{ published_items_message }}
+ </p>
+ </div>
+
+ <button v-if="items.length"
+ class="btn btn-default btn-xs publish-items"
+ v-route="'marketplace/publish'"
+ >
+ <span>{{ publish_button_text }}</span>
+ </button>
+
+ </section-header>
<item-cards-container
:container_name="page_title"
@@ -11,6 +27,7 @@
:item_id_fieldname="item_id_fieldname"
:on_click="go_to_item_details_page"
:empty_state_message="empty_state_message"
+ :empty_state_action="publish_page_action"
>
</item-cards-container>
</div>
@@ -25,8 +42,17 @@
items: [],
item_id_fieldname: 'name',
+ publish_page_action: {
+ label: __('Publish Your First Items'),
+ on_click: () => {
+ frappe.set_route(`marketplace/home`);
+ }
+ },
+
// Constants
- page_title: __('Published Products'),
+ page_title: __('Published Items'),
+ publish_button_text: __('Publish More Items'),
+ published_items_message: __('You can publish upto 200 items.'),
// TODO: Add empty state action
empty_state_message: __(`You haven't published any products yet. Publish.`)
};