[ui] listviews

This commit is contained in:
Rushabh Mehta 2015-01-07 16:43:27 +05:30
parent 7b34ebe89d
commit d49a123fd0
45 changed files with 743 additions and 1055 deletions

View File

@ -75,11 +75,6 @@ pscript['onload_Accounts Browser'] = function(wrapper){
}
pscript.set_title = function(wrapper, ctype, val) {
if(val) {
wrapper.page.set_title('Chart of '+ctype+'s' + " - " + cstr(val));
} else {
wrapper.page.set_title('Chart of '+ctype+'s');
}
}
pscript['onshow_Accounts Browser'] = function(wrapper){
@ -106,7 +101,7 @@ erpnext.AccountsChart = Class.extend({
me.company = company;
this.tree = new frappe.ui.Tree({
parent: $(wrapper),
label: ctype==="Account" ? "Accounts" : "Cost Centers",
label: ctype==="Account" ? __("Accounts") : __("Cost Centers"),
args: {ctype: ctype, comp: company},
method: 'erpnext.accounts.page.accounts_browser.accounts_browser.get_children',
click: function(link) {
@ -182,6 +177,14 @@ erpnext.AccountsChart = Class.extend({
}
});
},
set_title: function(val) {
var chart_str = this.ctype=="Account" ? __("Chart of Accounts") : __("Chart of Cost Centers");
if(val) {
wrapper.page.set_title(chart_str + " - " + cstr(val));
} else {
wrapper.page.set_title(chart_str);
}
},
new_account: function() {
var me = this;

View File

@ -1,39 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-8">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<span style="margin-right: 8px; display: inline-block">
<span class="filterable"
data-filter="supplier,=,{%= doc.supplier %}">
{%= doc.supplier_name %}</span></span>
{% if(doc.per_received < 100 && doc.status!=="Stopped") { %}
<span class="label label-warning filterable"
data-filter="per_received,<,100|status,!=,Stopped">
{%= __("Pending") %}
</span>
{% } %}
{% if(doc.status==="Stopped" || doc.status==="Draft") { %}
<span class="label label-danger filterable"
data-filter="status,=,Stopped">{%= __(doc.status) %}</span>
{% } %}
{% if(doc.per_received == 100 && doc.status!=="Stopped") { %}
<span class="filterable text-muted"
data-filter="per_received,=,100|status,!=,Stopped">
<i class="icon-ok-sign"></i></span>
{% } %}
</div>
</div>
<div class="col-xs-1 text-right">
{% var completed = doc.per_received, title = __("Received") %}
{% include "templates/form_grid/includes/progress.html" %}
</div>
<div class="col-xs-1 text-right">
{% var completed = doc.per_billed, title = __("Billed") %}
{% include "templates/form_grid/includes/progress.html" %}
</div>
<div class="col-xs-2 text-right">
<div class="text-ellipsis" title="{%= doc.get_formatted('grand_total_import') %}">
{%= doc.get_formatted("grand_total_import") %}
</div>
</div>
</div>

View File

@ -1,4 +1,15 @@
frappe.listview_settings['Purchase Order'] = {
add_fields: ["grand_total", "company", "currency", "supplier",
"supplier_name", "per_received", "per_billed", "status"]
"supplier_name", "per_received", "per_billed", "status"],
get_indicator: function(doc) {
if(doc.status==="Stopped") {
return [__("Stopped"), "red", "status,=,Stopped"];
} else if(doc.per_received < 100 && doc.status!=="Stopped") {
return [__("Not Received"), "orange", "per_received,<,100|status,!=,Stopped"];
} else if(doc.per_received == 100 && doc.per_billed < 100 && doc.status!=="Stopped") {
return [__("To Bill"), "orange", "per_received,=,100|per_billed,<,100|status,!=,Stopped"];
} else if(doc.per_received == 100 && doc.per_billed == 100 && doc.status!=="Stopped") {
return [__("Completed"), "green", "per_received,=,100|per_billed,=,100|status,!=,Stopped"];
}
}
};

View File

@ -1,22 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-10">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<span style="margin-right: 8px; display: inline-block">
<span class="filterable"
data-filter="supplier,=,{%= doc.supplier %}">
{%= doc.supplier %}</span>
</span>
</span>
<span class="label {%= doc.status=="Draft" ? "label-danger" :
(doc.status=="Ordered" ? "label-success": "label-info") %}
filterable"
data-filter="status,=,{%= doc.status %}">{%= doc.status %}</span>
</div>
</div>
<div class="col-xs-2 text-right">
<div class="text-ellipsis" title="{%= doc.get_formatted('grand_total_import') %}">
{%= doc.get_formatted("grand_total_import") %}
</div>
</div>
</div>

View File

@ -1,3 +1,10 @@
frappe.listview_settings['Supplier Quotation'] = {
add_fields: ["supplier", "grand_total", "status", "company", "currency"]
add_fields: ["supplier", "grand_total", "status", "company", "currency"],
get_indicator: function(doc) {
if(doc.status==="Ordered") {
return [__("Ordered"), "green", "status,=,Ordered"];
} else if(doc.status==="Rejected") {
return [__("Lost"), "darkgrey", "status,=,Lost"];
}
}
};

View File

@ -41,7 +41,7 @@
"fieldname": "employee_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "For Employee Name",
"oldfieldname": "employee_name",
"oldfieldtype": "Data",
@ -62,7 +62,7 @@
"fieldname": "status",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
@ -197,7 +197,7 @@
"icon": "icon-thumbs-up",
"idx": 1,
"is_submittable": 1,
"modified": "2014-12-24 15:00:49.133185",
"modified": "2015-01-07 14:51:15.943276",
"modified_by": "Administrator",
"module": "HR",
"name": "Appraisal",
@ -249,5 +249,6 @@
],
"search_fields": "status, employee, employee_name",
"sort_field": "modified",
"sort_order": "DESC"
"sort_order": "DESC",
"title_field": "employee_name"
}

View File

@ -40,7 +40,7 @@
{
"fieldname": "employee_name",
"fieldtype": "Data",
"in_list_view": 1,
"in_list_view": 0,
"label": "Employee Name",
"oldfieldname": "employee_name",
"oldfieldtype": "Data",
@ -51,7 +51,7 @@
"fieldname": "status",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
@ -65,7 +65,7 @@
"fieldname": "leave_type",
"fieldtype": "Link",
"hidden": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Leave Type",
"oldfieldname": "leave_type",
"oldfieldtype": "Link",
@ -85,6 +85,7 @@
"fieldname": "att_date",
"fieldtype": "Date",
"in_filter": 1,
"in_list_view": 1,
"label": "Attendance Date",
"oldfieldname": "att_date",
"oldfieldtype": "Date",
@ -129,7 +130,7 @@
"icon": "icon-ok",
"idx": 1,
"is_submittable": 1,
"modified": "2014-08-05 06:52:02.226904",
"modified": "2015-01-07 14:45:03.326807",
"modified_by": "Administrator",
"module": "HR",
"name": "Attendance",

View File

@ -1,19 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-10">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<span class="label
label-{%= {"Present":"success", "Absent":"default", "Half Day": "warning"}[doc.status] %} filterable"
title="{%= __("Status") %}"
data-filter="status,=,{%= doc.status %}">
{%= doc.status %}
</span>
</div>
</div>
<div class="col-xs-2 text-right">
<span style="margin-right: 8px;" class="filterable"
data-filter="att_date,=,{%= doc.att_date %}">
{%= doc.get_formatted("att_date") %}</span>
</div>
</div>

View File

@ -1,3 +1,6 @@
frappe.listview_settings['Attendance'] = {
add_fields: ["status", "att_date"],
get_indicator: function(doc) {
return [__(doc.status), doc.status=="Present" ? "green" : "darkgrey", "status,=," + doc.status];
}
};

View File

@ -160,7 +160,7 @@
"fieldname": "status",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Status",
"oldfieldname": "status",
"oldfieldtype": "Select",
@ -174,7 +174,7 @@
"fieldtype": "Link",
"ignore_user_permissions": 1,
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Employment Type",
"oldfieldname": "employment_type",
"oldfieldtype": "Link",
@ -273,6 +273,7 @@
"fieldname": "designation",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Designation",
"oldfieldname": "designation",
"oldfieldtype": "Link",
@ -673,7 +674,7 @@
],
"icon": "icon-user",
"idx": 1,
"modified": "2014-12-26 11:12:57.631617",
"modified": "2015-01-07 14:37:39.988374",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee",

View File

@ -1,35 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-12">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
{% if(doc.status==="Active") { %}
<span style="margin-right: 8px;"
title="{%= __("Active") %}" class="filterable"
data-filter="status,=,Active">
<i class="icon-ok"></i>
</span>
{% } %}
{% if(doc.designation) { %}
<span style="margin-right: 8px;" class="filterable"
data-filter="designation,=,{%= doc.designation %}">
{%= doc.designation %}</span>
{% } %}
{% if(doc.branch) { %}
<span class="label label-default filterable"
data-filter="branch,=,{%= doc.branch %}">
<i class="icon-map-marker"></i> {%= doc.branch %}
</span>
{% } %}
{% if(doc.department) { %}
<span class="label label-default filterable"
data-filter="department,=,{%= doc.department %}">
<i class="icon-sitemap"></i> {%= doc.department %}
</span>
{% } %}
</div>
</div>
</div>

View File

@ -1,4 +1,9 @@
frappe.listview_settings['Employee'] = {
add_fields: ["status", "branch", "department", "designation"],
filters:[["status","=", "Active"]]
filters: [["status","=", "Active"]],
get_indicator: function(doc) {
var indicator = [__(doc.status), frappe.utils.guess_colour(doc.status), "status,=," + doc.status];
indicator[1] = {"Active": "green", "Left": "darkgrey"}[doc.status];
return indicator;
}
};

View File

@ -88,7 +88,7 @@ cur_frm.cscript.refresh = function(doc,cdt,cdn){
if(doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
cur_frm.savesubmit();
if(doc.docstatus==1 && frappe.model.can_create("Journal Entry") &&
if(doc.docstatus==1 && frappe.model.can_create("Journal Entry") &&
cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount))
cur_frm.add_custom_button(__("Make Bank Entry"),
cur_frm.cscript.make_bank_entry, frappe.boot.doctype_icons["Journal Entry"]);
@ -106,15 +106,6 @@ cur_frm.cscript.set_help = function(doc) {
} else {
cur_frm.set_intro(__("Expense Claim is pending approval. Only the Expense Approver can update status."));
}
} else {
if(doc.approval_status=="Approved") {
cur_frm.set_intro(__("Expense Claim has been approved."));
if(Math.abs(cint(doc.total_amount_reimbursed) - cint(doc.total_sanctioned_amount)) < .001){
cur_frm.set_intro(__("Expense Claim has been reimbursed."));
}
} else if(doc.approval_status=="Rejected") {
cur_frm.set_intro(__("Expense Claim has been rejected."));
}
}
}
}

