fix: Energy point UX (#7164)
- Make user mandatory - Allow data fieldtype for user_field - Change fieldtype of user selection from select to autocomplete - Put create_energy_points_log inside try catch to avoid document save failure
This commit is contained in:
parent
6f4ef89fb7
commit
eae217eaa9
4 changed files with 14 additions and 11 deletions
|
|
@ -71,7 +71,7 @@ frappe.ui.form.Review = class Review {
|
|||
'title': __('Add Review'),
|
||||
'fields': [{
|
||||
fieldname: 'to_user',
|
||||
fieldtype: 'Select',
|
||||
fieldtype: 'Autocomplete',
|
||||
label: __('To User'),
|
||||
options: user_options,
|
||||
default: user_options.includes(doc_owner) ? doc_owner : user_options[0],
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
"read_only": 1,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 1,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
|
|
@ -259,7 +259,7 @@
|
|||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"menu_index": 0,
|
||||
"modified": "2019-03-27 23:49:54.841493",
|
||||
"modified": "2019-03-29 20:01:05.503043",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Social",
|
||||
"name": "Energy Point Log",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ frappe.ui.form.on('Energy Point Rule', {
|
|||
frappe.model.with_doctype(reference_doctype, () => {
|
||||
const map_for_options = df => ({ label: df.label, value: df.fieldname });
|
||||
const fields = frappe.meta.get_docfields(frm.doc.reference_doctype);
|
||||
const user_fields = fields.filter(df => df.fieldtype === 'Link' && df.options === 'User')
|
||||
const user_fields = fields.filter(df => (df.fieldtype === 'Link' && df.options === 'User')
|
||||
|| df.fieldtype === 'Data')
|
||||
.map(map_for_options)
|
||||
.concat([{label: __('Owner'), value: 'owner'}]);
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ class EnergyPointRule(Document):
|
|||
multiplier = 1
|
||||
|
||||
if self.multiplier_field:
|
||||
multiplier = doc.get(self.multiplier_field, 1)
|
||||
multiplier = doc.get(self.multiplier_field) or 1
|
||||
|
||||
points = round(self.points * multiplier)
|
||||
reference_doctype = doc.doctype
|
||||
|
|
@ -24,12 +24,14 @@ class EnergyPointRule(Document):
|
|||
|
||||
# incase of zero as result after roundoff
|
||||
if not points: return
|
||||
|
||||
create_energy_points_log(reference_doctype, reference_name, {
|
||||
'points': points,
|
||||
'user': user,
|
||||
'rule': rule
|
||||
})
|
||||
try:
|
||||
create_energy_points_log(reference_doctype, reference_name, {
|
||||
'points': points,
|
||||
'user': user,
|
||||
'rule': rule
|
||||
})
|
||||
except Exception as e:
|
||||
frappe.log_error('apply_energy_point', e)
|
||||
|
||||
|
||||
def process_energy_points(doc, state):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue