Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1df1294

Browse files
committed
Added DeleteMixin
1 parent 027bd46 commit 1df1294

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

quickbooks/client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,12 @@ def update_object(self, qbbo, request_body, _file_path=None):
349349

350350
return result
351351

352+
def delete_object(self, qbbo, request_body, _file_path=None):
353+
url = self.api_url + "/company/{0}/{1}".format(self.company_id, qbbo.lower())
354+
result = self.make_request("POST", url, request_body, params={'operation': 'delete'}, file_path=_file_path)
355+
356+
return result
357+
352358
def batch_operation(self, request_body):
353359
url = self.api_url + "/company/{0}/batch".format(self.company_id)
354360
results = self.make_request("POST", url, request_body)

quickbooks/mixins.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,23 @@ def save(self, qb=None):
8080
return obj
8181

8282

83+
class DeleteMixin(object):
84+
qbo_object_name = ""
85+
86+
def delete(self, qb=None):
87+
if not qb:
88+
qb = QuickBooks()
89+
90+
if not self.Id:
91+
raise QuickbooksException('Cannot delete unsaved object')
92+
93+
data = {
94+
'Id': self.Id,
95+
'SyncToken': self.SyncToken,
96+
}
97+
return qb.delete_object(self.qbo_object_name, json.dumps(data))
98+
99+
83100
class ListMixin(object):
84101
qbo_object_name = ""
85102

0 commit comments

Comments
 (0)