View File

@ -22,7 +22,7 @@
"fieldname": "approval_status",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Approval Status",
"no_copy": 1,
"oldfieldname": "approval_status",
@ -68,7 +68,7 @@
"fieldname": "total_sanctioned_amount",
"fieldtype": "Currency",
"in_filter": 0,
"in_list_view": 1,
"in_list_view": 0,
"label": "Total Sanctioned Amount",
"no_copy": 1,
"oldfieldname": "total_sanctioned_amount",
@ -127,7 +127,7 @@
"fieldname": "employee_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Employee Name",
"oldfieldname": "employee_name",
"oldfieldtype": "Data",
@ -202,7 +202,7 @@
"icon": "icon-money",
"idx": 1,
"is_submittable": 1,
"modified": "2014-12-24 15:31:39.611197",
"modified": "2015-01-07 11:31:12.783147",
"modified_by": "Administrator",
"module": "HR",
"name": "Expense Claim",
@ -220,6 +220,24 @@
"role": "Employee",
"write": 1
},
{
"amend": 1,
"apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 0,
"export": 0,
"import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "HR Manager",
"set_user_permissions": 0,
"submit": 1,
"write": 1
},
{
"amend": 1,
"apply_user_permissions": 1,
@ -253,5 +271,6 @@
],
"search_fields": "approval_status,employee,employee_name",
"sort_field": "modified",
"sort_order": "DESC"
"sort_order": "DESC",
"title_field": "employee_name"
}

