def find_related(self): if len(self.controller.related) > 0: for ctx in self.controller.related: print utils.underscore_to_camel(self.related) if ctx.__name__ == utils.underscore_to_camel(self.related): self.related_controller = ctx(self.request) return True return False return False
def run_related(self): method = self.request.method name = utils.underscore_to_camel(self.related_name) if hasattr(self.model, self.related_name): if method == 'GET': return self.format_success(self._get_m2m_field(self.model, self.related_name)) elif method == 'POST': return self.format_success(self._post_m2m_field(self.model, self.related_name)) elif method == 'PUT': return self.format_success(self._put_m2m_field(self.model, self.related_name)) elif method == 'DELETE': return self.format_success(self._delete_m2m_field(self.model, self.related_name)) else: raise Http405("This method is not allowed (%s)" % method) for relation in self.related: if relation().__class__.__name__ == name: self.related_model = relation self.open_related_model() if method == 'GET': return self.get_related() elif method == 'POST': return self.post_related() elif method == 'PUT': return self.put_related() elif method == 'DELETE': return self.delete_related() else: raise Http405("This method is not allowed (%s)" % method) raise InvalidRelation
def __init__(self, request, ctx, idx=None, action=None): self.request = request self.ctx = utils.underscore_to_camel(ctx) self.id = idx self.action = action self.related = action self.controller = None self.related_controller = None