Exemplo n.º 1
0
def put_request(path, data):
	settings = get_shopify_settings()
	s = get_request_session()
	url = get_shopify_url(path, settings)
	r = s.put(url, data=json.dumps(data), headers=get_header(settings))
	r.raise_for_status()
	return r.json()
Exemplo n.º 2
0
def get_request(path):
	settings = get_shopify_settings()
	s = get_request_session()
	url = 'https://{}:{}@{}/{}'.format(settings['api_key'], settings['password'], settings['shopify_url'], path)
	r = s.get(url)
	r.raise_for_status()
	return r.json()
def get_api_response(params):
	s = get_request_session()
	response = s.post(get_api_url(), data=params)
	response = urlparse.parse_qs(response.text)
	if response.get("ACK")[0]=="Success":
		return response
	else:
		raise PaypalException(response)
def post_request(path, data):
    settings = get_shopify_settings()
    s = get_request_session()
    url = get_shopify_url(path, settings)
    r = s.post(url, data=json.dumps(data), headers=get_header(settings))
    check_api_call_limit(r)
    r.raise_for_status()
    return r.json()
Exemplo n.º 5
0
def get_request(path, settings=None):
	if not settings:
		settings = get_shopify_settings()

	s = get_request_session()
	url = get_shopify_url(path, settings)
	r = s.get(url, headers=get_header(settings))
	r.raise_for_status()
	return r.json()
Exemplo n.º 6
0
def delete_request(path):
    s = get_request_session()

    wcapi = API(url=settings['woocommerce_url'],
                consumer_key=settings['api_key'],
                consumer_secret=settings['api_secret'],
                verify_ssl=settings['verify_ssl'],
                wp_api=True,
                version="wc/v3",
                timeout=1000)
    r = wcapi.post(path)

    r.raise_for_status()
def post_request(url, data, auth=None):
	res = None
	
	if not auth:
		return
		
	try:
		s = get_request_session()
		res = s.post(url, data=data, auth=(auth.api_key, auth.api_secret))
		res.raise_for_status()
		return res.json()
	except Exception, exc:
		raise_exception(res, exc)
Exemplo n.º 8
0
def sync_item_from_shopify(shopify_settings, item):
    url = get_shopify_url(
        "/admin/products/{0}.json".format(item.get("product_id")),
        shopify_settings)
    session = get_request_session()

    try:
        res = session.get(url, headers=get_header(shopify_settings))
        res.raise_for_status()

        shopify_item = res.json()["product"]
        make_item(shopify_settings.warehouse, shopify_item)
    except Exception as e:
        raise e
def get_request(path, settings=None):
    if not settings:
        settings = get_woocommerce_settings()

    s = get_request_session()
    url = get_woocommerce_url(path, settings)
    r = s.get(url, headers=get_header(settings))
    wcapi = API(url=settings['woocommerce_url'],
                consumer_key=settings['api_key'],
                consumer_secret=settings['password'],
                verify_ssl=False)
    r = wcapi.get(path)
    """check_api_call_limit(r)"""
    r.raise_for_status()
    return r.json()
Exemplo n.º 10
0
    def get_request(self, url, auth=None, data=None):
        if not auth:
            auth = ''
        if not data:
            data = {}

        try:
            s = get_request_session()
            frappe.flags.integration_request = s.get(url, data={}, auth=auth)
            frappe.flags.integration_request.raise_for_status()
            return frappe.flags.integration_request.json()

        except Exception, exc:
            frappe.log_error(frappe.get_traceback())
            raise exc
Exemplo n.º 11
0
	def unregister_webhooks(self):
		session = get_request_session()
		deleted_webhooks = []

		for d in self.webhooks:
			url = get_shopify_url('admin/api/2019-04/webhooks.json'.format(d.webhook_id), self)
			try:
				res = session.delete(url, headers=get_header(self))
				res.raise_for_status()
				deleted_webhooks.append(d)
			except Exception as e:
				frappe.log_error(message=frappe.get_traceback(), title=e)

		for d in deleted_webhooks:
			self.remove(d)
