예제 #1
0
 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)
예제 #2
0
 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
예제 #3
0
 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