View File

@ -1,28 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-10">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<span style="margin-right: 8px;" class="filterable"
data-filter="employee,=,{%= doc.employee %}">
{%= doc.employee_name %}</span>
<span class="label
label-{%= frappe.utils.guess_style(doc.approval_status) %} filterable"
title="{%= __("Status") %}"
data-filter="status,=,{%= doc.approval_status %}">
{%= doc.approval_status %}
</span>
{% if(doc.total_amount_reimbursed== doc.total_sanctioned_amount && doc.docstatus== 1) { %}
<span class="label label-success">
"Reimbursed"
</span>
{% } %}
</div>
</div>
<!-- sample graph -->
<div class="col-xs-2 text-right">
{%= doc.get_formatted("total_claimed_amount") %}
</div>
</div>

View File

@ -1,5 +1,8 @@
frappe.listview_settings['Expense Claim'] = {
add_fields: ["approval_status", "employee", "employee_name",
"total_claimed_amount", "total_amount_reimbursed", "total_sanctioned_amount", "docstatus"],
filters:[["approval_status","!=", "Rejected"]]
add_fields: ["approval_status", "total_claimed_amount", "docstatus"],
filters:[["approval_status","!=", "Rejected"]],
get_indicator: function(doc) {
return [__(doc.approval_status), frappe.utils.guess_colour(doc.approval_status),
"approval_status,=," + doc.approval_status];
}
};

View File

@ -1,5 +1,5 @@
{
"autoname": "field:applicant_name",
"autoname": "field:applicant_name",
"creation": "2013-01-29 19:25:37",
"description": "Applicant for a Job",
"docstatus": 0,
@ -9,7 +9,7 @@
{
"fieldname": "applicant_name",
"fieldtype": "Data",
"in_list_view": 1,
"in_list_view": 0,
"label": "Applicant Name",
"permlevel": 0,
"reqd": 1
@ -65,7 +65,7 @@
],
"icon": "icon-user",
"idx": 1,
"modified": "2014-05-27 03:49:12.168814",
"modified": "2015-01-07 14:52:03.446405",
"modified_by": "Administrator",
"module": "HR",
"name": "Job Applicant",

View File

@ -36,15 +36,6 @@ cur_frm.cscript.refresh = function(doc, dt, dn) {
cur_frm.set_intro(__("This Leave Application is pending approval. Only the Leave Apporver can update status."))
cur_frm.toggle_enable("status", false);
}
} else {
if(doc.status=="Approved") {
cur_frm.set_intro(__("Leave application has been approved."));
if(cur_frm.doc.docstatus==0) {
cur_frm.set_intro(__("Please submit to update Leave Balance."));
}
} else if(doc.status=="Rejected") {
cur_frm.set_intro(__("Leave application has been rejected."));
}
}
}
}

