def _get_object(self, *args, **kwargs): name = self.kwargs['name'] try: filter = api.dsl_get_filter_metadata(self.request, name) return filter except Exception: redirect = self.success_url msg = _('Unable to retrieve filter details.') exceptions.handle(self.request, msg, redirect=redirect)
def update_cell(self, request, datum, name, cell_name, new_cell_value): # inline update project info try: # updating changed value by new value response = api.dsl_get_filter_metadata(request, name) data = json.loads(response.text) data[cell_name] = new_cell_value api.dsl_update_filter(request, name, data) except Conflict: # Returning a nice error message about name conflict. The message # from exception is not that clear for the user message = _("This name is already taken.") raise ValidationError(message) except Exception: exceptions.handle(request, ignore=True) return False return True
def get_data(self, request, name): response = api.dsl_get_filter_metadata(request, name) data = json.loads(response.text) filter_dsl = Filter(data['identifier'], name, data['activation_url'], data['valid_parameters'], 'filter name') return filter_dsl