Exemplo n.º 12
0
def send_notification_data_ios(user, title, body, data, badge=0):

    s = get_request_session()
    auth_key = get_auth_key()

    if auth_key == "":
        frappe.throw("Server key has been not set")
    else:
        frappe_userid = _get_topic(user)

        if frappe_userid != "":
            header = {
                "Authorization": "key={}".format(auth_key),
                "Content-Type": "application/json"
            }
            topic = "/topics/{}_ios".format(frappe_userid)
            content = {
                "to": topic,
                "notification": {
                    "body": body,
                    "title": title,
                    "badge": badge,
                    "mutable_content": True,
                    "sound": "default"
                },
                "priority": "high"
            }
            content['notification'].update(data)
            res = s.post(url=url, headers=header, data=json.dumps(content))

            #logging
            response_code = res.status_code
            if response_code == 200:
                res_json = res.json()
                message_id = res_json["message_id"]
                log_notification_success(response_code, message_id,
                                         user, topic, title, body,
                                         json.dumps(content), json.dumps(data),
                                         badge)
                frappe.msgprint("iOS Success notified")
            else:
                error = res.text
                log_notification_failed(response_code, user, topic, title,
                                        body, error)
                frappe.throw(error)
        else:
            frappe.throw("User not found")
Exemplo n.º 13
0
    def post_request(self, url, auth=None, data=None):
        if not auth:
            auth = ''
        if not data:
            data = {}
        try:
            s = get_request_session()
            res = s.post(url, data=data, auth=auth)
            res.raise_for_status()

            if res.headers.get("content-type") == "text/plain; charset=utf-8":
                return urlparse.parse_qs(res.text)

            return res.json()
        except Exception, exc:
            frappe.log_error()
            raise exc
Exemplo n.º 14
0
def make_get_request(url, auth=None, headers=None, data=None):
	if not auth:
		auth = ''
	if not data:
		data = {}
	if not headers:
		headers = {}

	try:
		s = get_request_session()
		frappe.flags.integration_request = s.get(url, data={}, auth=auth, headers=headers)
		frappe.flags.integration_request.raise_for_status()
		return frappe.flags.integration_request.json()

	except Exception as exc:
		frappe.log_error(frappe.get_traceback())
		raise exc
Exemplo n.º 15
0
def send_notification_gilang(auth_key,data):
	try:
		s = get_request_session()
		url = "https://fcm.googleapis.com/fcm/send"

		# user = frappe.get_doc("User",user)
		
		# frappe_userid = user.social_logins[0].userid + "_android"
		frappe_userid = "767f244ce59f92203916b735a442a643b9a6df0"+"_android"

		header = {"Authorization": "key={}".format(auth_key),"Content-Type": "application/json"}
		content = {
			"to":"/topics/{}".format(frappe_userid),
			"data":data
		}
		res = s.post(url=url,headers=header,data=json.dumps(content))
		return res
	except:
		return "Error"
Exemplo n.º 16
0
	def register_webhooks(self):
		webhooks = ["orders/create", "orders/paid", "orders/fulfilled"]
		# url = get_shopify_url('admin/webhooks.json', self)
		created_webhooks = [d.method for d in self.webhooks]
		url = get_shopify_url('admin/api/2019-04/webhooks.json', self)
		for method in webhooks:
			session = get_request_session()
			try:
				d = session.post(url, data=json.dumps({
					"webhook": {
						"topic": method,
						"address": get_webhook_address(connector_name='shopify_connection', method='store_request_data'),
						"format": "json"
						}
					}), headers=get_header(self))
				d.raise_for_status()
				self.update_webhook_table(method, d.json())
			except Exception as e:
				make_shopify_log(status="Warning", message=e, exception=False)