View File

@ -10,7 +10,7 @@
"default": "Open",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"in_list_view": 0,
"label": "Status",
"no_copy": 1,
"options": "Open\nApproved\nRejected",
@ -36,7 +36,7 @@
"fieldtype": "Link",
"ignore_user_permissions": 1,
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Leave Type",
"options": "Leave Type",
"permlevel": 0,
@ -94,7 +94,7 @@
"fieldname": "employee_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Employee Name",
"permlevel": 0,
"read_only": 1,
@ -111,6 +111,7 @@
{
"fieldname": "total_leave_days",
"fieldtype": "Float",
"in_list_view": 1,
"label": "Total Leave Days",
"no_copy": 1,
"permlevel": 0,
@ -191,7 +192,7 @@
"idx": 1,
"is_submittable": 1,
"max_attachments": 3,
"modified": "2014-12-09 16:33:29.626849",
"modified": "2015-01-07 14:40:16.244403",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Application",
@ -298,5 +299,6 @@
],
"search_fields": "employee,employee_name,leave_type,from_date,to_date,total_leave_days,fiscal_year",
"sort_field": "modified",
"sort_order": "DESC"
"sort_order": "DESC",
"title_field": "employee_name"
}

View File

@ -1,28 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-12">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<span style="margin-right: 8px;" class="filterable"
data-filter="employee,=,{%= doc.employee %}">
{%= doc.employee_name %}</span>
<span style="margin-right: 8px;" class="text-muted">
{%= __("{0} days from {1}",
[doc.total_leave_days, doc.get_formatted("from_date")]) %}</span>
<span class="label
label-{%= frappe.utils.guess_style(doc.status) %} filterable"
title="{%= __("Status") %}"
data-filter="status,=,{%= doc.status %}">
{%= doc.status %}
</span>
<span class="label label-default filterable"
title="{%= __("Leave Type") %}"
data-filter="leave_type,=,{%= doc.leave_type %}">
{%= doc.leave_type %}
</span>
</div>
</div>
</div>

View File

@ -1,4 +1,8 @@
frappe.listview_settings['Leave Application'] = {
add_fields: ["status", "leave_type", "employee", "employee_name", "total_leave_days", "from_date"],
filters:[["status","!=", "Rejected"], ["to_date", ">=", frappe.datetime.get_today()]]
filters:[["status","!=", "Rejected"], ["to_date", ">=", frappe.datetime.get_today()]],
get_indicator: function(doc) {
return [__(doc.status), frappe.utils.guess_colour(doc.status),
"status,=," + doc.status];
}
};

View File

@ -26,7 +26,7 @@
"fieldname": "employee_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Employee Name",
"oldfieldname": "employee_name",
"oldfieldtype": "Data",
@ -81,19 +81,6 @@
"permlevel": 0,
"print_hide": 1
},
{
"fieldname": "fiscal_year",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
"oldfieldtype": "Data",
"options": "Fiscal Year",
"permlevel": 0,
"reqd": 1,
"search_index": 0
},
{
"fieldname": "company",
"fieldtype": "Link",
@ -124,6 +111,19 @@
"search_index": 1,
"width": "37%"
},
{
"fieldname": "fiscal_year",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
"oldfieldtype": "Data",
"options": "Fiscal Year",
"permlevel": 0,
"reqd": 1,
"search_index": 0
},
{
"fieldname": "total_days_in_month",
"fieldtype": "Float",
@ -337,7 +337,7 @@
"icon": "icon-file-text",
"idx": 1,
"is_submittable": 1,
"modified": "2014-12-24 16:38:43.899286",
"modified": "2015-01-07 14:49:28.835615",
"modified_by": "Administrator",
"module": "HR",
"name": "Salary Slip",
@ -380,5 +380,6 @@
}
],
"sort_field": "modified",
"sort_order": "DESC"
"sort_order": "DESC",
"title_field": "employee_name"
}

View File

@ -1,26 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-9">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<!-- sample text -->
<span style="margin-right: 8px;" class="filterable"
data-filter="employee,=,{%= doc.employee %}">
{%= doc.employee_name %}</span>
</div>
</div>
<div class="col-xs-3 text-right">
<span class="label label-default filterable"
title="{%= __("Month") %}"
data-filter="month,=,{%= doc.month %}">
{%= doc.month %}
</span>
<span class="label label-default filterable"
title="{%= __("Fiscal Year") %}"
data-filter="fiscal_year,=,{%= doc.fiscal_year %}">
{%= doc.fiscal_year %}
</span>
</div>
</div>

