def handle_put(self, request, user, *args, **kwargs): """Treat PUT requests to edit Filters. URL: filter/<id_filter>/ """ try: self.log.info('Alter Filter') # Commons Validations # User permission if not has_perm(user, AdminPermission.ENVIRONMENT_MANAGEMENT, AdminPermission.WRITE_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() # Load XML data xml_map, attrs_map = loads(request.raw_post_data) # XML data format networkapi_map = xml_map.get('networkapi') if networkapi_map is None: return self.response_error( 3, u'There is no value to the networkapi tag of XML request.' ) filter_map = networkapi_map.get('filter') if filter_map is None: return self.response_error( 3, u'There is no value to the filter tag of XML request.') if not is_valid_int_greater_zero_param(kwargs['id_filter']): self.log.error(u'Parameter id_filter is invalid. Value: %s.', kwargs['id_filter']) raise InvalidValueError(None, 'id_filter', kwargs['id_filter']) else: # Check existence fil = Filter().get_by_pk(kwargs['id_filter']) fil.validate_filter(filter_map) try: # Save filter fil.save() except Exception, e: self.log.error(u'Failed to edit the filter.') raise e return self.response(dumps_networkapi({}))
def handle_post(self, request, user, *args, **kwargs): """Treat POST requests to add new Filter. URL: filter/ """ try: self.log.info('Add Filter') # Commons Validations # User permission if not has_perm(user, AdminPermission.ENVIRONMENT_MANAGEMENT, AdminPermission.WRITE_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() # Load XML data xml_map, attrs_map = loads(request.raw_post_data) # XML data format networkapi_map = xml_map.get('networkapi') if networkapi_map is None: return self.response_error( 3, u'There is no value to the networkapi tag of XML request.' ) filter_map = networkapi_map.get('filter') if filter_map is None: return self.response_error( 3, u'There is no value to the filter tag of XML request.') # New Filter filter_ = Filter() # Validates filter_.validate_filter(filter_map) try: # Save filter filter_.save() except Exception, e: self.log.error(u'Failed to save the filter.') raise FilterError(e, u'Failed to save the filter') filter_map = dict() filter_map['id'] = filter_.id return self.response(dumps_networkapi({'filter': filter_map}))
def handle_put(self, request, user, *args, **kwargs): """Treat PUT requests to edit Filters. URL: filter/<id_filter>/ """ try: self.log.info('Alter Filter') # Commons Validations # User permission if not has_perm(user, AdminPermission.ENVIRONMENT_MANAGEMENT, AdminPermission.WRITE_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() # Load XML data xml_map, attrs_map = loads(request.raw_post_data) # XML data format networkapi_map = xml_map.get('networkapi') if networkapi_map is None: return self.response_error(3, u'There is no value to the networkapi tag of XML request.') filter_map = networkapi_map.get('filter') if filter_map is None: return self.response_error(3, u'There is no value to the filter tag of XML request.') if not is_valid_int_greater_zero_param(kwargs['id_filter']): self.log.error( u'Parameter id_filter is invalid. Value: %s.', kwargs['id_filter']) raise InvalidValueError(None, 'id_filter', kwargs['id_filter']) else: # Check existence fil = Filter().get_by_pk(kwargs['id_filter']) fil.validate_filter(filter_map) try: # Save filter fil.save() except Exception, e: self.log.error(u'Failed to edit the filter.') raise e return self.response(dumps_networkapi({}))
def handle_post(self, request, user, *args, **kwargs): """Treat POST requests to add new Filter. URL: filter/ """ try: self.log.info("Add Filter") # Commons Validations # User permission if not has_perm(user, AdminPermission.ENVIRONMENT_MANAGEMENT, AdminPermission.WRITE_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() # Load XML data xml_map, attrs_map = loads(request.raw_post_data) # XML data format networkapi_map = xml_map.get('networkapi') if networkapi_map is None: return self.response_error(3, u'There is no value to the networkapi tag of XML request.') filter_map = networkapi_map.get('filter') if filter_map is None: return self.response_error(3, u'There is no value to the filter tag of XML request.') # New Filter filter_ = Filter() # Validates filter_.validate_filter(filter_map) try: # Save filter filter_.save() except Exception, e: self.log.error(u'Failed to save the filter.') raise FilterError(e, u'Failed to save the filter') filter_map = dict() filter_map['id'] = filter_.id return self.response(dumps_networkapi({'filter': filter_map}))