Exemplo n.º 17
0
def gps_update(self, method):
    data = frappe.db.sql(
        """select vendor from `tabDriver` where name='{}' """.format(
            self.driver),
        as_list=1)

    s = get_request_session()
    url = "https://fcm.googleapis.com/fcm/send"
    if (len(data) > 0):
        users = data[0]
        #vendor
        header = {
            "Authorization":
            "key=AAAA7ndto_Q:APA91bHVikGANVsFaK2UEKLVXQEA1cleaeM7DlLLuaA87jEVhBGNTe4t8fi0h5Ttc7jRkoiEkZYlrw7Idsn9S9ZfDFtl1S3H3j21Xs8VXtANCDjycLLkMAyLLdHKaBfi3NYc3Z8VIxo8",
            "Content-Type": "application/json"
        }
        content = {
            "to":
            "/topics/{}".format(users[0].replace(" ", "_").replace(
                "-", "_").replace("(", "").replace(")", "").replace(
                    ".", "_").replace("@", "_").replace("-", "_").replace(
                        "(", "").replace(")",
                                         "").replace(".",
                                                     "_").replace("@", "_")),
            "data": {
                "subject":
                "{}".format(users[0].replace(" ", "_").replace(
                    "-", "_").replace("(", "").replace(")", "").replace(
                        ".", "_").replace("@", "_")),

                #notification
                "title":
                "Perubahan GPS dari {}".format(self.driver),

                #data
                "driver":
                "{}".format(self.driver),
                "action":
                "GPS_UPDATE"
            }
        }
        s.post(url=url, headers=header, data=json.dumps(content))
Exemplo n.º 18
0
def test_notify():
    s = get_request_session()
    url = "https://fcm.googleapis.com/fcm/send"
    header = {
        "Authorization":
        "key=AAAA7ndto_Q:APA91bHVikGANVsFaK2UEKLVXQEA1cleaeM7DlLLuaA87jEVhBGNTe4t8fi0h5Ttc7jRkoiEkZYlrw7Idsn9S9ZfDFtl1S3H3j21Xs8VXtANCDjycLLkMAyLLdHKaBfi3NYc3Z8VIxo8",
        "Content-Type": "application/json"
    }
    content = {
        "to": "/topics/PT_CocaCola_Amatil_Indonesia",
        "notification": {
            "title": "title",
            "body": "body"
        },
        "data": {
            "job_order": "JO-20171000037"
        }
    }
    gg = s.post(url=url, headers=header, data=json.dumps(content))
    print gg.content
Exemplo n.º 19
0
def make_post_request(url, auth=None, headers=None, data=None):
	if not auth:
		auth = ''
	if not data:
		data = {}
	if not headers:
		headers = {}
		
	try:
		s = get_request_session()
		frappe.flags.integration_request = s.post(url, data=data, auth=auth, headers=headers)
		frappe.flags.integration_request.raise_for_status()

		if frappe.flags.integration_request.headers.get("content-type") == "text/plain; charset=utf-8":
			return urlparse.parse_qs(frappe.flags.integration_request.text)

		return frappe.flags.integration_request.json()
	except Exception as exc:
		frappe.log_error()
		raise exc
Exemplo n.º 20
0
def send_notification_android(user,auth_key,data):
	try:
		s = get_request_session()
		url = "https://fcm.googleapis.com/fcm/send"

		user = frappe.get_doc("User",user)
		
		if (len(user.social_logins) > 0):
			frappe_userid = user.social_logins[0].userid + "_android"

			header = {"Authorization": "key={}".format(auth_key),"Content-Type": "application/json"}
			content = {
				"to":"/topics/{}".format(frappe_userid),
				"data":data
			}
			res = s.post(url=url,headers=header,data=json.dumps(content))
			print(res)
			return res
	except:
		return "Error"
Exemplo n.º 21
0
	def unregister_webhooks(self):
		session = get_request_session()
		deleted_webhooks = []

		for d in self.webhooks:
			url = get_shopify_url('admin/api/2021-04/webhooks/{0}.json'.format(d.webhook_id), self)
			try:
				res = session.delete(url, headers=get_header(self))
				res.raise_for_status()
				deleted_webhooks.append(d)

			except HTTPError as e:
				error_message = res.json().get('errors', e)
				make_shopify_log(status="Warning", exception=error_message, rollback=True)

			except Exception as e:
				frappe.log_error(message=e, title='Shopify Webhooks Issue')

		for d in deleted_webhooks:
			self.remove(d)
