Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from builtins import object
2import logging
3import pyramid.httpexceptions as exc
4from pyramid.response import Response
5from pyramid.view import view_config, view_defaults
6from pyramid.httpexceptions import HTTPFound
7from marshall_webapp.templates.responses import templates_transients_comments
8from marshall_webapp.models.transients_comments import models_transients_comments_get
9from marshall_webapp.models.transients_comments.element import models_transients_element_comments_delete, models_transients_element_comments_put, models_transients_element_comments_post
10from dryxPyramid.views.views_base import base_view
11from venusian import lift
13# RESOURCE CONTEXT
15@view_defaults(route_name='transients_comments', permission="view_users")
16@lift()
17class views_transients_comments(base_view):
19 def __init__(self, request):
20 super().__init__(request)
21 self.resourceName = "transients_comments"
23 @view_config(request_method='GET', renderer="json", permission="view_users")
24 @view_config(request_param="method=get", renderer="json", permission="view_users")
25 def get(self):
26 transients_comments = models_transients_comments_get(
27 log=self.log,
28 request=self.request
29 )
30 return transients_comments.get()
32 @view_config(request_method='GET', request_param="format=json", renderer="json", permission="view_users")
33 @view_config(request_param=["method=get", "format=json"], renderer="json", permission="view_users")
34 def get_json(self):
35 transients_comments = models_transients_comments_get(
36 log=self.log,
37 request=self.request
38 )
39 return transients_comments.get()
41 @view_config(request_method='GET', request_param="format=csv", renderer="csv", permission="view_users")
42 @view_config(request_param=["method=get", "format=csv"], renderer="csv", permission="view_users")
43 def get_csv(self):
44 transients_comments = models_transients_comments_get(
45 log=self.log,
46 request=self.request
47 )
48 return transients_comments.get()
50 @view_config(request_method='GET', request_param="format=plain_table", renderer="plain_table", permission="view_users")
51 @view_config(request_param=["method=get", "format=plain_table"], renderer="plain_table", permission="view_users")
52 def get_plain_table(self):
53 transients_comments = models_transients_comments_get(
54 log=self.log,
55 request=self.request
56 )
57 return transients_comments.get()
59# RESOURCE ELEMENT
61@view_defaults(route_name='transients_element_comments', permission="view_users")
62class transients_element_comments_view(object):
64 def __init__(self, request):
65 self.request = request
66 self.log = logging.getLogger(__name__)
67 self.log.debug("instantiating a new 'transients_comments'' view")
69 @view_config(request_method='DELETE', permission="edit_users")
70 @view_config(request_param="method=delete", permission="edit_users")
71 def delete(self):
72 transients_comments = models_transients_element_comments_delete(
73 log=self.log,
74 request=self.request,
75 elementId=self.request.matchdict["elementId"]
76 )
77 responseContent = transients_comments.delete()
78 return Response(responseContent)
80 @view_config(request_method='PUT', permission="edit_users")
81 @view_config(request_param="method=put", permission="edit_users")
82 def put(self):
83 transients_comments = models_transients_element_comments_put(
84 log=self.log,
85 request=self.request,
86 elementId=self.request.matchdict["elementId"]
87 )
88 responseContent = transients_comments.put()
89 return Response(responseContent)
91 @view_config(request_method='POST', permission="edit_users")
92 @view_config(request_param="method=post", permission="edit_users")
93 def post(self):
94 transients_comments = models_transients_element_comments_post(
95 log=self.log,
96 request=self.request,
97 elementId=self.request.matchdict["elementId"]
98 )
99 thisResponse = transients_comments.post()
101 if "redirectURL" in self.request.params:
102 url = self.request.params["redirectURL"]
103 return HTTPFound(location=url)
104 else:
105 return Response(thisResponse)
107 @view_config(request_method='GET', permission="view_users")
108 @view_config(request_param="method=get", permission="view_users")
109 def get(self):
110 transients_comments = templates_transients_comments(
111 log=self.log,
112 request=self.request,
113 elementId=self.request.matchdict["elementId"]
114 )
115 responseContent = transients_comments.get()
116 return Response(responseContent)