Skip to content

Commit f84ba66

Browse files
author
Ilya Tumash
committed
add LostOrders appeal_id and appeal_status
1 parent 1037556 commit f84ba66

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

admitad/items/lost_orders.py

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,34 @@ class LostOrders(Item):
2020
def get(self, **kwargs):
2121
"""
2222
Args:
23+
campaign (id)
24+
website (id)
25+
status (string)
26+
start_date (date)
27+
end_date (date)
28+
appeal_id (string)
29+
appeal_status (string)
2330
limit (int)
2431
offset (int)
2532
2633
"""
27-
return self.transport.get().set_pagination(**kwargs).request(url=self.URL)
34+
filtering = {
35+
'filter_by': kwargs,
36+
'available': {
37+
'campaign': lambda x: Item.sanitize_integer_value(x, 'campaign', blank=True),
38+
'website': lambda x: Item.sanitize_integer_value(x, 'website', blank=True),
39+
'status': lambda x: Item.sanitize_string_value(x, 'status', blank=True),
40+
'start_date': lambda x: Item.sanitize_string_value(x, 'start_date', blank=True),
41+
'end_date': lambda x: Item.sanitize_string_value(x, 'end_date', blank=True),
42+
'appeal_id': lambda x: Item.sanitize_string_value(x, 'appeal_id', blank=True),
43+
'appeal_status': lambda x: Item.sanitize_string_value(x, 'appeal_status', blank=True),
44+
}
45+
}
46+
47+
return self.transport.get() \
48+
.set_filtering(filtering) \
49+
.set_pagination(**kwargs) \
50+
.request(url=self.URL)
2851

2952
def getOne(self, lost_order_id):
3053
"""
@@ -46,6 +69,7 @@ class LostOrdersManager(Item):
4669

4770
DELETE_URL = Item.prepare_url('lost_orders/%(lost_order_id)s/decline')
4871
CREATE_URL = Item.prepare_url('lost_orders/create')
72+
UPDATE_URL = Item.prepare_url('lost_orders/%(lost_order_id)s/update')
4973

5074
CREATE_FIELDS = {
5175
'campaign': lambda x: Item.sanitize_integer_value(x, 'campaign'),
@@ -54,6 +78,7 @@ class LostOrdersManager(Item):
5478
'order_date': lambda x: Item.sanitize_date(x, 'order_date'),
5579
'order_price': lambda x: Item.sanitize_float_value(x, 'order_price'),
5680
'comment': lambda x: Item.sanitize_string_value(x, 'comment'),
81+
'appeal_id': lambda x: Item.sanitize_string_value(x, 'appeal_id'),
5782
}
5883

5984
def delete(self, lost_order_id):
@@ -78,10 +103,29 @@ def create(self, attachments, **kwargs):
78103
order_id (str)
79104
order_date (date)
80105
order_price (float)
106+
appeal_id (str)
81107
comment (str)
82108
83109
"""
84110
data = Item.sanitize_fields(self.CREATE_FIELDS, **kwargs)
85111
files = [('attachment', open(item, 'rb')) for item in Item.sanitize_string_array(attachments, 'attachments')]
86112

87113
return self.transport.post().set_data(data).set_files(files).request(url=self.CREATE_URL)
114+
115+
def update(self, lost_order_id, appeal_status):
116+
"""
117+
Args:
118+
lost_order_id (int)
119+
appeal_status (str)
120+
121+
"""
122+
request_data = {
123+
'url': self.UPDATE_URL,
124+
'lost_order_id': Item.sanitize_id(lost_order_id),
125+
}
126+
127+
data = {
128+
'appeal_status': self.sanitize_string_value(appeal_status, 'appeal_status'),
129+
}
130+
131+
return self.transport.put().set_data(data).request(**request_data)

0 commit comments

Comments
 (0)