class SiteJSResource(BaseResource): dbmodel = SiteJS def __init__(self, request): super(SiteJSResource, self).__init__(request) self.mgr = SiteContentManager(self.db) def collection_get(self): q = self.mgr.js_query() return dict(data=[o.serialize() for o in q]) def collection_post(self): name = self.request.json['name'] content = self.request.json['content'] t = self.mgr.add_js(name, content) data = t.serialize() data['result'] = 'success' return data def put(self): content = self.request.json['content'] id = int(self.request.matchdict['id']) t = self.mgr.update_js(id, content) data = dict(obj=t.serialize(), result='success') return data def delete(self): id = int(self.request.matchdict['id']) db = self.request.db with transaction.manager: t = self.mgr.js_query().get(id) if t is not None: db.delete(t) return dict(result='success')
class SitePathJSResource(BaseResource): dbmodel = SitePathJS def __init__(self, request): super(SitePathJSResource, self).__init__(request) self.mgr = SiteContentManager(self.db) def collection_get(self): path_id = int(self.request.matchdict['path_id']) jslist = self.mgr.get_js_for_path(path_id) jslist = [o.serialize() for o in jslist] return dict(data=jslist, result='success') def collection_post(self): js_id = self.request.json['id'] path_id = int(self.request.matchdict['path_id']) obj = self.mgr.attach_js_to_path(path_id, js_id) return dict(obj=obj.serialize(), result='success') def delete(self): path_id = int(self.request.matchdict['path_id']) js_id = int(self.request.matchdict['id']) self.mgr.detach_js(path_id, js_id) def get(self): js_id = int(self.request.matchdict['id']) js = self.mgr.js_query().get(js_id) return dict(data=js.serialize(), result='success')
class SitePathResource(BaseResource): dbmodel = SitePath def __init__(self, request): super(SitePathResource, self).__init__(request) self.mgr = SiteContentManager(self.db) def collection_get(self): q = self.mgr.path_query() return dict(data=[o.serialize() for o in q]) def collection_post(self): name = self.request.json['name'] obj = self.mgr.add_sitepath(name) data = dict(obj=obj.serialize(), result='success') return data def delete(self): # FIXME: THIS NEEDS TO BE IN MANAGER id = int(self.request.matchdict['id']) db = self.request.db with transaction.manager: t = self.mgr.path_query().get(id) if t is not None: db.delete(t) return dict(result='success')
def __init__(self, request): super(SitePathJSResource, self).__init__(request) self.mgr = SiteContentManager(self.db)