Exemplo n.º 22
0
def send_notification_android(user, title, body):

    s = get_request_session()
    auth_key = get_auth_key()

    if auth_key == "":
        frappe.throw("Server key has been not set")
    else:
        frappe_userid = _get_topic(user)

        if frappe_userid != "":
            header = {
                "Authorization": "key={}".format(auth_key),
                "Content-Type": "application/json"
            }
            topic = "/topics/{}_android".format(frappe_userid)
            content = {
                "to": topic,
                "notification": {
                    "body": body,
                    "title": title
                }
            }
            res = s.post(url=url, headers=header, data=json.dumps(content))

            #logging
            response_code = res.status_code
            if response_code == 200:
                res_json = res.json()
                message_id = res_json["message_id"]
                log_notification_success(response_code, message_id,
                                         user, topic, title, body,
                                         json.dumps(content))
                frappe.msgprint("Android Success notified")
            else:
                error = res.text
                log_notification_failed(response_code, user, topic, title,
                                        body, error)
                frappe.throw(error)
        else:
            frappe.throw("User not found")
Exemplo n.º 23
0
def notify():
    list_to = frappe.db.sql(
        """select HOUR(TIMEDIFF(NOW(),j.modified)) as "lama" ,j.principle , j.name , j.reference , j.modified , j.vendor , j.owner ,v.email	from `tabJob Order` j left join `tabVendor` v on j.vendor = v.name where HOUR(TIMEDIFF(NOW(),j.modified)) IN (4,9) and j.status="Menunggu Persetujuan Vendor" order by j.modified """,
        as_dict=1)
    s = get_request_session()
    url = "https://fcm.googleapis.com/fcm/send"
    header = {
        "Authorization":
        "key=AAAA7ndto_Q:APA91bHVikGANVsFaK2UEKLVXQEA1cleaeM7DlLLuaA87jEVhBGNTe4t8fi0h5Ttc7jRkoiEkZYlrw7Idsn9S9ZfDFtl1S3H3j21Xs8VXtANCDjycLLkMAyLLdHKaBfi3NYc3Z8VIxo8",
        "Content-Type": "application/json"
    }
    for row in list_to:
        email = row['email']
        if email == "Administrator":
            continue
        subject = ""
        if row['lama'] == "4":
            subject = "Job Order belum di terima lebih dari 4 jam"
            msg = "{} <{}> belum di terima lebih dari 4 jam".format(
                row['name'], row['reference'])
        else:
            subject = "Job Order belum di terima lebih dari 9 jam"
            msg = "{} <{}> belum di terima lebih dari 9 jam".format(
                row['name'], row['reference'])
        content = {
            "to": "/topics/{}".format(row['vendor'].replace(" ", "_")),
            "data": {
                "subject": "{}".format(row['vendor'].replace(" ", "_")),

                #notification
                "title": row["name"],
                "body": msg,

                #data
                "job_order": row["name"],
                "value": row["lama"],
                "ACTION": "RTO_JO"
            }
        }
        s.post(url=url, headers=header, data=json.dumps(content))
Exemplo n.º 24
0
def make_request(method, url, auth=None, headers=None, data=None):
    auth = auth or ""
    data = data or {}
    headers = headers or {}

    try:
        s = get_request_session()
        frappe.flags.integration_request = s.request(method,
                                                     url,
                                                     data=data,
                                                     auth=auth,
                                                     headers=headers)
        frappe.flags.integration_request.raise_for_status()

        if frappe.flags.integration_request.headers.get(
                "content-type") == "text/plain; charset=utf-8":
            return parse_qs(frappe.flags.integration_request.text)

        return frappe.flags.integration_request.json()
    except Exception as exc:
        frappe.log_error()
        raise exc
Exemplo n.º 25
0
	def register_webhooks(self):
		webhooks = ["orders/create", "orders/paid", "orders/fulfilled"]
		# url = get_shopify_url('admin/webhooks.json', self)
		created_webhooks = [d.method for d in self.webhooks]
		url = get_shopify_url('admin/api/2021-04/webhooks.json', self)
		for method in webhooks:
			session = get_request_session()
			try:
				res = session.post(url, data=json.dumps({
					"webhook": {
						"topic": method,
						"address": get_webhook_address(connector_name='shopify_connection', method='store_request_data', force_https=True),
						"format": "json"
						}
					}), headers=get_header(self))
				res.raise_for_status()
				self.update_webhook_table(method, res.json())

			except HTTPError as e:
				error_message = res.json().get('errors', e)
				make_shopify_log(status="Warning", exception=error_message, rollback=True)

			except Exception as e:
				make_shopify_log(status="Warning", exception=e, rollback=True)
