Merge pull request #7640 from rmehta/energy-point-log-list

fix(energy-point-list): use standard list view
This commit is contained in:
Rushabh Mehta 2019-06-05 12:03:31 +05:30 committed by GitHub
commit f89448151f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 68 additions and 115 deletions

View file

@ -230,6 +230,7 @@ def migrate(context, rebuild_website=False):
finally:
frappe.destroy()
print("Compiling Python Files...")
compileall.compile_dir('../apps', quiet=1, rx=re.compile('.*node_modules.*'))
@click.command('run-patch')

View file

@ -1,97 +0,0 @@
<template>
<div>
<ul class="log-list">
<li class="history-log" v-for="log in history_logs" :key="log.name">
<span v-html="frappe.energy_points.format_history_log(log, true)"></span>
</li>
<li v-if="fetching" class="history-log">
{{ __('Fetching') + '...' }}
</li>
<li v-else-if="has_more_logs" class="history-log">
<button
class="btn btn-default btn-xs"
@click="get_logs()">
{{ __('Load more') }}
</button>
</li>
<li v-else-if="!history_logs.length" class="history-log">
{{ __('No logs found') }}
</li>
</ul>
</div>
</template>
<script>
export default {
props: ['user', 'from_date'],
data() {
return {
history_logs: [],
fetching: false,
has_more_logs: true
};
},
created() {
this.get_logs();
},
methods: {
get_logs() {
this.fetching = true;
const pull_limit = 10;
frappe.db
.get_list('Energy Point Log', {
filters: {
user: this.user,
type: ['!=', 'Review'],
creation: ['>=', this.from_date]
},
fields: ['*'],
limit: pull_limit,
limit_start: this.history_logs.length
})
.then(data => {
this.history_logs = this.history_logs.concat(data);
this.has_more_logs = data.length === pull_limit;
})
.finally(() => {
this.fetching = false;
});
}
}
};
</script>
<style lang="less">
@import 'frappe/public/less/common';
.log-list {
padding: 15px;
padding-left: 0px;
position: relative;
}
.log-list:before {
content: ' ';
border-left: 1px solid @border-color;
position: absolute;
top: 0px;
bottom: 0px;
left: 30px;
z-index: 0;
}
.history-log {
.text-muted;
.text-medium;
list-style: none;
padding: 10px;
padding-left: 50px;
display: flex;
position: relative;
}
.history-log:before {
content: ' ';
width: 7px;
height: 7px;
background-color: @border-color;
position: absolute;
border-radius: 50%;
left: 27px;
top: 16px;
}
</style>

View file

@ -2,6 +2,8 @@
<div class="profile-sidebar flex flex-column">
<div class="user-details">
<h3>{{ user.fullname }}</h3>
<p><a @click="view_energy_point_list(user)" class="text-muted">
{{ __("Energy Points") }}: {{ energy_points }}</a></p>
<p>{{ user.bio }}</p>
<div class="location" v-if="user.location">
<span class="text-muted">
@ -31,9 +33,15 @@ export default {
data() {
return {
user: frappe.user_info(this.user_id),
can_edit_profile: frappe.social.is_session_user_page()
can_edit_profile: frappe.social.is_session_user_page(),
energy_points: 0
};
},
mounted() {
frappe.xcall('frappe.social.doctype.energy_point_log.energy_point_log.get_user_energy_and_review_points', {user: this.user_id}).then(r => {
this.energy_points = r[this.user_id].energy_points;
});
},
methods: {
edit_profile() {
const edit_profile_dialog = new frappe.ui.Dialog({
@ -104,6 +112,9 @@ export default {
bio: this.user.bio
});
edit_profile_dialog.show();
},
view_energy_point_list(user) {
frappe.set_route('List', 'Energy Point Log', {user:user.name});
}
}
};

View file

@ -28,12 +28,12 @@
>{{ __(title) }}</span>
</li>
<li v-for="(user, index) in filtered_users" :key="user.name">
<div class="user-card" @click="toggle_log(user.name)">
<span class="user-details flex">
<div class="user-card">
<span class="user-details flex" @click="go_to_profile_page(user.name)">
<span class="rank-column">{{ index + 1 }}</span>
<span v-html="get_avatar(user.name)"></span>
<span>
<a @click="go_to_profile_page(user.name)">{{ user.fullname }}</a>
{{ user.fullname }}
<div
class="text-muted text-medium"
:class="{'italic': !user.bio}"
@ -44,6 +44,7 @@
class="text-muted text-nowrap flex-20"
v-for="key in ['energy_points', 'review_points', 'given_points']"
:key="key"
@click="toggle_log(user.name)"
>{{ user[key] }}</span>
</div>
<energy-point-history
@ -59,11 +60,7 @@
</div>
</template>
<script>
import EnergyPointHistory from '../components/EnergyPointHistory.vue';
export default {
components: {
EnergyPointHistory
},
data() {
return {
users: [],
@ -168,11 +165,7 @@ export default {
});
},
toggle_log(user) {
if (this.show_log_for === user) {
this.show_log_for = null;
} else {
this.show_log_for = user;
}
frappe.set_route('List', 'Energy Point Log', {user:user});
}
}
};

