示例#1
0
    def new_incident(self, request):
        if self.config.ReadOnly:
            set_response_header(
                request, HeaderName.contentType, ContentType.plain
            )
            request.setResponseCode(http.FORBIDDEN)
            return "Server is in read-only mode."

        incident = Incident.from_json_io(
            request.content, number=self.storage.next_incident_number()
        )

        # Edit report entrys to add author
        for entry in incident.report_entries:
            entry.author = self.avatarId.decode("utf-8")

        self.storage.write_incident(incident)

        request.setResponseCode(http.CREATED)

        request.setHeader(
            HeaderName.incidentNumber.value,
            incident.number
        )
        request.setHeader(
            HeaderName.location.value,
            url_for(request, "get_incident", {"number": incident.number})
        )

        return ""
示例#2
0
    def new_incident(self, request):
        incident = Incident.from_json_io(request.content, number=self.storage.next_incident_number())

        # Edit report entrys to add author
        for entry in incident.report_entries:
            entry.author = self.avatarId.decode("utf-8")

        self.storage.write_incident(incident)

        request.setResponseCode(http.CREATED)

        request.setHeader(
            HeaderName.incidentNumber.value,
            incident.number
        )
        request.setHeader(
            HeaderName.location.value,
            url_for(request, "get_incident", {"number": incident.number})
        )

        return "";
示例#3
0
 def test_from_json_io(self):
     """
     Test for L{ims.data.Incident.from_json_io} with incident data.
     """
     self.equals_1(Incident.from_json_io(StringIO(incident1_text), 1))
示例#4
0
 def read_incident_with_number(self, number):
     handle = self._open_incident(number, "r")
     try:
         return Incident.from_json_io(handle, number=number)
     finally:
         handle.close()