fixed version conflict

This commit is contained in:
Nabin Hait 2016-12-20 11:40:15 +05:30
commit f573d43b90
4 changed files with 44 additions and 45 deletions

View File

@ -2,7 +2,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import frappe import frappe
__version__ = '7.2.0-beta' __version__ = '7.1.27'
def get_default_company(user=None): def get_default_company(user=None):
'''Get default company for user''' '''Get default company for user'''

View File

@ -41,7 +41,13 @@ def validate_item_variant_attributes(item, args=None):
if attribute.lower() in numeric_values: if attribute.lower() in numeric_values:
numeric_attribute = numeric_values[attribute.lower()] numeric_attribute = numeric_values[attribute.lower()]
validate_is_incremental(numeric_attribute, attribute, value, item.name)
else:
attributes_list = attribute_values.get(attribute.lower(), [])
validate_item_attribute_value(attributes_list, attribute, value, item.name)
def validate_is_incremental(numeric_attribute, attribute, value, item):
from_range = numeric_attribute.from_range from_range = numeric_attribute.from_range
to_range = numeric_attribute.to_range to_range = numeric_attribute.to_range
increment = numeric_attribute.increment increment = numeric_attribute.increment
@ -59,12 +65,13 @@ def validate_item_variant_attributes(item, args=None):
if not (is_in_range and is_incremental): if not (is_in_range and is_incremental):
frappe.throw(_("Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4}")\ frappe.throw(_("Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4}")\
.format(attribute, from_range, to_range, increment, item.name), .format(attribute, from_range, to_range, increment, item),
InvalidItemAttributeValueError, title=_('Invalid Attribute')) InvalidItemAttributeValueError, title=_('Invalid Attribute'))
elif value not in attribute_values.get(attribute.lower(), []): def validate_item_attribute_value(attributes_list, attribute, attribute_value, item):
if attribute_value not in attributes_list:
frappe.throw(_("Value {0} for Attribute {1} does not exist in the list of valid Item Attribute Values for Item {2}").format( frappe.throw(_("Value {0} for Attribute {1} does not exist in the list of valid Item Attribute Values for Item {2}").format(
value, attribute, item.name), InvalidItemAttributeValueError, title=_('Invalid Attribute')) attribute_value, attribute, item), InvalidItemAttributeValueError, title=_('Invalid Attribute'))
def get_attribute_values(): def get_attribute_values():
if not frappe.flags.attribute_values: if not frappe.flags.attribute_values:

View File

@ -77,7 +77,7 @@ def send_via_gateway(arg):
for d in arg.get('receiver_list'): for d in arg.get('receiver_list'):
args[ss.receiver_parameter] = d args[ss.receiver_parameter] = d
status = send_request(ss.sms_gateway_url, args) status = send_request(ss.sms_gateway_url, args)
if status == 200: if status > 200 and status < 300:
success_list.append(d) success_list.append(d)
if len(success_list) > 0: if len(success_list) > 0:
@ -85,27 +85,12 @@ def send_via_gateway(arg):
create_sms_log(args, success_list) create_sms_log(args, success_list)
frappe.msgprint(_("SMS sent to following numbers: {0}").format("\n" + "\n".join(success_list))) frappe.msgprint(_("SMS sent to following numbers: {0}").format("\n" + "\n".join(success_list)))
# Send Request
# =========================================================
def send_request(gateway_url, args):
import httplib, urllib
server, api_url = scrub_gateway_url(gateway_url)
conn = httplib.HTTPConnection(server) # open connection
headers = {}
headers['Accept'] = "text/plain, text/html, */*"
conn.request('GET', api_url + urllib.urlencode(args), headers = headers) # send request
resp = conn.getresponse() # get response
return resp.status
# Split gateway url to server and api url def send_request(gateway_url, params):
# ========================================================= import requests
def scrub_gateway_url(url): response = requests.get(gateway_url, params = params, headers={'Accept': "text/plain, text/html, */*"})
url = url.replace('http://', '').strip().split('/') response.raise_for_status()
server = url.pop(0) return response.status_code
api_url = '/' + '/'.join(url)
if not api_url.endswith('?'):
api_url += '?'
return server, api_url
# Create SMS Log # Create SMS Log

View File

@ -6,7 +6,8 @@ import frappe
from frappe.model.document import Document from frappe.model.document import Document
from frappe import _ from frappe import _
from erpnext.controllers.item_variant import validate_item_variant_attributes, InvalidItemAttributeValueError from erpnext.controllers.item_variant import (validate_is_incremental,
validate_item_attribute_value, InvalidItemAttributeValueError)
class ItemAttributeIncrementError(frappe.ValidationError): pass class ItemAttributeIncrementError(frappe.ValidationError): pass
@ -25,9 +26,15 @@ class ItemAttribute(Document):
def validate_exising_items(self): def validate_exising_items(self):
'''Validate that if there are existing items with attributes, they are valid''' '''Validate that if there are existing items with attributes, they are valid'''
for item in frappe.db.sql('''select distinct i.name from `tabItem Variant Attribute` iva, `tabItem` i attributes_list = [d.attribute_value for d in self.item_attribute_values]
where iva.attribute = %s and iva.parent = i.name and i.has_variants = 0''', self.name):
validate_item_variant_attributes(item[0]) for item in frappe.db.sql('''select i.name, iva.attribute_value as value
from `tabItem Variant Attribute` iva, `tabItem` i where iva.attribute = %s
and iva.parent = i.name and i.has_variants = 0''', self.name, as_dict=1):
if self.numeric_values:
validate_is_incremental(self, self.name, item.value, item.name)
else:
validate_item_attribute_value(attributes_list, self.name, item.value, item.name)
def validate_numeric(self): def validate_numeric(self):
if self.numeric_values: if self.numeric_values: