refactor assign_to dialog for ease of use (#2401)

* refactor assign_to dialog for ease of use

* CamelCase for classes

* Update doclistview.js
This commit is contained in:
robert schouten 2016-12-02 18:08:31 +08:00 committed by Rushabh Mehta
parent 47ecf4c513
commit d412c4718e
2 changed files with 50 additions and 50 deletions

View file

@ -85,7 +85,7 @@ frappe.ui.form.AssignTo = Class.extend({
}
if(!me.dialog) {
me.dialog = frappe.ui.to_do_dialog({
me.dialog = new frappe.ui.form.AssignToDialog({
obj: me,
method: 'frappe.desk.form.assign_to.add',
doctype: me.frm.doctype,
@ -103,28 +103,7 @@ frappe.ui.form.AssignTo = Class.extend({
}
me.dialog.show();
var myself = me.dialog.get_input("myself").on("click", function() {
me.toggle_myself(this);
});
me.toggle_myself(myself);
},
toggle_myself: function(myself) {
var me = this;
if($(myself).prop("checked")) {
me.dialog.set_value("assign_to", user);
me.dialog.set_value("notify", 0);
me.dialog.get_field("notify").$wrapper.toggle(false);
me.dialog.get_field("assign_to").$wrapper.toggle(false);
} else {
me.dialog.set_value("assign_to", "");
me.dialog.set_value("notify", 1);
me.dialog.get_field("notify").$wrapper.toggle(true);
me.dialog.get_field("assign_to").$wrapper.toggle(true);
}
},
remove: function(owner) {
var me = this;
@ -149,35 +128,56 @@ frappe.ui.form.AssignTo = Class.extend({
});
frappe.ui.to_do_dialog = function(opts){
var dialog = new frappe.ui.Dialog({
title: __('Add to To Do'),
fields: [
{fieldtype: 'Link', fieldname:'assign_to', options:'User',
label:__("Assign To"), reqd:true, filters: {'user_type': 'System User'}},
{fieldtype:'Check', fieldname:'myself', label:__("Assign to me"), "default":0},
{fieldtype:'Small Text', fieldname:'description', label:__("Comment"), reqd:true},
{fieldtype: 'Section Break'},
{fieldtype: 'Column Break'},
{fieldtype:'Date', fieldname:'date', label: __("Complete By")},
{fieldtype:'Check', fieldname:'notify',
label:__("Notify by Email"), "default":1},
{fieldtype: 'Column Break'},
{fieldtype:'Select', fieldname:'priority', label: __("Priority"),
options:[
{value: 'Low', label: __('Low')},
{value:'Medium', label: __('Medium')},
{value: 'High', label: __('High')}],
'default':'Medium'},
],
primary_action: function() { frappe.ui.add_assignment(opts, dialog); },
primary_action_label: __("Add")
});
frappe.ui.form.AssignToDialog = Class.extend({
init: function(opts){
var me = this
$.extend(me,new frappe.ui.Dialog({
title: __('Add to To Do'),
fields: [
{fieldtype: 'Link', fieldname:'assign_to', options:'User',
label:__("Assign To"), reqd:true, filters: {'user_type': 'System User'}},
{fieldtype:'Check', fieldname:'myself', label:__("Assign to me"), "default":0},
{fieldtype:'Small Text', fieldname:'description', label:__("Comment"), reqd:true},
{fieldtype: 'Section Break'},
{fieldtype: 'Column Break'},
{fieldtype:'Date', fieldname:'date', label: __("Complete By")},
{fieldtype:'Check', fieldname:'notify',
label:__("Notify by Email"), "default":1},
{fieldtype: 'Column Break'},
{fieldtype:'Select', fieldname:'priority', label: __("Priority"),
options:[
{value:'Low', label:__('Low')},
{value:'Medium', label:__('Medium')},
{value:'High', label:__('High')}],
'default':'Medium'},
],
primary_action: function() { frappe.ui.add_assignment(opts, me); },
primary_action_label: __("Add")
}));
dialog.fields_dict.assign_to.get_query = "frappe.core.doctype.user.user.user_query";
dialog.fields_dict.assign_to.get_query = "frappe.core.doctype.user.user.user_query";
return dialog
}
var myself = me.get_input("myself").on("click", function() {
me.toggle_myself(this);
});
me.toggle_myself(myself);
},
toggle_myself: function(myself) {
var me = this;
if($(myself).prop("checked")) {
me.set_value("assign_to", user);
me.set_value("notify", 0);
me.get_field("notify").$wrapper.toggle(false);
me.get_field("assign_to").$wrapper.toggle(false);
} else {
me.set_value("assign_to", "");
me.set_value("notify", 1);
me.get_field("notify").$wrapper.toggle(true);
me.get_field("assign_to").$wrapper.toggle(true);
}
},
});
frappe.ui.add_assignment = function(opts, dialog) {
var assign_to = opts.obj.dialog.fields_dict.assign_to.get_value();

View file

@ -659,7 +659,7 @@ frappe.views.DocListView = frappe.ui.Listing.extend({
})
if(docname.length >= 1){
me.dialog = frappe.ui.to_do_dialog({
me.dialog = new frappe.ui.AssignToDialog({
obj: me,
method: 'frappe.desk.form.assign_to.add_multiple',
doctype: me.doctype,