Exemplo n.º 26
0
def leave_application_confirmation(self, method):
	site_name = get_site_name(frappe.local.request.host)
	s = get_request_session()
	url = "https://fcm.googleapis.com/fcm/send"

	employee_user = frappe.db.sql("SELECT frappe_userid FROM `tabUser` WHERE email=(SELECT user_id FROM `tabEmployee` WHERE name='{}')".format(self.employee),as_dict=True)
	if len(employee_user) > 0:
		employee_user_id = employee_user[0]['frappe_userid']

		token = normalize_firebase_string(str(site_name) + "_" + employee_user_id)
		header = {"Authorization": "key=AAAAF7fHjjc:APA91bG80Es5LdTCs0fqtfktsyFHDR_r7q1QkQ3tObsgQqMbEngOhMJ1f6dJcP7mA0N0QIkBJuGIv9qGY_OFz7yC5NLChxu6Ci3ubYtB-yC6WBqbgD3iCB-1a89i9cEXHZ6hO0_EP0IZyTOp99a2uiDa6L1a433DCg","Content-Type": "application/json"}
		content = {
			"to":"/topics/{}".format(token),
			"data":
				{
					"subject":"{}".format(employee_user_id),
					"app":"next_ess",
				
					#notification
					"title_id":"leave_application_approval_received",
					"body":"",

					#data
					"action":"leave_application_confirmation",
					"name":self.name,
					"leave_approver_name":self.leave_approver_name,
					"status":self.status

				}
		}
		res = s.post(url=url,headers=header,data=json.dumps(content))

	
	leave_approver_user = employee_user = frappe.db.sql("SELECT frappe_userid FROM `tabUser` WHERE email='{}'".format(self.leave_approver),as_dict=True)
	if len(leave_approver_user) > 0:
		leave_approver_user_id = leave_approver_user[0]['frappe_userid']

		token = normalize_firebase_string(str(site_name) + "_" + leave_approver_user_id)
		header = {"Authorization": "key=AAAAF7fHjjc:APA91bG80Es5LdTCs0fqtfktsyFHDR_r7q1QkQ3tObsgQqMbEngOhMJ1f6dJcP7mA0N0QIkBJuGIv9qGY_OFz7yC5NLChxu6Ci3ubYtB-yC6WBqbgD3iCB-1a89i9cEXHZ6hO0_EP0IZyTOp99a2uiDa6L1a433DCg","Content-Type": "application/json"}
		content = {
			"to":"/topics/{}".format(token),
			"data":
				{
					"subject":"{}".format(leave_approver_user_id),
					"app":"next_ess",
				
					#notification
					"title_id":"leave_application_has_been_update",
					"body":"",

					#data
					"action":"leave_application_confirmation",
					"name":self.name,
					"leave_approver_name":self.leave_approver_name,
					"status":self.status

				}
		}
		res = s.post(url=url,headers=header,data=json.dumps(content))

	return "success"
def delete_request(path):
    s = get_request_session()
    url = get_woocommerce_url(path)
    r = s.delete(url)
    r.raise_for_status()
