Hide keyboard shortcuts

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 

12 

13# RESOURCE CONTEXT 

14 

15@view_defaults(route_name='transients_comments', permission="view_users") 

16@lift() 

17class views_transients_comments(base_view): 

18 

19 def __init__(self, request): 

20 super().__init__(request) 

21 self.resourceName = "transients_comments" 

22 

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() 

31 

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() 

40 

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() 

49 

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() 

58 

59# RESOURCE ELEMENT 

60 

61@view_defaults(route_name='transients_element_comments', permission="view_users") 

62class transients_element_comments_view(object): 

63 

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") 

68 

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) 

79 

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) 

90 

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() 

100 

101 if "redirectURL" in self.request.params: 

102 url = self.request.params["redirectURL"] 

103 return HTTPFound(location=url) 

104 else: 

105 return Response(thisResponse) 

106 

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)