View file

@ -0,0 +1,29 @@
frappe.listview_settings['Energy Point Log'] = {
hide_name_column: true,
add_fields: ['type', 'reference_doctype', 'reference_name'],
get_indicator: function (doc) {
let colors = {
'Appreciation': 'green',
'Criticism': 'red',
'Auto': 'blue',
'Revert': 'orange',
'Review': 'grey'
};
return [__(doc.type), colors[doc.type], "type,=," + doc.type];
},
button: {
show: function(doc) {
return doc.reference_name;
},
get_label: function() {
return __('View Ref');
},
get_description: function(doc) {
return __('Open {0}', [`${doc.reference_doctype} ${doc.reference_name}`]);
},
action: function(doc) {
frappe.set_route('Form', doc.reference_doctype, doc.reference_name);
}
}
};

View file

@ -6,19 +6,22 @@
"field_order": [
"user",
"type",
"points",
"rule",
"column_break_5",
"reference_doctype",
"reference_name",
"points",
"reason",
"reverted",
"revert_of"
"revert_of",
"section_break_10",
"reason"
],
"fields": [
{
"fieldname": "user",
"fieldtype": "Link",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "User",
"options": "User",
"read_only": 1,
@ -28,7 +31,7 @@
{
"fieldname": "type",
"fieldtype": "Select",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Type",
"options": "Auto\nAppreciation\nCriticism\nReview\nRevert",
"read_only": 1,
@ -37,6 +40,7 @@
{
"fieldname": "rule",
"fieldtype": "Link",
"in_standard_filter": 1,
"label": "Rule",
"options": "Energy Point Rule",
"read_only": 1
@ -45,6 +49,7 @@
"fieldname": "reference_doctype",
"fieldtype": "Link",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Reference Doctype",
"options": "DocType",
"read_only": 1,
@ -67,6 +72,7 @@
{
"fieldname": "reason",
"fieldtype": "Text",
"in_list_view": 1,
"label": "Reason",
"read_only": 1
},
@ -84,10 +90,18 @@
"label": "Revert Of",
"options": "Energy Point Log",
"read_only": 1
},
{
"fieldname": "column_break_5",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_10",
"fieldtype": "Section Break"
}
],
"in_create": 1,
"modified": "2019-05-02 15:28:02.857792",
"modified": "2019-06-05 11:18:45.286367",
"modified_by": "Administrator",
"module": "Social",
"name": "Energy Point Log",
@ -95,10 +109,12 @@
"permissions": [
{
"read": 1,
"report": 1,
"role": "System Manager"
},
{
"read": 1,
"report": 1,
"role": "All"
}
],