Exemplo n.º 28
0
def chat(self, method):
    if self.reference_doctype != "Job Order":
        return
    if self.comment_type != "Comment":
        return
    data = frappe.db.sql(
        """select principle, vendor, driver from `tabJob Order` where name='{}' """
        .format(self.reference_name),
        as_list=1)

    if (len(data) > 0):
        users = data[0]

        #principle
        # s = get_request_session()
        # url = "https://fcm.googleapis.com/fcm/send"
        # header = {"Authorization": "key=AAAA66ppyJE:APA91bFDQd8klnCXe-PTgLUkUD7x4p9UAxW91NbqeTN9nbX7-GmJMlsnQ2adDd84-rl6LqKnD7KLSeM9xBmADnPuRh0YadoQKux7IrZ27tsjVzvzlFDoXuOnZRP7eXrf0k51QGGifLGw","Content-Type": "application/json"}
        # content = {
        # 	"to":"/topics/{}".format(users[0].replace(" ","_")),
        # 	"data":
        # 		{
        # 			#notification
        # "title":"{} - Pesan dari {}".format(self.reference_name,self.sender_full_name),
        # 			"body":"{}".format(self.content),

        # 			#data
        # 			"job_order":"{}".format(self.reference_name),
        # 			"sender":"{}".format(self.sender_full_name),
        # 			"action":"CHAT JOB ORDER"
        # 		}
        # }
        # s.post(url=url,headers=header,data=json.dumps(content))

        #vendor
        s = get_request_session()
        url = "https://fcm.googleapis.com/fcm/send"
        header = {
            "Authorization":
            "key=AAAA7ndto_Q:APA91bHVikGANVsFaK2UEKLVXQEA1cleaeM7DlLLuaA87jEVhBGNTe4t8fi0h5Ttc7jRkoiEkZYlrw7Idsn9S9ZfDFtl1S3H3j21Xs8VXtANCDjycLLkMAyLLdHKaBfi3NYc3Z8VIxo8",
            "Content-Type": "application/json"
        }
        content = {
            "to": "/topics/{}".format(users[1].replace(" ", "_")),
            "data": {
                "subject":
                "{}".format(users[1].replace(" ", "_")),

                #notification
                "title":
                "{} - Pesan dari {}".format(self.reference_name,
                                            self.sender_full_name),
                "body":
                "{}".format(self.content),

                #data
                "job_order":
                "{}".format(self.reference_name),
                "sender":
                "{}".format(self.sender_full_name),
                "action":
                "CHAT JOB ORDER"
            }
        }
        s.post(url=url, headers=header, data=json.dumps(content))

        #driver
        fetchDriver = frappe.db.sql(
            """SELECT nama FROM `tabDriver` WHERE name='{}'""".format(
                users[2]),
            as_list=1)
        dataDriver = fetchDriver[0]
        driverName = dataDriver[0]
        s = get_request_session()
        url = "https://fcm.googleapis.com/fcm/send"
        header = {
            "Authorization":
            "key=AAAAnuCvOxY:APA91bGdCn20mHlHrWEpGiNsiSmb36HEG0QmZ-L7U_iG8eOjm9btCFUgYn8klNStKetvEA1eFdiEmaopdScVk-jv_HNvnLwq4m1VI8LdrIueh9NFI6p5hVjdxs73THqvcRFQ8tZjtv61",
            "Content-Type": "application/json"
        }
        content = {
            "to":
            "/topics/{}".format(users[2].replace(" ", "_").replace(
                "-",
                "_").replace("(",
                             "").replace(")",
                                         "").replace(".",
                                                     "_").replace("@", "_")),
            "data": {
                "subject":
                "{}".format(users[2].replace(" ", "_").replace(
                    "-", "_").replace("(", "").replace(")", "").replace(
                        ".", "_").replace("@", "_")),

                #notification
                "title":
                "{} - Pesan dari {}".format(self.reference_name, driverName),
                "body":
                "{}".format(self.content),

                #data
                "job_order":
                "{}".format(self.reference_name),
                "sender":
                "{}".format(self.sender_full_name),
                "action":
                "CHAT JOB ORDER"
            }
        }
        s.post(url=url, headers=header, data=json.dumps(content))
Exemplo n.º 29
0
    def post(self, action, data, raise_on_empty=False):
        if not isinstance(data, dict):
            raise BioTrackClientError("data must be instance of dict")

        log = {}
        data["action"] = action
        action_data = data.copy()

        data.update({
            "license_number": self.license_number,
            "username": self.username,
            "password": self.password,
            "training": self.is_training,
            "API": self.__API__,
        })

        if action != 'login':
            data["nosession"] = 1

        log["request"] = action_data
        print_log(data, " - Request Data")

        service = get_integration_controller("BioTrack")
        integration_req = service.create_request(log)
        integration_req.action = action
        integration_req.integration_type = "Remote"

        request = get_request_session()

        # catch network errors
        try:
            response = request.post(
                self.__API_URL__,
                data=json.dumps(data),
                headers={'Content-Type': 'application/json'})
        except Exception as e:
            raise BioTrackClientError(e.message)

        response.raise_for_status()
        result = response.json()

        if not action.startswith("sync_"):
            log["response"] = result
            print_log(result, " - Response")
        else:
            log["response"] = {"success": result.get('success')}

        integration_req.data = json.dumps(log)

        if not result.get('success'):
            integration_req.status = 'Failed'
            integration_req.save()
            raise BioTrackClientError(encode(result.get('error')))

        if raise_on_empty and len(result) == 1:
            integration_req.status = 'Failed'
            integration_req.save()

            raise BioTrackEmptyDataError(
                'BioTrackTHC request was response with empty data: {}'.format(
                    json.dumps(action_data)))

        integration_req.status = 'Completed'
        integration_req.save()

        return result
