def on_patch(self, req, resp, login_id, session): # Authenticate login id and session availability. try: if (MemcacheFunctions.IsSessionValid(login_id, session) is False): resp.status = falcon.HTTP_401 Err = { "Reason": "Invalid Login Credentials or Session is Expired" } result_json = json.dumps(Err) resp.body = result_json return except ValueError as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout), err.args) except Exception as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout), err.args) try: raw_json = req.stream.read(req.content_length or 0).decode('utf-8') result_dict_json = json.loads(raw_json, object_pairs_hook=OrderedDict, encoding='utf-8') # Connecting the database database_connection = get_db_connection() cursor = database_connection.cursor() cursor.execute( "select is_on_boarded from logins where login_id = '" + login_id + "'") row = cursor.fetchone() if row: sql_query = "update logistic_providers SET address_line_one=%s,\ address_line_two=%s,\ association_club=%s,\ bank_acc_no=%s, \ bank_name=%s, \ business_id=%s, \ business_license=%s, \ business_size=%s, \ city=%s, \ company_name=%s, \ company_registration_no=%s, \ country_code=%s, \ iban_no=%s, \ import_export_license=%s, \ industry_id=%s, \ mobile_no=%s, \ office_fax=%s, \ office_phone=%s, \ official_email=%s, \ postal_code=%s, \ state=%s, \ supplier_name=%s, \ swift_code=%s, \ tax_number=%s, \ tax_rate=%s, \ tax_type=%s, \ website=%s, \ timezone=%s \ where login_id = %s" args = ( result_dict_json['official_address_line_one'], result_dict_json['official_address_line_two'], result_dict_json['association_club'], result_dict_json['bank_acc_no'], result_dict_json['bank_name'], result_dict_json['business_type'], result_dict_json['license_number'], result_dict_json['business_nature'], result_dict_json['city'], result_dict_json['company_name'], result_dict_json['company_registration_no'], result_dict_json['country_code'], result_dict_json['iban_no'], result_dict_json['importer_exporter'], result_dict_json['industry_type'], result_dict_json['phone_number'], result_dict_json['fax_no'], result_dict_json['official_phone'], result_dict_json['official_email'], result_dict_json['postal_code'], result_dict_json['state'], result_dict_json['contact_person'], result_dict_json['swift_code'], result_dict_json['tax_number'], result_dict_json['tax_rate'], result_dict_json['tax_type'], result_dict_json['company_website'], result_dict_json['timezone'], login_id) cursor.execute(sql_query, args) database_connection.commit() Tools.GetMerchantID(result_dict_json['country_code'], result_dict_json['business_type'], result_dict_json['industry_type'], result_dict_json['business_nature'], login_id, cursor, database_connection) if (row['is_on_boarded'] != 1): Tools.ChangeUserOnBoardedStatus(login_id, "1", cursor, database_connection) SessionID = createSession(session) MemcacheFunctions.mc.set(login_id, SessionID, 300) row.update({ 'Login_ID': login_id, 'Active': 1, 'User Type': 1, 'Is On Boarded': 1, 'supplierName': result_dict_json['contact_person'], 'SessionID': session }) resp.status = falcon.HTTP_200 result_json = json.dumps(row, sort_keys=True) message = {"status": "On Boarded"} resp.body = result_json # if cursor.rowcount is 1: resp.status = falcon.HTTP_200 message = json.dumps({"status": "Updated"}) resp.body = message else: resp.status = falcon.HTTP_204 message = {"status": "No content"} result_json = json.dumps(message) resp.body = result_json except ValueError as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout), err.args) except pymysql.IntegrityError as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout), err.args) except Exception as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout), err.args) finally: cursor.close() database_connection.close()
def on_patch(self, req, resp, login_id, session): # Authenticate login id and session availability. try: if (MemcacheFunctions.IsSessionValid(login_id, session) is False): resp.status = falcon.HTTP_400 Err = {"Reason": "Invalid Login Credentials or Session is Expired"} result_json = json.dumps(Err) resp.body = (result_json) return except ValueError as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout) , err.args) except Exception as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout) , err.args) try: raw_json = req.stream.read(req.content_length or 0).decode('utf-8') result_dict_json = json.loads(raw_json, object_pairs_hook=OrderedDict, encoding='utf-8') list_values = [v for v in result_dict_json.values()] # Connecting the database database_connection = get_db_connection() cursor = database_connection.cursor() cursor.execute("select is_on_boarded from logins where login_id = '"+login_id+"'") row = cursor.fetchone() if row: cursor.execute("""update customers SET company_name=%s,company_registration_no=%s,customer_name=%s,mobile_no=%s, official_email=%s,office_phone=%s,office_fax=%s,website=%s,address_line_one=%s,address_line_two=%s, industry_id=%s, business_id=%s, business_size=%s,association_club=%s, business_license=%s, import_export_license=%s, city=%s, postal_code=%s, state=%s, country_code=%s, timezone=%s WHERE login_id=%s""", (list_values[0],list_values[1],list_values[2],list_values[3],list_values[4],list_values[5],list_values[6],list_values[7], list_values[8],list_values[9],list_values[10],list_values[11],list_values[12],list_values[13],list_values[14], list_values[15], list_values[16], list_values[17], list_values[18], list_values[19], list_values[20], login_id)) database_connection.commit() on_boarded_status = list(row) if(on_boarded_status[0] != 1): Tools.ChangeUserOnBoardedStatus(login_id, "1",cursor,database_connection) Tools.GetMerchantID(list_values[19],list_values[11],list_values[10],list_values[12],login_id,cursor,database_connection) SessionID = createSession(session) on_boarded_status.append(session) resp.status = falcon.HTTP_200 login_id = str(on_boarded_status[1]) MemcacheFunctions.mc.set(login_id,SessionID,300) columns = ('Login_ID', 'Active', 'User Type', 'Is On Boarded','SupplierName', 'CustomerName', 'SessionID') UserInfo_dictionary = dict(zip(columns, on_boarded_status)) result_json = json.dumps(UserInfo_dictionary, sort_keys=True) if(resp.status == falcon.HTTP_200): message = {"status": "200"} result_json = json.dumps(message) resp.body = (result_json) else: resp.status = falcon.HTTP_200 message = {"status": "200"} result_json = json.dumps(message) resp.body = (result_json) else: resp.status = falcon.HTTP_400 message = {"status": "Something wrong happened. Please login and try again"} result_json = json.dumps(message) resp.body = (result_json) cursor.close() database_connection.close() except ValueError as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout) , err.args) except pymysql.IntegrityError as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout) , err.args) except Exception as err: raise falcon.HTTPError(falcon.HTTP_400, traceback.print_exc(file=sys.stdout) , err.args)