Merge branch 'master' of git://github.com/webnotes/erpnext

This commit is contained in:
Nabin Hait 2012-07-09 15:26:10 +05:30
commit cbd23dace7
14 changed files with 97 additions and 133 deletions

View File

@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
'creation': '2012-04-13 11:56:18',
'creation': '2012-06-08 16:07:55',
'docstatus': 0,
'modified': '2012-06-07 19:05:06',
'modified': '2012-07-09 11:00:18',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@ -67,6 +67,17 @@
'trigger': u'Client'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'customer_item_code',
'fieldtype': u'Data',
'hidden': 1,
'label': u"Customer's Item Code",
'permlevel': 1,
'print_hide': 1
},
# DocField
{
'doctype': u'DocField',

View File

@ -140,79 +140,8 @@ cur_frm.fields_dict['enquiry_details'].grid.get_field('item_code').get_query = f
else
return 'SELECT tabItem.name,tabItem.item_name,tabItem.description FROM tabItem WHERE tabItem.is_sales_item="Yes" AND (ifnull(`tabItem`.`end_of_life`,"") = "" OR `tabItem`.`end_of_life` > NOW() OR `tabItem`.`end_of_life`="0000-00-00") AND tabItem.%(key)s LIKE "%s" LIMIT 50';
}
//Fetch Item Details
//====================================================================================================================
cur_frm.cscript.item_code = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if (d.item_code) {
get_server_fields('get_item_details',d.item_code,'enquiry_details',doc,cdt,cdn,1);
}
}
/*
//Fetch Customer Details
//======================================================================================================================
cur_frm.cscript.customer = function(doc, cdt, cdn){
if (doc.customer) {
get_server_fields('get_cust_address',doc.customer,'',doc,cdt,cdn,1);
}
}
*/
/*
//=======================================================================================================================
cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
return 'SELECT `tabContact`.contact_name FROM `tabContact` WHERE `tabContact`.is_customer = 1 AND `tabContact`.customer = "'+ doc.customer+'" AND `tabContact`.docstatus != 2 AND `tabContact`.contact_name LIKE "%s" ORDER BY `tabContact`.contact_name ASC LIMIT 50';
}
*/
/*
//=======================================================================================================================
cur_frm.cscript.contact_person = function(doc, cdt, cdn){
if (doc.contact_person) {
arg = {};
arg.contact_person = doc.contact_person;
arg.customer = doc.customer;
get_server_fields('get_contact_details',docstring(arg),'',doc,cdt,cdn,1);
}
}
*/
/*
// hide - unhide fields based on lead or customer..
//=======================================================================================================================
cur_frm.cscript.clear_values = function(doc,cdt,cdn) {
if(doc.enquiry_from == 'Lead') {
doc.customer = doc.customer_name = doc.contact_person = doc.customer_group = "";
}
else if(doc.enquiry_from == 'Customer') {
doc.lead = doc.lead_name = "";
}
refresh_many(['lead','lead_name','customer','customer_name','contact_person','customer_group']);
}
*/
/*
//================ hide - unhide fields on basis of enquiry from either lead or customer ===============================
cur_frm.cscript.enquiry_from = function(doc,cdt,cdn){
cur_frm.cscript.clear_values(doc,cdt,cdn);
doc.address = doc.territory = doc.contact_no = doc.email_id = "";
refresh_many(['territory','address','contact_no','email_id']);
}
*/
/*
//================ create new contact ============================================================================
cur_frm.cscript.new_contact = function(){
tn = createLocal('Contact');
locals['Contact'][tn].is_customer = 1;
if(doc.customer) locals['Contact'][tn].customer = doc.customer;
loaddoc('Contact', tn);
}
*/
// Create New Quotation
// =======================================================================================================================
// Create New Quotation
cur_frm.cscript['Create Quotation'] = function(){
n = createLocal("Quotation");
$c('dt_map', args={
@ -284,39 +213,5 @@ cur_frm.cscript['Declare Opportunity Lost'] = function(){
}
//get query select Territory
//=======================================================================================================================
cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) {
return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s" ORDER BY `tabTerritory`.`name` ASC LIMIT 50';}
/*
//===================== Opportunity From validation - either customer or lead is mandatory =====================================
cur_frm.cscript.enq_frm_validate = function(doc,cdt,cdn){
if(doc.enquiry_from == 'Lead'){
if(!doc.lead){
alert("Lead is mandatory.");
validated = false;
}
}
else if(doc.enquiry_from == 'Customer'){
if(!doc.customer){
alert("Customer is mandatory.");
validated = false;
}
else if(!doc.contact_person){
alert("Contact Person is mandatory.");
validated = false;
}
else if(!doc.customer_group){
alert("Customer Group is mandatory.");
validated = false;
}
}
}
*/
//===================validation function ==============================================================================
cur_frm.cscript.validate = function(doc,cdt,cdn){
//cur_frm.cscript.enq_frm_validate(doc,cdt,cdn);
}

View File

@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
'creation': '2012-06-04 15:40:56',
'creation': '2012-06-08 16:07:57',
'docstatus': 0,
'modified': '2012-06-07 17:58:39',
'modified': '2012-07-09 11:04:47',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@ -60,6 +60,17 @@
'width': u'150px'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'customer_item_code',
'fieldtype': u'Data',
'hidden': 1,
'label': u"Customer's Item Code",
'permlevel': 1,
'print_hide': 1
},
# DocField
{
'doctype': u'DocField',

View File

@ -163,6 +163,15 @@ class DocType(TransactionBase):
if ret['warehouse'] or ret['reserved_warehouse']:
av_qty = self.get_available_qty({'item_code': args['item_code'], 'warehouse': ret['warehouse'] or ret['reserved_warehouse']})
ret.update(av_qty)
# get customer code for given item from Item Customer Detail
customer_item_code_row = webnotes.conn.sql("""\
select ref_code from `tabItem Customer Detail`
where parent = %s and customer_name = %s""",
(args['item_code'], obj.doc.customer))
if customer_item_code_row and customer_item_code_row[0][0]:
ret['customer_item_code'] = customer_item_code_row[0][0]
return ret

View File

@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
'creation': '2012-04-13 11:56:28',
'creation': '2012-06-08 16:07:58',
'docstatus': 0,
'modified': '2012-06-07 18:04:52',
'modified': '2012-07-09 11:05:16',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@ -57,6 +57,17 @@
'width': u'150px'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'customer_item_code',
'fieldtype': u'Data',
'hidden': 1,
'label': u"Customer's Item Code",
'permlevel': 1,
'print_hide': 1
},
# DocField
{
'doctype': u'DocField',

View File

@ -255,7 +255,10 @@ class DocType:
args['sum_if_reqd'] = "IFNULL(SUM(IFNULL(%(sum_col)s, 0)), 0) AS '%(sum_col)s'," % args
if args['type'] == 'new_transactions':
args['company_condition'] = ''
# tabFeed doesn't have company column
# using this arg to set condition of feed_type as null
# so that comments, logins and assignments are not counted
args['company_condition'] = "feed_type IS NULL AND"
else:
args['company_condition'] = "company = '%(company)s' AND" % args

View File

@ -3,9 +3,9 @@
# These values are common in all dictionaries
{
'creation': '2012-04-13 11:56:35',
'creation': '2012-06-08 16:08:01',
'docstatus': 0,
'modified': '2012-06-07 17:57:14',
'modified': '2012-07-09 11:06:26',
'modified_by': u'Administrator',
'owner': u'Administrator'
},
@ -68,6 +68,17 @@
'width': u'150px'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'customer_item_code',
'fieldtype': u'Data',
'hidden': 1,
'label': u"Customer's Item Code",
'permlevel': 1,
'print_hide': 1
},
# DocField
{
'colour': u'White:FFF',

View File

@ -59,8 +59,7 @@ class DocType:
if cstr(d.uom) in check_list:
msgprint("UOM %s has been entered more than once in Conversion Factor Details." % cstr(d.uom))
raise Exception
if not cstr(d.uom) in check_list:
else:
check_list.append(cstr(d.uom))
if cstr(d.uom) == cstr(self.doc.stock_uom):

View File

@ -14,8 +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/>.
pscript.onload_questions = function(wrapper) {
console.log(1);
pscript.onload_questions = function(wrapper) {
body = $(wrapper).find('.layout-main-section').get(0);
wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe'));

View File

@ -47,4 +47,9 @@
.todo-content {
padding-right: 15px;
}
.layout-main {
background-color: #FFFDC9;
min-height: 300px;
}

View File

@ -1,9 +1,6 @@
<div class="layout-wrapper" style="min-height: 300px; background-color: #FFFDC9">
<div class="layout-wrapper layout-wrapper-background">
<div class="appframe-area"></div>
<div>
<a class="close" onclick="window.history.back();">&times;</a>
<h1>To Do</h1>
<br>
<div class="layout-main">
<div>
<div id="todo-list">
<h4>My List</h4><br>
@ -14,8 +11,6 @@
<div class="todo-content"></div>
</div>
</div>
<div style="margin-top: 21px; clear: both">
<button id="add-todo" class="btn btn-small"><i class="icon-plus"></i> Add</button>
</div>
<div style="clear: both"></div>
</div>
</div>

View File

@ -48,11 +48,6 @@ erpnext.todo.refresh = function() {
}
}
});
$('#add-todo').click(function() {
erpnext.todo.make_dialog({
date:get_today(), priority:'Medium', checked:0, description:''});
})
}
erpnext.todo.ToDoItem = Class.extend({
@ -196,7 +191,15 @@ erpnext.todo.save = function(btn) {
});
}
wn.pages.todo.onload = function() {
wn.pages.todo.onload = function(wrapper) {
// create app frame
wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'), 'To Do');
wrapper.appframe.add_button('Refresh', erpnext.todo.refresh, 'icon-refresh');
wrapper.appframe.add_button('Add', function() {
erpnext.todo.make_dialog({
date:get_today(), priority:'Medium', checked:0, description:''});
}, 'icon-plus');
// load todos
erpnext.todo.refresh();
}

View File

@ -3219,6 +3219,8 @@ div.stat-item {
height: 18px;
border: 1px solid #aaa;
border-radius: 9px;
-webkit-border-radius: 9px;
-moz-border-radius: 9px;
overflow: hidden;
}
@ -3227,6 +3229,10 @@ div.stat-bar {
left: 0px;
height: 100%;
z-index: 0;
/* So that this div is also curved like the enclosing one */
border-radius: 9px;
-webkit-border-radius: 9px;
-moz-border-radius: 9px;
background: #e0ff84; /* Old browsers */
background: -moz-linear-gradient(top, #e0ff84 0%, #a4e567 100%); /* FF3.6+ */

View File

@ -2470,6 +2470,8 @@ div.stat-item {
height: 18px;
border: 1px solid #aaa;
border-radius: 9px;
-webkit-border-radius: 9px;
-moz-border-radius: 9px;
overflow: hidden;
}
@ -2478,6 +2480,10 @@ div.stat-bar {
left: 0px;
height: 100%;
z-index: 0;
/* So that this div is also curved like the enclosing one */
border-radius: 9px;
-webkit-border-radius: 9px;
-moz-border-radius: 9px;
background: #e0ff84; /* Old browsers */
background: -moz-linear-gradient(top, #e0ff84 0%, #a4e567 100%); /* FF3.6+ */