style: formatting changes

This commit is contained in:
Mangesh-Khairnar 2019-12-19 20:11:37 +05:30
parent ba48546678
commit c1a1e7d503
3 changed files with 101 additions and 98 deletions

View File

@ -116,10 +116,10 @@ def get_valid_items(search_value=''):
return valid_items return valid_items
@frappe.whitelist() @frappe.whitelist()
def update_item(ref_doctype, ref_doc, data): def update_item(ref_doc, data):
data = json.loads(data) data = json.loads(data)
data.update(dict(doctype=ref_doctype, name=ref_doc)) data.update(dict(doctype='Hub Item', name=ref_doc))
try: try:
connection = get_hub_connection() connection = get_hub_connection()
connection.update(data) connection.update(data)

View File

@ -1,4 +1,4 @@
function EditDetailsDialog(primary_action, defaults) { function edit_details_dialog(params) {
let dialog = new frappe.ui.Dialog({ let dialog = new frappe.ui.Dialog({
title: __('Update Details'), title: __('Update Details'),
fields: [ fields: [
@ -6,14 +6,14 @@ function EditDetailsDialog(primary_action, defaults) {
label: 'Item Name', label: 'Item Name',
fieldname: 'item_name', fieldname: 'item_name',
fieldtype: 'Data', fieldtype: 'Data',
default: defaults.item_name, default: params.defaults.item_name,
reqd: 1 reqd: 1
}, },
{ {
label: 'Hub Category', label: 'Hub Category',
fieldname: 'hub_category', fieldname: 'hub_category',
fieldtype: 'Autocomplete', fieldtype: 'Autocomplete',
default: defaults.hub_category, default: params.defaults.hub_category,
options: [], options: [],
reqd: 1 reqd: 1
}, },
@ -21,13 +21,13 @@ function EditDetailsDialog(primary_action, defaults) {
label: 'Description', label: 'Description',
fieldname: 'description', fieldname: 'description',
fieldtype: 'Text', fieldtype: 'Text',
default: defaults.description, default: params.defaults.description,
options: [], options: [],
reqd: 1 reqd: 1
} }
], ],
primary_action_label: primary_action.label || __('Update Details'), primary_action_label: params.primary_action.label || __('Update Details'),
primary_action: primary_action.fn primary_action: params.primary_action.fn
}); });
hub.call('get_categories').then(categories => { hub.call('get_categories').then(categories => {
@ -38,4 +38,4 @@ function EditDetailsDialog(primary_action, defaults) {
return dialog; return dialog;
} }
export { EditDetailsDialog }; export { edit_details_dialog };

View File

@ -1,10 +1,5 @@
<template> <template>
<div <div class="marketplace-page" :data-page-name="page_name" v-if="init || item">
class="marketplace-page"
:data-page-name="page_name"
v-if="init || item"
>
<detail-view <detail-view
:title="title" :title="title"
:image="image" :image="image"
@ -12,20 +7,15 @@
:menu_items="menu_items" :menu_items="menu_items"
:show_skeleton="init" :show_skeleton="init"
> >
<detail-header-item slot="detail-header-item" <detail-header-item slot="detail-header-item" :value="item_subtitle"></detail-header-item>
:value="item_subtitle" <detail-header-item slot="detail-header-item" :value="item_views_and_ratings"></detail-header-item>
></detail-header-item>
<detail-header-item slot="detail-header-item"
:value="item_views_and_ratings"
></detail-header-item>
<button v-if="primary_action" slot="detail-header-item" <button
v-if="primary_action"
slot="detail-header-item"
class="btn btn-primary btn-sm margin-top" class="btn btn-primary btn-sm margin-top"
@click="primary_action.action" @click="primary_action.action"
> >{{ primary_action.label }}</button>
{{ primary_action.label }}
</button>
</detail-view> </detail-view>
<review-area v-if="!init" :hub_item_name="hub_item_name"></review-area> <review-area v-if="!init" :hub_item_name="hub_item_name"></review-area>
@ -35,7 +25,7 @@
<script> <script>
import ReviewArea from '../components/ReviewArea.vue'; import ReviewArea from '../components/ReviewArea.vue';
import { get_rating_html } from '../components/reviews'; import { get_rating_html } from '../components/reviews';
import { EditDetailsDialog } from '../components/edit_details_dialog'; import { edit_details_dialog } from '../components/edit_details_dialog';
export default { export default {
name: 'item-page', name: 'item-page',
@ -52,21 +42,20 @@ export default {
item: null, item: null,
title: null, title: null,
image: null, image: null,
sections: [], sections: []
}; };
}, },
computed: { computed: {
is_own_item() { is_own_item() {
let is_own_item = false; let is_own_item = false;
if(this.item) { if (this.item) {
if(this.item.hub_seller === hub.settings.hub_seller_name) { if (this.item.hub_seller === hub.settings.hub_seller_name) {
is_own_item = true; is_own_item = true;
} }
} }
return is_own_item; return is_own_item;
}, },
menu_items(){ menu_items() {
return [ return [
{ {
label: __('Save Item'), label: __('Save Item'),
@ -93,11 +82,11 @@ export default {
condition: hub.is_user_registered() && this.is_own_item, condition: hub.is_user_registered() && this.is_own_item,
action: this.unpublish_item action: this.unpublish_item
} }
] ];
}, },
item_subtitle() { item_subtitle() {
if(!this.item) { if (!this.item) {
return ''; return '';
} }
@ -106,25 +95,31 @@ export default {
const rating = this.item.average_rating; const rating = this.item.average_rating;
if (rating > 0) { if (rating > 0) {
subtitle_items.push(rating + `<i class='fa fa-fw fa-star-o'></i>`) subtitle_items.push(rating + `<i class='fa fa-fw fa-star-o'></i>`);
} }
subtitle_items.push({value:this.item.company,on_click:this.go_to_seller_profile_page}); subtitle_items.push({
value: this.item.company,
on_click: this.go_to_seller_profile_page
});
return subtitle_items; return subtitle_items;
}, },
item_views_and_ratings() { item_views_and_ratings() {
if(!this.item) { if (!this.item) {
return ''; return '';
} }
let stats = __('No views yet'); let stats = __('No views yet');
if(this.item.view_count) { if (this.item.view_count) {
const views_message = __(`${this.item.view_count} Views`); const views_message = __(`${this.item.view_count} Views`);
const rating_html = get_rating_html(this.item.average_rating); const rating_html = get_rating_html(this.item.average_rating);
const rating_count = this.item.no_of_ratings > 0 ? `${this.item.no_of_ratings} reviews` : __('No reviews yet'); const rating_count =
this.item.no_of_ratings > 0
? `${this.item.no_of_ratings} reviews`
: __('No reviews yet');
stats = [views_message, rating_html, rating_count]; stats = [views_message, rating_html, rating_count];
} }
@ -137,7 +132,7 @@ export default {
return { return {
label: __('Contact Seller'), label: __('Contact Seller'),
action: this.contact_seller.bind(this) action: this.contact_seller.bind(this)
} };
} else { } else {
return undefined; return undefined;
} }
@ -157,7 +152,7 @@ export default {
setTimeout(() => { setTimeout(() => {
hub.call('add_item_view', { hub.call('add_item_view', {
hub_item_name: this.hub_item_name hub_item_name: this.hub_item_name
}) });
// .then(() => { // .then(() => {
// erpnext.hub.item_view_cache.push(this.hub_item_name); // erpnext.hub.item_view_cache.push(this.hub_item_name);
// }); // });
@ -168,12 +163,12 @@ export default {
get_item_details() { get_item_details() {
this.item_received = hub.call('get_item_details', { hub_item_name: this.hub_item_name }) this.item_received = hub.call('get_item_details', { hub_item_name: this.hub_item_name })
.then(item => { .then(item => {
this.init = false; this.init = false;
this.item = item; this.item = item;
this.build_data(); this.build_data();
this.make_dialogs(); this.make_dialogs();
}); });
}, },
go_to_seller_profile_page(seller_name) { go_to_seller_profile_page(seller_name) {
frappe.set_route(`marketplace/seller/${seller_name}`); frappe.set_route(`marketplace/seller/${seller_name}`);
@ -206,32 +201,36 @@ export default {
add_to_saved_items() { add_to_saved_items() {
hub.call('add_item_to_user_saved_items', { hub.call('add_item_to_user_saved_items', {
hub_item_name: this.hub_item_name, hub_item_name: this.hub_item_name,
hub_user: frappe.session.user hub_user: frappe.session.user
}) })
.then(() => { .then(() => {
const saved_items_link = `<b><a href="#marketplace/saved-items">${__('Saved')}</a></b>` const saved_items_link = `<b><a href="#marketplace/saved-items">${__(
frappe.show_alert(saved_items_link); 'Saved'
erpnext.hub.trigger('action:item_save'); )}</a></b>`;
}) frappe.show_alert(saved_items_link);
.catch(e => { erpnext.hub.trigger('action:item_save');
console.error(e); })
}); .catch(e => {
console.error(e);
});
}, },
add_to_featured_items() { add_to_featured_items() {
hub.call('add_item_to_seller_featured_items', { hub.call('add_item_to_seller_featured_items', {
hub_item_name: this.hub_item_name, hub_item_name: this.hub_item_name,
hub_user: frappe.session.user hub_user: frappe.session.user
},) })
.then(() => { .then(() => {
const featured_items_link = `<b><a href="#marketplace/featured-items">${__('Added to Featured Items')}</a></b>` const featured_items_link = `<b><a href="#marketplace/featured-items">${__(
frappe.show_alert(featured_items_link); 'Added to Featured Items'
erpnext.hub.trigger('action:item_feature'); )}</a></b>`;
}) frappe.show_alert(featured_items_link);
.catch(e => { erpnext.hub.trigger('action:item_feature');
console.error(e); })
}); .catch(e => {
console.error(e);
});
}, },
make_contact_seller_dialog() { make_contact_seller_dialog() {
@ -254,13 +253,13 @@ export default {
if (!message) return; if (!message) return;
hub.call('send_message', { hub.call('send_message', {
hub_item: this.item.name, hub_item: this.item.name,
message message
}) })
.then(() => { .then(() => {
this.contact_seller_dialog.hide(); this.contact_seller_dialog.hide();
frappe.set_route('marketplace', 'buying', this.item.name); frappe.set_route('marketplace', 'buying', this.item.name);
erpnext.hub.trigger('action:send_message') erpnext.hub.trigger('action:send_message');
}); });
} }
}); });
@ -277,7 +276,10 @@ export default {
} }
], ],
primary_action: ({ message }) => { primary_action: ({ message }) => {
hub.call('add_reported_item', { hub_item_name: this.item.name, message }) hub.call('add_reported_item', {
hub_item_name: this.item.name,
message
})
.then(() => { .then(() => {
d.hide(); d.hide();
frappe.show_alert(__('Item Reported')); frappe.show_alert(__('Item Reported'));
@ -287,35 +289,32 @@ export default {
}, },
make_editing_dialog() { make_editing_dialog() {
this.edit_details_dialog = EditDetailsDialog( this.edit_dialog = edit_details_dialog({
{ primary_action: {
fn: (values) => { fn: values => {
this.update_details(values); this.update_details(values);
this.edit_details_dialog.hide(); this.edit_dialog.hide();
} }
}, { },
'item_name': this.item.item_name, defaults: {
'hub_category': this.item.hub_category, item_name: this.item.item_name,
'description': this.item.description, hub_category: this.item.hub_category,
description: this.item.description
} }
); });
}, },
update_details(values) { update_details(values) {
frappe.call( frappe.call('erpnext.hub_node.api.update_item', {
'erpnext.hub_node.api.update_item',
{
ref_doctype: 'Hub Item',
ref_doc: this.item.name, ref_doc: this.item.name,
data: values data: values
} })
) .then(r => {
.then((r) => { return this.get_item_details();
return this.get_item_details(); })
}) .then(() => {
.then(() => { frappe.show_alert(__(`${this.item.item_name} Updated`));
frappe.show_alert(__(`${this.item.item_name} Updated`)); });
})
}, },
contact_seller() { contact_seller() {
@ -324,23 +323,27 @@ export default {
report_item() { report_item() {
if (!hub.is_seller_registered()) { if (!hub.is_seller_registered()) {
frappe.throw(__('Please login as a Marketplace User to report this item.')); frappe.throw(
__('Please login as a Marketplace User to report this item.')
);
} }
this.report_item_dialog.show(); this.report_item_dialog.show();
}, },
edit_details() { edit_details() {
if (!hub.is_seller_registered()) { if (!hub.is_seller_registered()) {
frappe.throw(__('Please login as a Marketplace User to edit this item.')); frappe.throw(
__('Please login as a Marketplace User to edit this item.')
);
} }
this.edit_details_dialog.show(); this.edit_dialog.show();
}, },
unpublish_item() { unpublish_item() {
frappe.msgprint(__('This feature is under development...')); frappe.msgprint(__('This feature is under development...'));
} }
} }
} };
</script> </script>
<style scoped></style> <style scoped></style>