View File

@ -27,7 +27,7 @@
"fieldname": "is_active",
"fieldtype": "Check",
"hidden": 0,
"in_list_view": 1,
"in_list_view": 0,
"label": "Is Active",
"no_copy": 1,
"oldfieldname": "is_active",
@ -40,7 +40,7 @@
"default": "1",
"fieldname": "is_default",
"fieldtype": "Check",
"in_list_view": 1,
"in_list_view": 0,
"label": "Is Default",
"no_copy": 1,
"oldfieldname": "is_default",
@ -130,7 +130,7 @@
{
"fieldname": "operating_cost",
"fieldtype": "Currency",
"in_list_view": 1,
"in_list_view": 0,
"label": "Operating Cost",
"options": "Company:company:default_currency",
"permlevel": 0,
@ -152,6 +152,7 @@
{
"fieldname": "total_cost",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Total Cost",
"options": "Company:company:default_currency",
"permlevel": 0,
@ -208,7 +209,7 @@
{
"fieldname": "description",
"fieldtype": "Small Text",
"in_list_view": 1,
"in_list_view": 0,
"label": "Item Desription",
"permlevel": 0,
"read_only": 1
@ -244,7 +245,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
"modified": "2014-12-24 14:38:43.906947",
"modified": "2015-01-07 11:11:07.047695",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM",

View File

@ -1,20 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-10">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
{% if(cint(doc.is_active)) { %}
<span class="label label-success filterable"
data-filter="is_active,=,Yes">
<i class="icon-ok-sign"></i> {%= __("Active") %}</span>
{% } %}
{% if(cint(doc.is_default)) { %}
<span class="label label-primary filterable"
data-filter="is_default,=,Yes">
<i class="icon-ok-sign"></i> {%= __("Default") %}</span>
{% } %}
</div>
</div>
<div class="col-xs-2 text-right">
{%= doc.get_formatted("total_cost") %}
</div>
</div>

View File

@ -1,3 +1,12 @@
frappe.listview_settings['BOM'] = {
add_fields: ["is_active", "is_default", "total_cost"]
add_fields: ["is_active", "is_default", "total_cost"],
get_indicator: function(doc) {
if(doc.is_default) {
return [__("Default"), "green", "is_default,=,Yes"];
} else if(doc.is_active) {
return [__("Active"), "blue", "is_active,=,Yes"];
} else if(!doc.is_active) {
return [__("Not active"), "darkgrey", "is_active,=,No"];
}
}
};

View File

@ -9,7 +9,7 @@
{
"fieldname": "activity_type",
"fieldtype": "Data",
"in_list_view": 1,
"in_list_view": 0,
"label": "Activity Type",
"permlevel": 0,
"reqd": 1
@ -18,7 +18,7 @@
"icon": "icon-flag",
"idx": 1,
"in_dialog": 0,
"modified": "2014-05-27 03:49:07.219341",
"modified": "2015-01-07 15:12:20.500625",
"modified_by": "Administrator",
"module": "Projects",
"name": "Activity Type",

View File

@ -59,6 +59,7 @@
{
"fieldname": "priority",
"fieldtype": "Select",
"in_list_view": 0,
"label": "Priority",
"no_copy": 0,
"oldfieldname": "priority",
@ -163,7 +164,7 @@
{
"fieldname": "percent_complete",
"fieldtype": "Percent",
"in_list_view": 1,
"in_list_view": 0,
"label": "% Tasks Completed",
"permlevel": 0,
"read_only": 1
@ -272,7 +273,7 @@
"icon": "icon-puzzle-piece",
"idx": 1,
"max_attachments": 4,
"modified": "2014-12-24 16:36:50.539666",
"modified": "2015-01-07 15:03:59.981848",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project",

View File

@ -1,38 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-10">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
<span class="label label-{%= frappe.utils.guess_style(doc.status) %} filterable"
data-filter="status,=,{%= doc.status %}">
{%= doc.status %}
</span>
<span class="label label-{%= frappe.utils.guess_style(doc.priority) %} filterable"
data-filter="priority,=,{%= doc.priority %}">
{%= doc.priority %}
</span>
{% if(doc.status==="Open" && doc.completion_date
&& frappe.datetime.get_diff(doc.completion_date) <= 0) { %}
<span class="label label-danger filterable"
data-filter="completion_date,>=,Today"
title="{%= doc.get_formatted("completion_date") %}">
{%= __("Overdue") %}
</span>
{% } else if(doc.completion_date) { %}
<span class="label label-default filterable"
data-filter="completion_date,=,{%= doc.completion_date %}"
title="{%= __("Due Date") %}">
{%= doc.get_formatted("completion_date") %}
</span>
{% } %}
</div>
</div>
<div class="col-xs-1 text-right">
{% var completed = doc.percent_complete, title = __("% Tasks Completed") %}
{% include "templates/form_grid/includes/progress.html" %}
</div>
<div class="col-xs-1 text-right">
{% var completed = doc.percent_milestones_completed,
title = __("% Milestones Achieved") %}
{% include "templates/form_grid/includes/progress.html" %}
</div>
</div>

View File

@ -1,5 +1,12 @@
frappe.listview_settings['Project'] = {
add_fields: ["status", "priority", "is_active", "percent_complete",
"percent_milestones_completed", "completion_date"],
filters:[["status","=", "Open"]]
filters:[["status","=", "Open"]],
get_indicator: function(doc) {
if(doc.status=="Open" && doc.percent_complete) {
return [__("{0}% Complete", [doc.percent_complete]), "orange", "percent_complete,>,0|status,=,Open"];
} else {
return [__(doc.status), frappe.utils.guess_colour(doc.status), "status,=," + doc.status];
}
}
};

View File

@ -1,5 +1,5 @@
{
"allow_import": 1,
"allow_import": 1,
"autoname": "TASK.#####",
"creation": "2013-01-29 19:25:50",
"docstatus": 0,
@ -20,7 +20,7 @@
"fieldname": "subject",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Subject",
"oldfieldname": "subject",
"oldfieldtype": "Data",
@ -55,16 +55,6 @@
"print_width": "50%",
"width": "50%"
},
{
"fieldname": "project",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Project",
"oldfieldname": "project",
"oldfieldtype": "Link",
"options": "Project",
"permlevel": 0
},
{
"fieldname": "status",
"fieldtype": "Select",
@ -76,6 +66,16 @@
"options": "Open\nWorking\nPending Review\nClosed\nCancelled",
"permlevel": 0
},
{
"fieldname": "project",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Project",
"oldfieldname": "project",
"oldfieldtype": "Link",
"options": "Project",
"permlevel": 0
},
{
"fieldname": "priority",
"fieldtype": "Select",
@ -217,7 +217,7 @@
"icon": "icon-check",
"idx": 1,
"max_attachments": 5,
"modified": "2014-05-27 03:49:20.708319",
"modified": "2015-01-07 14:57:22.370410",
"modified_by": "Administrator",
"module": "Projects",
"name": "Task",

View File

@ -1,34 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-12">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
{% if(doc.project) { %}
<span class="filterable" style="margin-right: 8px;"
data-filter="project,=,{%= doc.project %}">
{%= doc.project %}</span>
{% } %}
<span class="label label-{%= frappe.utils.guess_style(doc.status) %} filterable"
data-filter="status,=,{%= doc.status %}">
{%= doc.status %}
</span>
<span class="label label-{%= frappe.utils.guess_style(doc.priority) %} filterable"
data-filter="priority,=,{%= doc.priority %}">
{%= doc.priority %}
</span>
{% if(doc.status==="Open" && doc.exp_end_date
&& frappe.datetime.get_diff(doc.exp_end_date) <= 0) { %}
<span class="label label-danger filterable"
data-filter="exp_end_date,>=,Today"
title="{%= doc.get_formatted("exp_end_date") %}">
{%= __("Overdue") %}
</span>
{% } else if(doc.exp_end_date) { %}
<span class="label label-default filterable"
data-filter="exp_end_date,=,{%= doc.exp_end_date %}"
title="{%= __("Due Date") %}">
{%= doc.get_formatted("exp_end_date") %}
</span>
{% } %}
</div>
</div>
</div>

View File

@ -28,7 +28,7 @@
{
"fieldname": "from_time",
"fieldtype": "Datetime",
"in_list_view": 1,
"in_list_view": 0,
"label": "From Time",
"permlevel": 0,
"read_only": 0,
@ -37,7 +37,7 @@
{
"fieldname": "to_time",
"fieldtype": "Datetime",
"in_list_view": 1,
"in_list_view": 0,
"label": "To Time",
"permlevel": 0,
"read_only": 0,
@ -60,7 +60,7 @@
{
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"in_list_view": 0,
"label": "Status",
"options": "Draft\nSubmitted\nBatched for Billing\nBilled\nCancelled",
"permlevel": 0,
@ -71,7 +71,7 @@
"depends_on": "eval:doc.time_log_for != 'Manufacturing'",
"fieldname": "activity_type",
"fieldtype": "Link",
"in_list_view": 1,
"in_list_view": 0,
"label": "Activity Type",
"options": "Activity Type",
"permlevel": 0,
@ -126,7 +126,7 @@
{
"fieldname": "billable",
"fieldtype": "Check",
"in_list_view": 1,
"in_list_view": 0,
"label": "Billable",
"permlevel": 0,
"read_only": 0
@ -199,7 +199,7 @@
"icon": "icon-time",
"idx": 1,
"is_submittable": 1,
"modified": "2014-12-22 15:22:00.664972",
"modified": "2015-01-07 15:11:45.194002",
"modified_by": "Administrator",
"module": "Projects",
"name": "Time Log",
@ -233,5 +233,6 @@
"submit": 1,
"write": 1
}
]
],
"title_field": "activity_type"
}

View File

@ -1,39 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-12">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
{% if(doc.billable) { %}
<span style="margin-right: 8px;"
title="{%= __("Billable") %}" class="filterable"
data-filter="billable,=,Yes">
<i class="icon-money text-muted"></i>
</span>
{% } %}
{% if(doc.time_log_for == 'Manufacturing') { %}
<span style="margin-right: 8px;"
title="{%= __("Manufacturing") %}" class="filterable"
data-filter="time_log_for,=,Manufacturing">
<i class="icon-cogs text-muted"></i>
</span>
{% } %}
{% if(doc.activity_type) { %}
<span class="label label-info filterable" style="margin-right: 8px;"
data-filter="activity_type,=,{%= doc.activity_type %}">
{%= doc.activity_type %}</span>
{% } %}
{% if(doc.project) { %}
<span class="filterable" style="margin-right: 8px;"
data-filter="project,=,{%= doc.project %}">
{%= doc.project %}</span>
{% } %}
<span style="margin-right: 8px;" class="text-muted">
({%= doc.hours + " " + __("hours") %})
</span>
</div>
</div>
</div>

View File

@ -32,7 +32,7 @@
{
"fieldname": "customer",
"fieldtype": "Link",
"in_list_view": 1,
"in_list_view": 0,
"label": "Customer",
"oldfieldname": "customer",
"oldfieldtype": "Link",
@ -46,7 +46,7 @@
"depends_on": "customer",
"fieldname": "customer_address",
"fieldtype": "Link",
"in_list_view": 1,
"in_list_view": 0,
"label": "Customer Address",
"options": "Address",
"permlevel": 0,
@ -209,6 +209,7 @@
{
"fieldname": "remarks",
"fieldtype": "Small Text",
"in_list_view": 1,
"label": "Remarks",
"oldfieldname": "remarks",
"oldfieldtype": "Small Text",
@ -236,7 +237,7 @@
"icon": "icon-wrench",
"idx": 1,
"is_submittable": 1,
"modified": "2015-01-01 14:30:01.822455",
"modified": "2015-01-07 10:50:31.542246",
"modified_by": "Administrator",
"module": "Selling",
"name": "Installation Note",
@ -270,5 +271,6 @@
}
],
"sort_field": "modified",
"sort_order": "DESC"
"sort_order": "DESC",
"title_field": "customer_name"
}

View File

@ -29,7 +29,7 @@
{
"fieldname": "enquiry_from",
"fieldtype": "Select",
"in_list_view": 1,
"in_list_view": 0,
"label": "Opportunity From",
"oldfieldname": "enquiry_from",
"oldfieldtype": "Select",
@ -46,7 +46,7 @@
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Customer",
"no_copy": 1,
"oldfieldname": "customer",
@ -64,7 +64,7 @@
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Lead",
"oldfieldname": "lead",
"oldfieldtype": "Link",
@ -105,7 +105,7 @@
"default": "Draft",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"in_list_view": 0,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
@ -177,6 +177,7 @@
"fieldname": "territory",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Territory",
"options": "Territory",
"permlevel": 0,
@ -389,7 +390,7 @@
"icon": "icon-info-sign",
"idx": 1,
"is_submittable": 1,
"modified": "2015-01-05 12:14:59.101693",
"modified": "2015-01-07 11:00:31.557646",
"modified_by": "Administrator",
"module": "Selling",
"name": "Opportunity",

View File

@ -1,10 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-sm-9 col-xs-12 text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
</div>
<div class="col-sm-3 hidden-xs text-ellipsis">
<span class="indicator
{%= doc.status=="Draft" ? "red" : "darkgrey" %} filterable"
data-filter="status,=,{%= doc.status %}">{%= doc.status %}</span>
</div>
</div>

View File

@ -1,3 +1,10 @@
frappe.listview_settings['Opportunity'] = {
add_fields: ["customer_name", "enquiry_type", "enquiry_from", "status"]
add_fields: ["customer_name", "enquiry_type", "enquiry_from", "status"],
get_indicator: function(doc) {
var indicator = [__(doc.status), frappe.utils.guess_colour(doc.status), "status,=," + doc.status];
if(doc.status=="Quotation") {
indicator[1] = "green";
}
return indicator;
}
};

View File

@ -19,7 +19,7 @@
{
"fieldname": "item",
"fieldtype": "Link",
"in_list_view": 1,
"in_list_view": 0,
"label": "Item",
"oldfieldname": "item",
"oldfieldtype": "Link",
@ -33,26 +33,10 @@
"permlevel": 0,
"precision": ""
},
{
"fieldname": "start_date",
"fieldtype": "Date",
"label": "Batch Started Date",
"oldfieldname": "start_date",
"oldfieldtype": "Date",
"permlevel": 0
},
{
"fieldname": "finished_date",
"fieldtype": "Date",
"label": "Batch Finished Date",
"oldfieldname": "finished_date",
"oldfieldtype": "Date",
"permlevel": 0
},
{
"fieldname": "expiry_date",
"fieldtype": "Date",
"in_list_view": 1,
"in_list_view": 0,
"label": "Expiry Date",
"oldfieldname": "expiry_date",
"oldfieldtype": "Date",
@ -67,7 +51,7 @@
{
"fieldname": "description",
"fieldtype": "Small Text",
"in_list_view": 1,
"in_list_view": 0,
"label": "Batch Description",
"oldfieldname": "description",
"oldfieldtype": "Small Text",
@ -78,7 +62,7 @@
"icon": "icon-archive",
"idx": 1,
"max_attachments": 5,
"modified": "2015-01-05 16:11:40.125703",
"modified": "2015-01-07 16:24:13.422480",
"modified_by": "Administrator",
"module": "Stock",
"name": "Batch",

View File

@ -1,18 +0,0 @@
<div class="row" style="max-height: 30px;">
<div class="col-xs-12 col-sm-9 text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
</div>
<div class="col-sm-3 hidden-xs text-ellipsis">
{% if(doc.expiry_date && frappe.datetime.get_diff(doc.expiry_date) <= 0) { %}
<span class="indicator red filterable"
data-filter="expiry_date,>=,Today">
{%= __("Expired") %}
</span>
{% } else if(doc.expiry_date) { %}
<span class="indicator darkgrey filterable"
data-filter="expiry_date,=,{%= doc.expiry_date %}" title="{%= __("Expiry Date") %}">
{%= doc.get_formatted("expiry_date") %}
</span>
{% } %}
</div>
</div>

View File

@ -1,3 +1,10 @@
frappe.listview_settings['Batch'] = {
add_fields: ["item", "expiry_date"]
add_fields: ["item", "expiry_date"],
get_indicator: function(doc) {
if(doc.expiry_date && frappe.datetime.get_diff(doc.expiry_date) <= 0) {
return [__("Expired"), "red", "expiry_date,>=,Today"]
} else if(doc.expiry_date) {
return [__("Not Expired"), "darkgrey", "expiry_date,<,Today"]
}
}
};

View File

@ -56,7 +56,7 @@
"fieldname": "item_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"in_list_view": 0,
"label": "Item Name",
"oldfieldname": "item_name",
"oldfieldtype": "Data",
@ -70,6 +70,7 @@
"fieldname": "item_group",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Item Group",
"oldfieldname": "item_group",
"oldfieldtype": "Link",
@ -115,7 +116,7 @@
"fieldname": "description",
"fieldtype": "Small Text",
"in_filter": 0,
"in_list_view": 1,
"in_list_view": 0,
"label": "Description",
"oldfieldname": "description",
"oldfieldtype": "Text",
@ -132,7 +133,7 @@
},
{
"fieldname": "image",
"fieldtype": "Attach",
"fieldtype": "Image",
"label": "Image",
"options": "",
"permlevel": 0,
@ -876,7 +877,7 @@
"icon": "icon-tag",
"idx": 1,
"max_attachments": 1,
"modified": "2015-01-01 14:30:01.954176",
"modified": "2015-01-07 10:40:54.901356",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item",
@ -953,5 +954,6 @@
"role": "Manufacturing User"
}
],
"search_fields": "item_name,description,item_group,customer_code"
"search_fields": "item_name,description,item_group,customer_code",
"title_field": "item_name"
}

View File

@ -1,20 +0,0 @@
<div class="row">
<div class="col-xs-11 col-sm-9">
<div class="text-ellipsis">
{%= list.get_avatar_and_id(doc) %}
{% if(doc.item_name != doc.name) { %}
<span style="margin-right: 8px;">{%= doc.item_name %}</span>
{% } %}
</div>
</div>
<div class="hidden-xs col-sm-2 text-ellipsis">
<span class="indicator darkgrey filterable"
data-filter="item_group,=,{%= doc.item_group %}">
{%= doc.item_group %}</span>
</div>
<div class="col-xs-1 col-sm-1">
{% if(doc.image) { %}
<img src="{%= doc.image %}" class="img-responsive" style="margin-bottom: 4px;">
{% } %}
</div>
</div>

View File

@ -1,5 +1,3 @@
frappe.listview_settings['Item'] = {
add_fields: ["item_name", "stock_uom", "item_group", "image",
"is_stock_item", "is_sales_item", "is_purchase_item", "show_in_website",
"default_bom"]
add_fields: ["item_name", "stock_uom", "item_group", "image"]
};