blob: d3ff49e9f9841704531e8bc3e31ccc693e555a30 [file] [log] [blame]
Rushabh Mehtaad45e312013-11-20 12:59:58 +05301// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
Rushabh Mehtae67d1fb2013-08-05 14:59:54 +05302// License: GNU General Public License v3. See license.txt
Rushabh Mehta3966f1d2012-02-23 12:35:32 +05303
Rushabh Mehta865c00a2012-01-24 14:33:21 +05304/* features setup "Dictionary", "Script"
5Dictionary Format
6 'projects': {
7 'Sales Order': {
8 'fields':['project_name'],
Nabin Haite7d15362014-12-25 16:01:55 +05309 'items':['projected_qty']
Rushabh Mehta865c00a2012-01-24 14:33:21 +053010 },
11 'Purchase Order': {
12 'fields':['project_name']
13 }
14 }
15// ====================================================================*/
16pscript.feature_dict = {
17 'fs_projects': {
Anand Doshifedfd892012-03-30 12:29:06 +053018 'BOM': {'fields':['project_name']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053019 'Delivery Note': {'fields':['project_name']},
Nabin Haite7d15362014-12-25 16:01:55 +053020 'Purchase Invoice': {'items':['project_name']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053021 'Production Order': {'fields':['project_name']},
Nabin Haite7d15362014-12-25 16:01:55 +053022 'Purchase Order': {'items':['project_name']},
23 'Purchase Receipt': {'items':['project_name']},
Anand Doshifedfd892012-03-30 12:29:06 +053024 'Sales Invoice': {'fields':['project_name']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053025 'Sales Order': {'fields':['project_name']},
26 'Stock Entry': {'fields':['project_name']},
27 'Timesheet': {'timesheet_details':['project_name']}
28 },
Rushabh Mehta865c00a2012-01-24 14:33:21 +053029 'fs_discounts': {
Nabin Haite7d15362014-12-25 16:01:55 +053030 'Delivery Note': {'items':['discount_percentage']},
31 'Quotation': {'items':['discount_percentage']},
32 'Sales Invoice': {'items':['discount_percentage']},
33 'Sales Order': {'items':['discount_percentage','price_list_rate']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +053034 },
35 'fs_purchase_discounts': {
Nabin Haite7d15362014-12-25 16:01:55 +053036 'Purchase Order': {'items':['base_price_list_rate', 'discount_percentage', 'price_list_rate']},
37 'Purchase Receipt': {'items':['base_price_list_rate', 'discount_percentage', 'price_list_rate']},
38 'Purchase Invoice': {'items':['base_price_list_rate', 'discount_percentage', 'price_list_rate']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +053039 },
40 'fs_brands': {
Nabin Haite7d15362014-12-25 16:01:55 +053041 'Delivery Note': {'items':['brand']},
42 'Material Request': {'items':['brand']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053043 'Item': {'fields':['brand']},
Nabin Haite7d15362014-12-25 16:01:55 +053044 'Purchase Order': {'items':['brand']},
45 'Purchase Invoice': {'items':['brand']},
46 'Quotation': {'items':['brand']},
47 'Sales Invoice': {'items':['brand']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053048 'Sales BOM': {'fields':['new_item_brand']},
Nabin Haite7d15362014-12-25 16:01:55 +053049 'Sales Order': {'items':['brand']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053050 'Serial No': {'fields':['brand']}
51 },
52 'fs_after_sales_installations': {
Nabin Haite7d15362014-12-25 16:01:55 +053053 'Delivery Note': {'fields':['installation_status','per_installed'],'items':['installed_qty']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +053054 },
55 'fs_item_batch_nos': {
Nabin Haite7d15362014-12-25 16:01:55 +053056 'Delivery Note': {'items':['batch_no']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053057 'Item': {'fields':['has_batch_no']},
Nabin Haite7d15362014-12-25 16:01:55 +053058 'Purchase Receipt': {'items':['batch_no']},
Anand Doshifedfd892012-03-30 12:29:06 +053059 'Quality Inspection': {'fields':['batch_no']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053060 'Sales and Pruchase Return Wizard': {'return_details':['batch_no']},
Nabin Haite7d15362014-12-25 16:01:55 +053061 'Sales Invoice': {'items':['batch_no']},
62 'Stock Entry': {'items':['batch_no']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053063 'Stock Ledger Entry': {'fields':['batch_no']}
64 },
65 'fs_item_serial_nos': {
66 'Customer Issue': {'fields':['serial_no']},
Nabin Haite7d15362014-12-25 16:01:55 +053067 'Delivery Note': {'items':['serial_no'],'packed_items':['serial_no']},
68 'Installation Note': {'items':['serial_no']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053069 'Item': {'fields':['has_serial_no']},
Nabin Haite7d15362014-12-25 16:01:55 +053070 'Maintenance Schedule': {'items':['serial_no'],'schedules':['serial_no']},
71 'Maintenance Visit': {'purposes':['serial_no']},
72 'Purchase Receipt': {'items':['serial_no']},
Anand Doshifedfd892012-03-30 12:29:06 +053073 'Quality Inspection': {'fields':['item_serial_no']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053074 'Sales and Pruchase Return Wizard': {'return_details':['serial_no']},
Nabin Haite7d15362014-12-25 16:01:55 +053075 'Sales Invoice': {'items':['serial_no']},
76 'Stock Entry': {'items':['serial_no']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053077 'Stock Ledger Entry': {'fields':['serial_no']}
78 },
Nabin Hait2e3579a2012-06-07 19:09:17 +053079 'fs_item_barcode': {
80 'Item': {'fields': ['barcode']},
Nabin Haite7d15362014-12-25 16:01:55 +053081 'Delivery Note': {'items': ['barcode']},
82 'Sales Invoice': {'items': ['barcode']}
Nabin Hait2e3579a2012-06-07 19:09:17 +053083 },
Rushabh Mehta865c00a2012-01-24 14:33:21 +053084 'fs_item_group_in_details': {
Nabin Haite7d15362014-12-25 16:01:55 +053085 'Delivery Note': {'items':['item_group']},
86 'Opportunity': {'items':['item_group']},
87 'Material Request': {'items':['item_group']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053088 'Item': {'fields':['item_group']},
Anand Doshifedfd892012-03-30 12:29:06 +053089 'Global Defaults': {'fields':['default_item_group']},
Nabin Haite7d15362014-12-25 16:01:55 +053090 'Purchase Order': {'items':['item_group']},
91 'Purchase Receipt': {'items':['item_group']},
92 'Purchase Voucher': {'items':['item_group']},
93 'Quotation': {'items':['item_group']},
94 'Sales Invoice': {'items':['item_group']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053095 'Sales BOM': {'fields':['serial_no']},
Nabin Haite7d15362014-12-25 16:01:55 +053096 'Sales Order': {'items':['item_group']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +053097 'Serial No': {'fields':['item_group']},
Nabin Haite7d15362014-12-25 16:01:55 +053098 'Sales Partner': {'targets':['item_group']},
99 'Sales Person': {'targets':['item_group']},
100 'Territory': {'targets':['item_group']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530101 },
102 'fs_page_break': {
Nabin Haite7d15362014-12-25 16:01:55 +0530103 'Delivery Note': {'items':['page_break'],'packed_items':['page_break']},
104 'Material Request': {'items':['page_break']},
105 'Purchase Order': {'items':['page_break']},
106 'Purchase Receipt': {'items':['page_break']},
107 'Purchase Voucher': {'items':['page_break']},
108 'Quotation': {'items':['page_break']},
109 'Sales Invoice': {'items':['page_break']},
110 'Sales Order': {'items':['page_break']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530111 },
112 'fs_exports': {
Nabin Haite7d15362014-12-25 16:01:55 +0530113 'Delivery Note': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530114 'POS Setting': {'fields':['conversion_rate','currency']},
Nabin Haite7d15362014-12-25 16:01:55 +0530115 'Quotation': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']},
116 'Sales Invoice': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530117 'Sales BOM': {'fields':['currency']},
Nabin Haite7d15362014-12-25 16:01:55 +0530118 'Sales Order': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'items':['base_price_list_rate','base_amount','base_rate']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530119 },
Nabin Hait6b039142014-05-02 15:45:10 +0530120
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530121 'fs_imports': {
Nabin Hait23decac2013-01-28 16:56:07 +0530122 'Purchase Invoice': {
123 'fields': ['conversion_rate', 'currency', 'grand_total',
124 'in_words', 'net_total', 'other_charges_added',
Nabin Hait6b039142014-05-02 15:45:10 +0530125 'other_charges_deducted'],
Nabin Haite7d15362014-12-25 16:01:55 +0530126 'items': ['base_price_list_rate', 'base_amount','base_rate']
Nabin Hait23decac2013-01-28 16:56:07 +0530127 },
128 'Purchase Order': {
Nabin Hait3f0b3142013-07-18 15:11:29 +0530129 'fields': ['conversion_rate','currency', 'grand_total',
Nabin Hait23decac2013-01-28 16:56:07 +0530130 'in_words', 'net_total', 'other_charges_added',
131 'other_charges_deducted'],
Nabin Haite7d15362014-12-25 16:01:55 +0530132 'items': ['base_price_list_rate', 'base_amount','base_rate']
Nabin Hait23decac2013-01-28 16:56:07 +0530133 },
134 'Purchase Receipt': {
135 'fields': ['conversion_rate', 'currency','grand_total', 'in_words',
136 'net_total', 'other_charges_added', 'other_charges_deducted'],
Nabin Haite7d15362014-12-25 16:01:55 +0530137 'items': ['base_price_list_rate','base_amount','base_rate']
Nabin Hait23decac2013-01-28 16:56:07 +0530138 },
139 'Supplier Quotation': {
140 'fields':['conversion_rate','currency']
141 }
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530142 },
Nabin Hait6b039142014-05-02 15:45:10 +0530143
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530144 'fs_item_advanced': {
Nabin Hait79f091e2014-12-26 11:41:15 +0530145 'Item': {'fields':['customer_items']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530146 },
147 'fs_sales_extras': {
148 'Address': {'fields':['sales_partner']},
149 'Contact': {'fields':['sales_partner']},
150 'Customer': {'fields':['sales_team']},
Nabin Hait44175292014-08-21 16:24:49 +0530151 'Delivery Note': {'fields':['sales_team']},
Nabin Hait79f091e2014-12-26 11:41:15 +0530152 'Item': {'fields':['customer_items']},
Nabin Hait44175292014-08-21 16:24:49 +0530153 'Sales Invoice': {'fields':['sales_team']},
154 'Sales Order': {'fields':['sales_team']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530155 },
156 'fs_more_info': {
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530157 "Customer Issue": {"fields": ["more_info"]},
158 'Material Request': {'fields':['more_info']},
159 'Lead': {'fields':['more_info']},
160 'Opportunity': {'fields':['more_info']},
161 'Purchase Invoice': {'fields':['more_info']},
162 'Purchase Order': {'fields':['more_info']},
163 'Purchase Receipt': {'fields':['more_info']},
164 'Supplier Quotation': {'fields':['more_info']},
165 'Quotation': {'fields':['more_info']},
166 'Sales Invoice': {'fields':['more_info']},
167 'Sales Order': {'fields':['more_info']},
168 'Delivery Note': {'fields':['more_info']},
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530169 },
170 'fs_quality': {
Nabin Haitd89a7332013-07-18 15:04:29 +0530171 'Item': {'fields':['inspection_criteria','inspection_required']},
Nabin Haite7d15362014-12-25 16:01:55 +0530172 'Purchase Receipt': {'items':['qa_no']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530173 },
174 'fs_manufacturing': {
Nabin Haitd89a7332013-07-18 15:04:29 +0530175 'Item': {'fields':['manufacturing']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530176 },
177 'fs_pos': {
Anand Doshifedfd892012-03-30 12:29:06 +0530178 'Sales Invoice': {'fields':['is_pos']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530179 },
180 'fs_recurring_invoice': {
Nabin Haitd89a7332013-07-18 15:04:29 +0530181 'Sales Invoice': {'fields': ['recurring_invoice']}
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530182 }
183}
184
185$(document).bind('form_refresh', function() {
Nabin Haitd89a7332013-07-18 15:04:29 +0530186 for(var sys_feat in sys_defaults) {
Nabin Hait6b039142014-05-02 15:45:10 +0530187 if(sys_defaults[sys_feat]=='0'
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530188 && (sys_feat in pscript.feature_dict)) { //"Features to hide" exists
Nabin Haitd89a7332013-07-18 15:04:29 +0530189 if(cur_frm.doc.doctype in pscript.feature_dict[sys_feat]) {
190 for(var fort in pscript.feature_dict[sys_feat][cur_frm.doc.doctype]) {
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530191 if(fort=='fields') {
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530192 hide_field(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort]);
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530193 } else if(cur_frm.fields_dict[fort]) {
Nabin Hait6b039142014-05-02 15:45:10 +0530194 cur_frm.fields_dict[fort].grid.set_column_disp(pscript.feature_dict[sys_feat][cur_frm.doc.doctype][fort], false);
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530195 } else {
Pratik Vyasb52618c2014-04-14 16:25:30 +0530196 msgprint(__('Grid "')+fort+__('" does not exists'));
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530197 }
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530198 }
199 }
Rushabh Mehtab8bf40f2013-03-14 10:07:59 +0530200
Rushabh Mehta865c00a2012-01-24 14:33:21 +0530201 }
202 }
203})