Exemplo n.º 30
0
    def on_update_after_submit(self):
        #frappe.msgprint(self.driver)
        if self.driver:
            data = frappe.db.sql(
                """select driver from `tabJob Order` where docstatus=1 and driver="{}" and status = "Dalam Proses"  """
                .format(self.driver),
                as_list=1)
            found = "Tersedia"
            for row in data:
                found = "Tidak Tersedia"
            frappe.db.sql(
                """update `tabDriver` set status="{}" where name="{}" """.
                format(found, self.driver),
                as_list=1)
            if self.status == "Dalam Proses":
                s = get_request_session()
                url = "https://fcm.googleapis.com/fcm/send"
                header = {
                    "Authorization":
                    "key=AAAAnuCvOxY:APA91bGdCn20mHlHrWEpGiNsiSmb36HEG0QmZ-L7U_iG8eOjm9btCFUgYn8klNStKetvEA1eFdiEmaopdScVk-jv_HNvnLwq4m1VI8LdrIueh9NFI6p5hVjdxs73THqvcRFQ8tZjtv61",
                    "Content-Type": "application/json"
                }
                content = {
                    "to":
                    "/topics/{}".format(
                        self.driver.replace(" ", "_").replace(
                            "-", "_").replace("(",
                                              "").replace(")", "").replace(
                                                  ".", "_").replace("@", "_")),
                    "data": {
                        "subject":
                        "{}".format(
                            self.driver.replace(" ", "_").replace(
                                "-",
                                "_").replace("(", "").replace(")", "").replace(
                                    ".", "_").replace("@", "_")),

                        #notification
                        "title":
                        "{} <{}>".format(self.name, self.reference),
                        "body":
                        "Job Order {} di tugaskan".format(self.vendor),

                        #data
                        "job_order":
                        self.name,
                        "action":
                        "NEW_ASSIGNED_JO"
                    }
                }
                s.post(url=url, headers=header, data=json.dumps(content))

        if self.status == "Di Tolak":
            s = get_request_session()
            url = "https://fcm.googleapis.com/fcm/send"
            header = {
                "Authorization":
                "key=AAAA66ppyJE:APA91bFDQd8klnCXe-PTgLUkUD7x4p9UAxW91NbqeTN9nbX7-GmJMlsnQ2adDd84-rl6LqKnD7KLSeM9xBmADnPuRh0YadoQKux7IrZ27tsjVzvzlFDoXuOnZRP7eXrf0k51QGGifLGw",
                "Content-Type": "application/json"
            }
            content = {
                "to":
                "/topics/{}".format(
                    self.principle.replace(" ", "_").replace("@", "")),
                "data": {
                    "subject":
                    "{}".format(
                        self.principle.replace(" ", "_").replace("@", "")),

                    #notification
                    "title":
                    "{} <{}>".format(self.name, self.reference),
                    "body":
                    "Job Order {} di tolak oleh {}".format(
                        self.name, self.vendor),

                    #data
                    "job_order":
                    self.name,
                    "action":
                    "REJECTED"
                }
            }
            s.post(url=url, headers=header, data=json.dumps(content))
def delete_request(path):
	s = get_request_session()
	url = get_shopify_url(path)
	r = s.delete(url)
	r.raise_for_status()
Exemplo n.º 32
0
def get_api_response(params, api_url=None):
    s = get_request_session()
    response = s.post(api_url or get_api_url(), data=params)
    response = parse_qs(response.text)
    response["success"] = response.get("ACK")[0] == "Success"
    return response