Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/page/accounts_browser/accounts_browser.txt b/accounts/page/accounts_browser/accounts_browser.txt
index 70652e0..d3e98db 100644
--- a/accounts/page/accounts_browser/accounts_browser.txt
+++ b/accounts/page/accounts_browser/accounts_browser.txt
@@ -3,42 +3,47 @@
# These values are common in all dictionaries
{
- 'creation': '2010-12-14 10:23:28',
- 'docstatus': 0,
- 'modified': '2010-12-29 12:57:23',
- 'modified_by': 'Administrator',
- 'owner': 'Administrator'
+ u'creation': '2012-06-14 15:07:28',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 16:57:27',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
- 'module': 'Accounts',
- 'name': '__common__',
- 'page_name': 'Accounts Browser',
+ u'doctype': u'Page',
+ 'module': u'Accounts',
+ u'name': u'__common__',
+ 'page_name': u'Accounts Browser',
'show_in_menu': 0,
- 'standard': 'Yes'
+ 'standard': u'Yes'
},
# These values are common for all Page Role
{
- 'doctype': 'Page Role',
- 'idx': 1,
- 'name': '__common__',
- 'parent': 'Accounts Browser',
- 'parentfield': 'roles',
- 'parenttype': 'Page',
- 'role': 'Accounts User'
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'Accounts Browser',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
},
# Page, Accounts Browser
{
- 'doctype': 'Page',
- 'name': 'Accounts Browser'
+ u'doctype': u'Page',
+ u'name': u'Accounts Browser'
},
# Page Role
{
- 'doctype': 'Page Role'
+ u'doctype': u'Page Role',
+ 'role': u'Accounts User'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
}
]
\ No newline at end of file
diff --git a/accounts/page/accounts_home/accounts_home.html b/accounts/page/accounts_home/accounts_home.html
index 3a6f2b8..06c645b 100644
--- a/accounts/page/accounts_home/accounts_home.html
+++ b/accounts/page/accounts_home/accounts_home.html
@@ -12,23 +12,29 @@
<p class="help">Bills raised by Suppliers</p>
</div>
<div style="width: 48%; float: right;">
- <h4><a href="#!Accounts Browser/Account">Chart of Accounts</a></h4>
+ <h4><a href="#!Accounts Browser/Account"
+ data-role="Accounts Manager, Accounts User">Chart of Accounts</a></h4>
<p class="help">Structure of books of accounts</p>
<br>
<h4><a href="#!Accounts Browser/Cost Center">Chart of Cost Centers</a></h4>
<p class="help">Structure cost centers</p>
<br>
- <h4><a href="#general-ledger" data-role="Analytics">General Ledger</a>
+ <h4><a href="#general-ledger"
+ data-role="Analytics, Accounts Manager, Accounts User">
+ General Ledger</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">General Ledger Report</p>
<br>
- <h4><a href="#trial-balance" data-role="Analytics">Trial Balance</a>
+ <h4><a href="#trial-balance"
+ data-role="Analytics, Accounts Manager, Accounts User">Trial Balance</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Tree view of all Account balances</p>
<br>
- <h4><a href="#financial-analytics" data-role="Analytics">Financial Analytics</a>
+ <h4><a href="#financial-analytics"
+ data-role="Analytics, Accounts Manager, Accounts User">
+ Financial Analytics</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Visual representation of financial trends</p>
@@ -64,17 +70,18 @@
href="#!Form/Sales and Purchase Return Tool/Sales and Purchase Return Tool">Sales or Purchase Returns</a>
</div>
<div class="section-item">
- <a class="section-link" data-role="Analytics"
+ <a class="section-link"
title = "Analyze Sales and Purchase trends and slice them based on item, customer, groups etc"
href="#!Report/Profile/Trend Analyzer">Trend Analyzer</a>
</div>
<div class="section-item">
- <a class="section-link" data-role="Accounts Manager"
+ <a class="section-link"
+ data-role="Accounts Manager, Accounts User"
title = "Check your Balance Sheet and Profit & Loss Statement"
href="#!Financial Statements">Financial Statements</a>
</div>
<div class="section-item">
- <a class="section-link"
+ <a class="section-link" data-role="Accounts Manager"
title = "Import Multiple Vouchers from CSV"
href="#voucher-import-tool">Voucher Import Tool</a>
</div>
diff --git a/accounts/page/accounts_home/accounts_home.js b/accounts/page/accounts_home/accounts_home.js
index 8e71151..3815578 100644
--- a/accounts/page/accounts_home/accounts_home.js
+++ b/accounts/page/accounts_home/accounts_home.js
@@ -22,11 +22,4 @@
$('.india-specific').toggle(false);
}
- if(wn.boot.profile.roles.indexOf('Accounts Manager')==-1 && wn.boot.profile.roles.indexOf('Accounts User')==-1) {
- $('[href*="Accounts Browser"]').each(function() {
- var txt = $(this).text();
- $(this).parent().css('color', '#999').html(txt);
- });
- }
-
}
diff --git a/accounts/page/accounts_home/accounts_home.txt b/accounts/page/accounts_home/accounts_home.txt
index 5cbceff..61730ae 100644
--- a/accounts/page/accounts_home/accounts_home.txt
+++ b/accounts/page/accounts_home/accounts_home.txt
@@ -3,26 +3,47 @@
# These values are common in all dictionaries
{
- 'creation': '2012-02-21 13:23:08',
- 'docstatus': 0,
- 'modified': '2012-02-21 13:23:08',
- 'modified_by': u'Administrator',
- 'owner': u'Administrator'
+ u'creation': '2012-06-14 15:07:28',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 16:58:11',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
+ u'doctype': u'Page',
'module': u'Accounts',
- 'name': '__common__',
+ u'name': u'__common__',
'page_name': u'accounts-home',
'standard': u'Yes',
'title': u'Accounts Home'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'accounts-home',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, accounts-home
{
- 'doctype': 'Page',
- 'name': u'accounts-home'
+ u'doctype': u'Page',
+ u'name': u'accounts-home'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts User'
}
]
\ No newline at end of file
diff --git a/accounts/page/financial_analytics/financial_analytics.js b/accounts/page/financial_analytics/financial_analytics.js
index 20632de..1db9434 100644
--- a/accounts/page/financial_analytics/financial_analytics.js
+++ b/accounts/page/financial_analytics/financial_analytics.js
@@ -14,6 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
+wn.require("lib/js/wn/views/grid_report.js");
wn.require("app/js/account_tree_grid.js");
wn.pages['financial-analytics'].onload = function(wrapper) {
diff --git a/accounts/page/financial_analytics/financial_analytics.txt b/accounts/page/financial_analytics/financial_analytics.txt
index 834503d..b02144f 100644
--- a/accounts/page/financial_analytics/financial_analytics.txt
+++ b/accounts/page/financial_analytics/financial_analytics.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-17 13:46:47',
+ u'creation': '2012-09-18 11:05:48',
u'docstatus': 0,
- u'modified': '2012-09-17 13:46:47',
+ u'modified': '2012-10-04 17:02:43',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,36 @@
'title': u'Financial Analytics'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'financial-analytics',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, financial-analytics
{
u'doctype': u'Page',
u'name': u'financial-analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts User'
}
]
\ No newline at end of file
diff --git a/accounts/page/financial_statements/financial_statements.txt b/accounts/page/financial_statements/financial_statements.txt
index 6f64c1b..ba212fc 100644
--- a/accounts/page/financial_statements/financial_statements.txt
+++ b/accounts/page/financial_statements/financial_statements.txt
@@ -3,56 +3,47 @@
# These values are common in all dictionaries
{
- 'creation': '2010-10-12 15:19:32',
- 'docstatus': 0,
- 'modified': '2011-01-03 17:32:30',
- 'modified_by': 'Administrator',
- 'owner': 'Administrator'
+ u'creation': '2012-06-14 15:07:28',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 17:04:05',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
- 'module': 'Accounts',
- 'name': '__common__',
- 'page_name': 'Financial Statements',
+ u'doctype': u'Page',
+ 'module': u'Accounts',
+ u'name': u'__common__',
+ 'page_name': u'Financial Statements',
'show_in_menu': 0,
- 'standard': 'Yes'
+ 'standard': u'Yes'
},
# These values are common for all Page Role
{
- 'doctype': 'Page Role',
- 'name': '__common__',
- 'parent': 'Financial Statements',
- 'parentfield': 'roles',
- 'parenttype': 'Page'
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'Financial Statements',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
},
# Page, Financial Statements
{
- 'doctype': 'Page',
- 'name': 'Financial Statements'
+ u'doctype': u'Page',
+ u'name': u'Financial Statements'
},
# Page Role
{
- 'doctype': 'Page Role',
- 'idx': 1,
- 'role': 'Accounts User'
+ u'doctype': u'Page Role',
+ 'role': u'Accounts User'
},
# Page Role
{
- 'doctype': 'Page Role',
- 'idx': 2,
- 'role': 'Administrator'
- },
-
- # Page Role
- {
- 'doctype': 'Page Role',
- 'idx': 3,
- 'role': 'Accounts Manager'
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
}
]
\ No newline at end of file
diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index c8866fc..b7645ec 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -25,6 +25,8 @@
}
+wn.require("lib/js/wn/views/grid_report.js");
+
erpnext.GeneralLedger = wn.views.GridReport.extend({
init: function(wrapper) {
this._super({
diff --git a/accounts/page/general_ledger/general_ledger.txt b/accounts/page/general_ledger/general_ledger.txt
index c57ff0f..067f2f0 100644
--- a/accounts/page/general_ledger/general_ledger.txt
+++ b/accounts/page/general_ledger/general_ledger.txt
@@ -3,26 +3,53 @@
# These values are common in all dictionaries
{
- 'creation': '2012-09-13 13:50:13',
- 'docstatus': 0,
- 'modified': '2012-09-13 13:50:13',
- 'modified_by': u'Administrator',
- 'owner': u'Administrator'
+ u'creation': '2012-09-14 11:25:48',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 17:00:09',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
+ u'doctype': u'Page',
'module': u'Accounts',
- 'name': '__common__',
+ u'name': u'__common__',
'page_name': u'general-ledger',
'standard': u'Yes',
'title': u'General Ledger'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'general-ledger',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, general-ledger
{
- 'doctype': 'Page',
- 'name': u'general-ledger'
+ u'doctype': u'Page',
+ u'name': u'general-ledger'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts User'
}
]
\ No newline at end of file
diff --git a/accounts/page/trial_balance/trial_balance.js b/accounts/page/trial_balance/trial_balance.js
index 3504ae0..3ecfba7 100644
--- a/accounts/page/trial_balance/trial_balance.js
+++ b/accounts/page/trial_balance/trial_balance.js
@@ -14,6 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
+wn.require("lib/js/wn/views/grid_report.js");
wn.require("app/js/account_tree_grid.js");
wn.pages['trial-balance'].onload = function(wrapper) {
diff --git a/accounts/page/trial_balance/trial_balance.txt b/accounts/page/trial_balance/trial_balance.txt
index 88b91d6..9bbd513 100644
--- a/accounts/page/trial_balance/trial_balance.txt
+++ b/accounts/page/trial_balance/trial_balance.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-17 13:47:16',
+ u'creation': '2012-09-18 11:05:48',
u'docstatus': 0,
- u'modified': '2012-09-17 13:47:16',
+ u'modified': '2012-10-04 17:01:47',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,36 @@
'title': u'Trial Balance'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'trial-balance',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, trial-balance
{
u'doctype': u'Page',
u'name': u'trial-balance'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts User'
}
]
\ No newline at end of file
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.py b/accounts/page/voucher_import_tool/voucher_import_tool.py
index b8dd717..7cff10f 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.py
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.py
@@ -35,12 +35,12 @@
rows = read_csv_content_from_uploaded_file()
common_values = get_common_values(rows)
- data = get_data(rows)
+ data, start_idx = get_data(rows)
if rows[0][0]=="Voucher Import :Single":
- return import_single(common_values, data)
+ return import_single(common_values, data, start_idx)
else:
- return import_multiple(common_values, data)
+ return import_multiple(common_values, data, start_idx)
def map_fields(field_list, source, target):
for f in field_list:
@@ -49,12 +49,12 @@
else:
target[f] = source.get(f)
-def import_multiple(common_values, data):
+def import_multiple(common_values, data, start_idx):
from webnotes.model.doc import Document
from webnotes.model.doclist import DocList
from webnotes.model.code import get_obj
- from accounts.utils import get_fiscal_year_from_date
- from webnotes.utils.dateutils import user_to_str
+ from accounts.utils import get_fiscal_year
+ from webnotes.utils.dateutils import parse_date
messages = []
@@ -82,17 +82,17 @@
jv = webnotes.DictObj()
try:
- d.posting_date = user_to_str(d.posting_date)
- d.due_date = user_to_str(d.due_date)
- d.ref_date = user_to_str(d.ref_date)
+ d.posting_date = parse_date(d.posting_date)
+ d.due_date = parse_date(d.due_date)
+ d.ref_date = parse_date(d.ref_date)
d.company = common_values.company
jv = Document("Journal Voucher")
map_fields(["voucher_type", "posting_date", "naming_series", "remarks:remark",
- "ref_no:cheque_no", "ref_date:cheque_date", "is_opening",
+ "ref_number:cheque_no", "ref_date:cheque_date", "is_opening",
"amount:total_debit", "amount:total_credit", "due_date", "company"], d, jv.fields)
- jv.fiscal_year = get_fiscal_year_from_date(jv.posting_date)
+ jv.fiscal_year = get_fiscal_year(jv.posting_date)[0]
detail1 = Document("Journal Voucher Detail")
detail1.parent = True
@@ -112,13 +112,15 @@
doclist.submit()
webnotes.conn.commit()
- messages.append("<p style='color: green'>[row #%s] %s imported</p>" \
- % (i, jv.name))
+ messages.append("""<p style='color: green'>[row #%s]
+ <a href=\"#Form/Journal Voucher/%s\">%s</a> imported</p>""" \
+ % ((start_idx + 1) + i, jv.name, jv.name))
except Exception, e:
webnotes.conn.rollback()
+ err_msg = webnotes.message_log and webnotes.message_log[0] or unicode(e)
messages.append("<p style='color: red'>[row #%s] %s failed: %s</p>" \
- % (i, jv.name, webnotes.message_log and webnotes.message_log[0] or "No message"))
+ % ((start_idx + 1) + i, jv.name, err_msg or "No message"))
webnotes.errprint(webnotes.getTraceback())
webnotes.message_log = []
@@ -142,11 +144,13 @@
def get_data(rows):
start_row = 0
data = []
+ start_row_idx = 0
for i in xrange(len(rows)):
r = rows[i]
if r[0]:
if start_row and i >= start_row:
+ if not start_row_idx: start_row_idx = i
d = webnotes.DictObj()
for cidx in xrange(len(columns)):
d[columns[cidx]] = r[cidx]
@@ -155,7 +159,8 @@
if r[0]=="--------Data----------":
start_row = i+2
columns = [c.replace(" ", "_").lower() for c in rows[i+1]]
- return data
+
+ return data, start_row_idx
@webnotes.whitelist()
def get_template_single():
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.txt b/accounts/page/voucher_import_tool/voucher_import_tool.txt
index 658ef00..ab4b9bd 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.txt
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-26 15:21:57',
+ u'creation': '2012-10-02 18:51:49',
u'docstatus': 0,
- u'modified': '2012-09-26 15:21:57',
+ u'modified': '2012-10-04 17:04:18',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,24 @@
'title': u'Voucher Import Tool'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'voucher-import-tool',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page',
+ 'role': u'Accounts Manager'
+ },
+
# Page, voucher-import-tool
{
u'doctype': u'Page',
u'name': u'voucher-import-tool'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role'
}
]
\ No newline at end of file
diff --git a/buying/page/buying_home/buying_home.html b/buying/page/buying_home/buying_home.html
index 384a77e..9ec7b75 100644
--- a/buying/page/buying_home/buying_home.html
+++ b/buying/page/buying_home/buying_home.html
@@ -24,7 +24,8 @@
<h4><a href="#!List/Address">Address</a></h4>
<p class="help">Address Master</p>
<br>
- <h4><a href="#purchase-analytics" data-role="Analytics">Purchase Analytics</a>
+ <h4><a href="#purchase-analytics" data-role="Analytics, Purchase Manager">
+ Purchase Analytics</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Purchase trends based on Purchase Invoice</p>
@@ -51,6 +52,13 @@
</div>
<div class="section-item">
<a class="section-link"
+ title = "Tree of item classification"
+ href="#!Sales Browser/Item Group"
+ data-role="Purchase Manager, Purchase Master Manager
+ Accounts Manager">Item Group</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
title = "Helper for managing return of goods (sales or purchase)"
href="#!Form/Sales and Purchase Return Tool/Sales and Purchase Return Tool">Purchase Returns</a>
</div>
diff --git a/buying/page/purchase_analytics/purchase_analytics.js b/buying/page/purchase_analytics/purchase_analytics.js
index ac0e41f..556eb72 100644
--- a/buying/page/purchase_analytics/purchase_analytics.js
+++ b/buying/page/purchase_analytics/purchase_analytics.js
@@ -23,6 +23,7 @@
new erpnext.PurchaseAnalytics(wrapper);
}
+wn.require("lib/js/wn/views/grid_report.js");
erpnext.PurchaseAnalytics = wn.views.TreeGridReport.extend({
init: function(wrapper) {
diff --git a/buying/page/purchase_analytics/purchase_analytics.txt b/buying/page/purchase_analytics/purchase_analytics.txt
index 71d1c9b..b0232ed 100644
--- a/buying/page/purchase_analytics/purchase_analytics.txt
+++ b/buying/page/purchase_analytics/purchase_analytics.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-21 15:21:10',
+ u'creation': '2012-09-21 20:15:16',
u'docstatus': 0,
- u'modified': '2012-09-21 15:21:10',
+ u'modified': '2012-10-04 17:24:17',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,30 @@
'title': u'Purchase Analytics'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'purchase-analytics',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, purchase-analytics
{
u'doctype': u'Page',
u'name': u'purchase-analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Purchase Manager'
}
]
\ No newline at end of file
diff --git a/projects/page/projects_home/projects_home.html b/projects/page/projects_home/projects_home.html
index fed846c..d69f0af 100644
--- a/projects/page/projects_home/projects_home.html
+++ b/projects/page/projects_home/projects_home.html
@@ -12,7 +12,7 @@
<p class="help">Timesheet for tasks</p>
</div>
<div style="width: 48%; float: right;">
- <h4><a href="#!Projects">Gantt Chart</a></h4>
+ <h4><a href="#!Projects" data-role="Projects User">Gantt Chart</a></h4>
<p class="help">Gantt chart of all tasks</p>
</div>
<div style="clear: both"></div>
diff --git a/public/js/modules.js b/public/js/modules.js
index a9e82d6..772a561 100644
--- a/public/js/modules.js
+++ b/public/js/modules.js
@@ -128,7 +128,10 @@
// pages
$(wrapper).find('[data-role]').each(function() {
- if(!has_common(user_roles, [$(this).attr("data-role"), "System Manager"])) {
+ // can define multiple roles
+ var data_roles = $(this).attr("data-role").split(",").map(function(role) {
+ return role.trim(); });
+ if(!has_common(user_roles, ["System Manager"].concat(data_roles))) {
var html = $(this).html();
$(this).parent().css('color', '#999');
$(this).replaceWith('<span title="Only accessible by Roles: '+
@@ -167,7 +170,8 @@
parent: $parent2,
method: 'utilities.get_report_list',
render_row: function(row, data) {
- $(row).html(repl('<a href="#!Report2/%(ref_doctype)s/%(name)s" \
+ data.report_type = data.is_query_report ? "query-report" : "Report2"
+ $(row).html(repl('<a href="#!%(report_type)s/%(ref_doctype)s/%(name)s" \
data-doctype="%(ref_doctype)s">\
%(name)s</a>', data))
},
diff --git a/public/js/tree_grid.css b/public/js/tree_grid.css
index 00e05d4..5fe5995 100644
--- a/public/js/tree_grid.css
+++ b/public/js/tree_grid.css
@@ -13,9 +13,9 @@
}
.toggle.expand {
- background: url(images/expand.gif) no-repeat center center;
+ background: url(app/images/expand.gif) no-repeat center center;
}
.toggle.collapse {
- background: url(images/collapse.gif) no-repeat center center;
+ background: url(app/images/collapse.gif) no-repeat center center;
}
\ No newline at end of file
diff --git a/selling/doctype/lead/lead.py b/selling/doctype/lead/lead.py
index d0a715d..d50a348 100644
--- a/selling/doctype/lead/lead.py
+++ b/selling/doctype/lead/lead.py
@@ -67,7 +67,6 @@
return ret
def validate(self):
- import string
if self.doc.status == 'Lead Lost' and not self.doc.order_lost_reason:
msgprint("Please Enter Lost Reason under More Info section")
raise Exception
@@ -80,7 +79,6 @@
if not validate_email_add(self.doc.email_id):
msgprint('Please enter valid email id.')
raise Exception
-
def on_update(self):
if self.doc.contact_date:
diff --git a/selling/doctype/lead/lead_list.js b/selling/doctype/lead/lead_list.js
index b876d52..e3ff931 100644
--- a/selling/doctype/lead/lead_list.js
+++ b/selling/doctype/lead/lead_list.js
@@ -4,7 +4,8 @@
this.fields = this.fields.concat([
'tabLead.lead_name',
'tabLead.status',
- 'tabLead.source'
+ 'tabLead.source',
+ 'tabLead.modified_by'
]);
this.stats = this.stats.concat(['status', 'source', 'rating', 'company']);
},
@@ -25,7 +26,7 @@
columns: [
{width: '3%', content: 'check'},
- {width: '5%', content:'avatar'},
+ {width: '5%', content:'avatar_modified'},
{width: '30%', content:'lead_name'},
{width: '12%', content:'status_html'},
{width: '38%', content:'lead_status+tags', css: {color:'#222'}},
diff --git a/selling/page/sales_analytics/sales_analytics.js b/selling/page/sales_analytics/sales_analytics.js
index b87ead5..17246de 100644
--- a/selling/page/sales_analytics/sales_analytics.js
+++ b/selling/page/sales_analytics/sales_analytics.js
@@ -23,6 +23,8 @@
new erpnext.SalesAnalytics(wrapper);
}
+wn.require("lib/js/wn/views/grid_report.js");
+
erpnext.SalesAnalytics = wn.views.TreeGridReport.extend({
init: function(wrapper) {
this._super({
diff --git a/selling/page/sales_analytics/sales_analytics.txt b/selling/page/sales_analytics/sales_analytics.txt
index 3782df6..412d3e9 100644
--- a/selling/page/sales_analytics/sales_analytics.txt
+++ b/selling/page/sales_analytics/sales_analytics.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-21 12:06:14',
+ u'creation': '2012-09-21 20:15:12',
u'docstatus': 0,
- u'modified': '2012-09-21 12:06:14',
+ u'modified': '2012-10-04 17:17:39',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,36 @@
'title': u'Sales Analytics'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'sales-analytics',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, sales-analytics
{
u'doctype': u'Page',
u'name': u'sales-analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Sales Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Maintenance Manager'
}
]
\ No newline at end of file
diff --git a/selling/page/sales_browser/sales_browser.txt b/selling/page/sales_browser/sales_browser.txt
index d6dfbf3..a94c7a0 100644
--- a/selling/page/sales_browser/sales_browser.txt
+++ b/selling/page/sales_browser/sales_browser.txt
@@ -3,49 +3,77 @@
# These values are common in all dictionaries
{
- 'creation': '2010-12-14 10:23:21',
- 'docstatus': 0,
- 'modified': '2010-12-24 11:56:34',
- 'modified_by': 'Administrator',
- 'owner': 'Administrator'
+ u'creation': '2012-06-14 15:07:26',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 17:34:55',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
- 'module': 'Selling',
- 'name': '__common__',
- 'page_name': 'Sales Browser',
+ u'doctype': u'Page',
+ 'module': u'Selling',
+ u'name': u'__common__',
+ 'page_name': u'Sales Browser',
'show_in_menu': 0,
- 'standard': 'Yes'
+ 'standard': u'Yes'
},
# These values are common for all Page Role
{
- 'doctype': 'Page Role',
- 'name': '__common__',
- 'parent': 'Sales Browser',
- 'parentfield': 'roles',
- 'parenttype': 'Page'
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'Sales Browser',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
},
# Page, Sales Browser
{
- 'doctype': 'Page',
- 'name': 'Sales Browser'
+ u'doctype': u'Page',
+ u'name': u'Sales Browser'
},
# Page Role
{
- 'doctype': 'Page Role',
- 'idx': 1,
- 'role': 'Sales Master Manager'
+ u'doctype': u'Page Role',
+ 'role': u'Sales Master Manager'
},
# Page Role
{
- 'doctype': 'Page Role',
- 'idx': 2,
- 'role': 'Material Master Manager'
+ u'doctype': u'Page Role',
+ 'role': u'Material Master Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Accounts Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Sales Master Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Purchase Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Purchase Master Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Material Manager'
}
]
\ No newline at end of file
diff --git a/selling/page/selling_home/selling_home.html b/selling/page/selling_home/selling_home.html
index 1917b01..86fe47f 100644
--- a/selling/page/selling_home/selling_home.html
+++ b/selling/page/selling_home/selling_home.html
@@ -27,7 +27,8 @@
<h4><a href="#!List/Address">Address</a></h4>
<p class="help">Address Master</p>
<br>
- <h4><a href="#sales-analytics" data-role="Analytics">Sales Analytics</a>
+ <h4><a href="#sales-analytics" data-role="Analytics, Sales Manager,
+ Maintenance Manager">Sales Analytics</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Sales trends based on Sales Invoice</p>
@@ -65,17 +66,23 @@
<div class="section-item">
<a class="section-link"
title = "Tree of customer groups"
- href="#!Sales Browser/Customer Group">Customer Group</a>
+ href="#!Sales Browser/Customer Group"
+ data-role="Sales Manager, Sales Master Manager,
+ Accounts Manager">Customer Group</a>
</div>
<div class="section-item">
<a class="section-link"
title = "Tree of sales territories"
- href="#!Sales Browser/Territory">Territory</a>
+ href="#!Sales Browser/Territory"
+ data-role="Sales Manager, Sales Master Manager
+ Accounts Manager">Territory</a>
</div>
<div class="section-item">
<a class="section-link"
title = "Sales persons and targets"
- href="#!Sales Browser/Sales Person">Sales Person</a>
+ href="#!Sales Browser/Sales Person"
+ data-role="Sales Manager, Sales Master Manager
+ Accounts Manager">Sales Person</a>
</div>
<div class="section-item">
<a class="section-link"
@@ -85,7 +92,9 @@
<div class="section-item">
<a class="section-link"
title = "Tree of item classification"
- href="#!Sales Browser/Item Group">Item Group</a>
+ href="#!Sales Browser/Item Group"
+ data-role="Sales Manager, Sales Master Manager
+ Accounts Manager">Item Group</a>
</div>
<div class="section-item">
<a class="section-link"
@@ -108,15 +117,10 @@
href="#!Form/Sales and Purchase Return Tool/Sales and Purchase Return Tool">Sales Returns</a>
</div>
<div class="section-item">
- <a class="section-link"
+ <a class="section-link"
title = "Analyze Sales and Purchase trends and slice them based on item, customer, groups etc"
href="#!Report/Profile/Trend Analyzer">Trend Analyzer</a>
</div>
- <!--<div class="section-item">
- <a class="section-link"
- title = "sales trends"
- href="#!Sales Dashboard">Sales Dashboard</a>
- </div>-->
</div>
</div>
</div>
diff --git a/setup/page/modules_setup/modules_setup.txt b/setup/page/modules_setup/modules_setup.txt
index 70c6a90..494a96b 100644
--- a/setup/page/modules_setup/modules_setup.txt
+++ b/setup/page/modules_setup/modules_setup.txt
@@ -3,26 +3,41 @@
# These values are common in all dictionaries
{
- 'creation': '2012-02-28 17:48:39',
- 'docstatus': 0,
- 'modified': '2012-02-28 17:48:39',
- 'modified_by': u'Administrator',
- 'owner': u'Administrator'
+ u'creation': '2012-06-14 15:07:28',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 16:55:31',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
+ u'doctype': u'Page',
'module': u'Setup',
- 'name': '__common__',
+ u'name': u'__common__',
'page_name': u'modules_setup',
'standard': u'Yes',
'title': u'Modules Setup'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'modules_setup',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page',
+ 'role': u'System Manager'
+ },
+
# Page, modules_setup
{
- 'doctype': 'Page',
- 'name': u'modules_setup'
+ u'doctype': u'Page',
+ u'name': u'modules_setup'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role'
}
]
\ No newline at end of file
diff --git a/setup/page/setup/setup.txt b/setup/page/setup/setup.txt
index 2ecc40b..dfc85e3 100644
--- a/setup/page/setup/setup.txt
+++ b/setup/page/setup/setup.txt
@@ -3,25 +3,40 @@
# These values are common in all dictionaries
{
- 'creation': '2010-12-16 23:46:03',
- 'docstatus': 0,
- 'modified': '2011-07-04 16:58:27',
- 'modified_by': 'Administrator',
- 'owner': 'Administrator'
+ u'creation': '2012-06-14 15:07:28',
+ u'docstatus': 0,
+ u'modified': '2012-10-04 16:52:41',
+ u'modified_by': u'Administrator',
+ u'owner': u'Administrator'
},
# These values are common for all Page
{
- 'doctype': 'Page',
- 'module': 'Setup',
- 'name': '__common__',
- 'page_name': 'Setup',
- 'standard': 'Yes'
+ u'doctype': u'Page',
+ 'module': u'Setup',
+ u'name': u'__common__',
+ 'page_name': u'Setup',
+ 'standard': u'Yes'
+ },
+
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'Setup',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page',
+ 'role': u'System Manager'
},
# Page, Setup
{
- 'doctype': 'Page',
- 'name': 'Setup'
+ u'doctype': u'Page',
+ u'name': u'Setup'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role'
}
]
\ No newline at end of file
diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js
index 3295700..7adf56a 100644
--- a/stock/page/stock_ageing/stock_ageing.js
+++ b/stock/page/stock_ageing/stock_ageing.js
@@ -26,6 +26,7 @@
}
+wn.require("lib/js/wn/views/grid_report.js");
wn.require("app/js/stock_grid_report.js");
erpnext.StockAgeing = erpnext.StockGridReport.extend({
diff --git a/stock/page/stock_ageing/stock_ageing.txt b/stock/page/stock_ageing/stock_ageing.txt
index bda41e5..bb4aabb 100644
--- a/stock/page/stock_ageing/stock_ageing.txt
+++ b/stock/page/stock_ageing/stock_ageing.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-21 18:21:31',
+ u'creation': '2012-09-21 20:15:14',
u'docstatus': 0,
- u'modified': '2012-09-21 18:21:31',
+ u'modified': '2012-10-04 17:34:24',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,30 @@
'title': u'Stock Ageing'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'stock-ageing',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, stock-ageing
{
u'doctype': u'Page',
u'name': u'stock-ageing'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Material Manager'
}
]
\ No newline at end of file
diff --git a/stock/page/stock_analytics/stock_analytics.js b/stock/page/stock_analytics/stock_analytics.js
index 9b0309f..bec0bc2 100644
--- a/stock/page/stock_analytics/stock_analytics.js
+++ b/stock/page/stock_analytics/stock_analytics.js
@@ -24,6 +24,7 @@
new erpnext.StockAnalytics(wrapper);
}
+wn.require("lib/js/wn/views/grid_report.js");
wn.require("app/js/stock_grid_report.js");
erpnext.StockAnalytics = erpnext.StockGridReport.extend({
diff --git a/stock/page/stock_analytics/stock_analytics.txt b/stock/page/stock_analytics/stock_analytics.txt
index 3d9510d..1405e6c 100644
--- a/stock/page/stock_analytics/stock_analytics.txt
+++ b/stock/page/stock_analytics/stock_analytics.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-20 12:13:45',
+ u'creation': '2012-09-21 20:15:14',
u'docstatus': 0,
- u'modified': '2012-09-20 12:13:45',
+ u'modified': '2012-10-04 17:32:20',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,30 @@
'title': u'Stock Analytics'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'stock-analytics',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, stock-analytics
{
u'doctype': u'Page',
u'name': u'stock-analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Material Manager'
}
]
\ No newline at end of file
diff --git a/stock/page/stock_home/stock_home.html b/stock/page/stock_home/stock_home.html
index b3a2848..fd33814 100644
--- a/stock/page/stock_home/stock_home.html
+++ b/stock/page/stock_home/stock_home.html
@@ -24,17 +24,20 @@
<h4><a href="#!List/Warehouse">Warehouse</a></h4>
<p class="help">Warehouse is where items are stored</p>
<br>
- <h4><a href="#stock-ledger" data-role="Analytics">Stock Ledger</a>
+ <h4><a href="#stock-ledger" data-role="Analytics, Material Manager,
+ Material User">Stock Ledger</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Log of stock movements</p>
<br>
- <h4><a href="#stock-analytics" data-role="Analytics">Stock Analytics</a>
+ <h4><a href="#stock-analytics" data-role="Analytics, Material Manager">
+ Stock Analytics</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Visual representation of stock trends</p>
<br>
- <h4><a href="#stock-ageing" data-role="Analytics">Stock Ageing</a>
+ <h4><a href="#stock-ageing" data-role="Analytics, Material Manager">
+ Stock Ageing</a>
<span style="background-color: #fed; font-weight: normal; font-size: 80%">beta</span>
</h4>
<p class="help">Analysis of slow moving stock</p>
@@ -102,7 +105,9 @@
<div class="section-item">
<a class="section-link"
title = "Tree of item classification"
- href="#!Sales Browser/Item Group">Item Group</a>
+ href="#!Sales Browser/Item Group"
+ data-role="Material Master Master, Material Manager,
+ Accounts Manager">Item Group</a>
</div>
<div class="section-item">
<a class="section-link"
diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js
index 08350e6..b71bd1b 100644
--- a/stock/page/stock_ledger/stock_ledger.js
+++ b/stock/page/stock_ledger/stock_ledger.js
@@ -24,6 +24,7 @@
new erpnext.StockLedger(wrapper);
}
+wn.require("lib/js/wn/views/grid_report.js");
wn.require("app/js/stock_grid_report.js");
erpnext.StockLedger = erpnext.StockGridReport.extend({
diff --git a/stock/page/stock_ledger/stock_ledger.txt b/stock/page/stock_ledger/stock_ledger.txt
index a9460aa..eb95eb6 100644
--- a/stock/page/stock_ledger/stock_ledger.txt
+++ b/stock/page/stock_ledger/stock_ledger.txt
@@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
- u'creation': '2012-09-18 14:55:15',
+ u'creation': '2012-09-21 20:15:14',
u'docstatus': 0,
- u'modified': '2012-09-18 14:55:15',
+ u'modified': '2012-10-04 17:25:35',
u'modified_by': u'Administrator',
u'owner': u'Administrator'
},
@@ -20,9 +20,36 @@
'title': u'Stock Ledger'
},
+ # These values are common for all Page Role
+ {
+ u'doctype': u'Page Role',
+ u'name': u'__common__',
+ 'parent': u'stock-ledger',
+ 'parentfield': u'roles',
+ 'parenttype': u'Page'
+ },
+
# Page, stock-ledger
{
u'doctype': u'Page',
u'name': u'stock-ledger'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Analytics'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Material Manager'
+ },
+
+ # Page Role
+ {
+ u'doctype': u'Page Role',
+ 'role': u'Material User'
}
]
\ No newline at end of file
diff --git a/support/doctype/support_ticket/support_ticket_list.js b/support/doctype/support_ticket/support_ticket_list.js
index e05de60..2d6090c 100644
--- a/support/doctype/support_ticket/support_ticket_list.js
+++ b/support/doctype/support_ticket/support_ticket_list.js
@@ -5,7 +5,9 @@
this.fields = this.fields.concat([
"`tabSupport Ticket`.status",
"`tabSupport Ticket`.subject",
- "`tabSupport Ticket`.description"
+ "`tabSupport Ticket`.description",
+ '`tabSupport Ticket`.modified_by'
+
]);
this.stats = this.stats.concat(['status']);
this.show_hide_check_column();
@@ -38,10 +40,11 @@
columns: [
{width: '3%', content: 'check'},
+ {width: '5%', content:'avatar_modified'},
{width: '20%', content:'name'},
{width: '10%', content:'status_html'},
{width: '50%', content:'description+tags', css: {color:'#222'}},
- {width: '14%', content:'modified', css: {'text-align': 'right', 'color':'#777'}}
+ {width: '12%', content:'modified', css: {'text-align': 'right', 'color':'#777'}}
]
});
diff --git a/utilities/__init__.py b/utilities/__init__.py
index a6e4625..b4ce38a 100644
--- a/utilities/__init__.py
+++ b/utilities/__init__.py
@@ -16,27 +16,39 @@
from __future__ import unicode_literals
import webnotes
+from webnotes.utils import cint
@webnotes.whitelist()
def get_sc_list(arg=None):
- """return list of reports for the given module module"""
- webnotes.response['values'] = webnotes.conn.sql("""select
- distinct criteria_name, doc_type, parent_doc_type
+ """return list of reports for the given module module"""
+ limit_start = webnotes.form_dict.get("limit_start")
+ limit_page_length = webnotes.form_dict.get("limit_page_length")
+ module = webnotes.form_dict.get("module")
+
+ webnotes.response['values'] = webnotes.conn.sql("""
+ select distinct criteria_name, doc_type, parent_doc_type
from `tabSearch Criteria`
- where module='%(module)s'
- and docstatus in (0, NULL)
- and ifnull(disabled, 0) = 0
- order by criteria_name
- limit %(limit_start)s, %(limit_page_length)s""" % webnotes.form_dict, as_dict=True)
+ where module=%s
+ and docstatus in (0, NULL)
+ and ifnull(disabled, 0) = 0
+ order by criteria_name
+ limit %s, %s""" % \
+ ("%s", cint(limit_start), cint(limit_page_length)), (module,), as_dict=True)
@webnotes.whitelist()
def get_report_list():
"""return list on new style reports for modules"""
- webnotes.response['values'] = webnotes.conn.sql("""select
- distinct tabReport.name, tabReport.ref_doctype
+ limit_start = webnotes.form_dict.get("limit_start")
+ limit_page_length = webnotes.form_dict.get("limit_page_length")
+ module = webnotes.form_dict.get("module")
+
+ webnotes.response['values'] = webnotes.conn.sql("""
+ select distinct tabReport.name, tabReport.ref_doctype,
+ if(ifnull(tabReport.query, '')!='', 1, 0) as is_query_report
from `tabReport`, `tabDocType`
- where tabDocType.module='%(module)s'
- and tabDocType.name = tabReport.ref_doctype
- and tabReport.docstatus in (0, NULL)
- order by tabReport.name
- limit %(limit_start)s, %(limit_page_length)s""" % webnotes.form_dict, as_dict=True)
\ No newline at end of file
+ where tabDocType.module=%s
+ and tabDocType.name = tabReport.ref_doctype
+ and tabReport.docstatus in (0, NULL)
+ order by tabReport.name
+ limit %s, %s""" % \
+ ("%s", cint(limit_start), cint(limit_page_length)), (module,), as_dict=True)
\ No newline at end of file