Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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)