@@ -176,17 +176,8 @@ def create(self, **fields):
176176 for index , attachment in enumerate (data ['attachments' ]):
177177 data ['attachments' ][index ]['token' ] = self .redmine .upload (attachment .get ('path' , '' ))
178178
179- # Almost all resources are created via POST method, but some
180- # resources are created via PUT, so we should check for this
181- try :
182- response = self .redmine .engine .request ('post' , url , data = data )
183- except exceptions .ResourceNotFoundError :
184- response = self .redmine .engine .request ('put' , url , data = data )
185-
186- try :
187- resource = self .to_resource (response [self .container ])
188- except TypeError :
189- raise exceptions .ValidationError ('Resource already exists' ) # fix for repeated PUT requests
179+ response = self .redmine .engine .request (self .resource_class .http_method_create , url , data = data )
180+ resource = self .to_resource (response [self .container ])
190181
191182 self .params = formatter .used_kwargs
192183 self .url = self .redmine .url + self .resource_class .query_one .format (resource .internal_id , ** fields )
@@ -227,7 +218,7 @@ def update(self, resource_id, **fields):
227218 for index , attachment in enumerate (data ['attachments' ]):
228219 data ['attachments' ][index ]['token' ] = self .redmine .upload (attachment .get ('path' , '' ))
229220
230- return self .redmine .engine .request ('put' , url , data = data )
221+ return self .redmine .engine .request (self . resource_class . http_method_update , url , data = data )
231222
232223 def delete (self , resource_id , ** params ):
233224 """
@@ -245,7 +236,8 @@ def delete(self, resource_id, **params):
245236 except KeyError as exception :
246237 raise exceptions .ValidationError ('{0} argument is required' .format (exception ))
247238
248- return self .redmine .engine .request ('delete' , url , params = self .resource_class .bulk_decode (params , self ))
239+ return self .redmine .engine .request (
240+ self .resource_class .http_method_delete , url , params = self .resource_class .bulk_decode (params , self ))
249241
250242 def search (self , query , ** options ):
251243 """
0 commit comments