From 8d20d0fa7ed226735daba4b0507cf0037860af71 Mon Sep 17 00:00:00 2001 From: Giovane Date: Mon, 21 Sep 2015 18:10:17 -0300 Subject: #442 Creates feedback service that create tickets on leap web. --- service/pixelated/resources/feedback_resource.py | 32 ++++++++++++++++++++++++ service/pixelated/resources/root_resource.py | 5 +++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 service/pixelated/resources/feedback_resource.py (limited to 'service/pixelated/resources') diff --git a/service/pixelated/resources/feedback_resource.py b/service/pixelated/resources/feedback_resource.py new file mode 100644 index 00000000..b989b273 --- /dev/null +++ b/service/pixelated/resources/feedback_resource.py @@ -0,0 +1,32 @@ +# +# Copyright (c) 2015 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Pixelated. If not, see . +import json + +from twisted.web.resource import Resource +from pixelated.resources import respond_json + + +class FeedbackResource(Resource): + isLeaf = True + + def __init__(self, feedback_service): + Resource.__init__(self) + self.feedback_service = feedback_service + + def render_POST(self, request): + feedback = json.loads(request.content.read()).get('feedback') + self.feedback_service.open_ticket(feedback) + return respond_json({}, request) diff --git a/service/pixelated/resources/root_resource.py b/service/pixelated/resources/root_resource.py index c1111269..8b536450 100644 --- a/service/pixelated/resources/root_resource.py +++ b/service/pixelated/resources/root_resource.py @@ -1,7 +1,9 @@ import os +import requests from pixelated.resources.attachments_resource import AttachmentsResource from pixelated.resources.contacts_resource import ContactsResource from pixelated.resources.features_resource import FeaturesResource +from pixelated.resources.feedback_resource import FeedbackResource from pixelated.resources.mail_resource import MailResource from pixelated.resources.mails_resource import MailsResource from pixelated.resources.tags_resource import TagsResource @@ -21,7 +23,7 @@ class RootResource(Resource): return self return Resource.getChild(self, path, request) - def initialize(self, keymanager, search_engine, mail_service, draft_service): + def initialize(self, keymanager, search_engine, mail_service, draft_service, feedback_service): self.putChild('assets', File(self._static_folder)) self.putChild('keys', KeysResource(keymanager)) self.putChild('attachment', AttachmentsResource(mail_service)) @@ -30,6 +32,7 @@ class RootResource(Resource): self.putChild('tags', TagsResource(search_engine)) self.putChild('mails', MailsResource(mail_service, draft_service)) self.putChild('mail', MailResource(mail_service)) + self.putChild('feedback', FeedbackResource(feedback_service)) def _get_static_folder(self): static_folder = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "..", "..", "web-ui", "app")) -- cgit v1.2.3