Esempio n. 1
0
    def action(user_object, message, event):
        work_item = user_object.get_work_item()

        user_object.is_finished = True
        user_object.save()

        if message == "save":
            user_object.is_finished = False
            user_object.save()

            path_dict = work_item.path_dict
            fields_dict = generate_fields_dict(work_item)

            work_item_dict = {}

            for key, value in path_dict.items():
                work_item_dict[value] = fields_dict[key]

            req = create_work_item(work_item_dict, create_url_of_work_item(work_item), user_object)

            user_object.state = InitialState.STATE_LABEL
            user_object.save()
            work_item.delete()

            card = generate_saved_work_item(work_item, req['_links']['html']['href'])

            send_message(card, user_object.name)
            return generate_update_response(text_format("Your work item has been saved."))

        elif message == "Title":
            user_object.state = TitleState.STATE_LABEL
            user_object.save()

            return text_format("Please enter your issue Title.")

        elif message == "Description":
            user_object.state = DescriptionState.STATE_LABEL
            user_object.save()

            return text_format("Please describe your issue.")

        elif message == "Hardware Type":
            user_object.state = HardwareChoice.STATE_LABEL
            user_object.save()

            return generate_choices("Choose Hardware Type", work_item.hardware_list, HardwareChoice.STATE_LABEL)

        elif message == "Severity":
            user_object.state = SeverityChoice.STATE_LABEL
            user_object.save()

            return generate_choices("How severe is this issue?", work_item.severities_list,
                                    SeverityChoice.STATE_LABEL)

        elif message == "Third Party":
            user_object.state = SoftwareChoice.STATE_LABEL
            user_object.save()

            return generate_choices("Choose 3rd Party Software", work_item.software_list,
                                    SoftwareChoice.STATE_LABEL)
Esempio n. 2
0
    def action(user_object, message, event):
        work_item = user_object.get_work_item()
        user_email = str(event['user']['email'])
        user_email = user_email.split("@")[0] + '@staff.gramedia.com'
        work_item.requested_by = user_email

        if message == "Fill your own..":
            work_item.save()
            user_object.state = OtherSoftwareType.STATE_LABEL
            user_object.save()

            send_message(text_format("Please enter your own software type"), user_object.name)
            return generate_update_response(text_format("You have chosen `%s`" % message))

        work_item.third_party = message
        work_item.save()
        user_object.state = SeverityChoice.STATE_LABEL
        user_object.save()

        if user_object.is_finished:
            user_object.state = EndState.STATE_LABEL
            user_object.save()
            card = generate_edit_work_item(work_item, EndState.STATE_LABEL)
        else:
            card = generate_choices("How severe is this issue?", work_item.severities_list, SeverityChoice.STATE_LABEL)

        send_message(card, user_object.name)
        return generate_update_response(text_format("You have chosen `%s`" % message))
Esempio n. 3
0
    def action(user_object, message, event):
        work_item = user_object.get_work_item()
        work_item.description = message
        work_item.save()

        if user_object.is_finished:
            user_object.state = EndState.STATE_LABEL
            user_object.save()
            return generate_edit_work_item(work_item, EndState.STATE_LABEL)

        if isinstance(work_item, HardwareSupport):
            user_object.state = HardwareChoice.STATE_LABEL
            user_object.save()
            return generate_choices("Choose Hardware Type", work_item.hardware_list, HardwareChoice.STATE_LABEL)
        elif isinstance(work_item, SoftwareSupport):
            user_object.state = SoftwareChoice.STATE_LABEL
            user_object.save()
            return generate_choices("Choose 3rd Party Software", work_item.software_list, SoftwareChoice.STATE_LABEL)
Esempio n. 4
0
 def action(user_object, message, event):
     if message.lower() == 'support':
         if user_object.jwt_token is None:
             return generate_signin_card(user_object)
         else:
             token_expired_or_refresh(user_object)
             user_object.state = ItemTypeState.STATE_LABEL
             user_object.save()
             return generate_choices("Choose work item type", available_types, ItemTypeState.STATE_LABEL)
     else:
         message = "I'm not sure what you mean. Type `/help` to see available commands."
         return text_format(message)
Esempio n. 5
0
    def action(user_object, message, event):
        work_item = user_object.get_work_item()
        work_item.third_party = message
        work_item.save()

        user_object.state = SeverityChoice.STATE_LABEL
        user_object.save()

        if user_object.is_finished:
            user_object.state = EndState.STATE_LABEL
            user_object.save()
            return generate_edit_work_item(work_item, EndState.STATE_LABEL)

        return generate_choices("How severe is this issue?", work_item.severities_list, SeverityChoice.STATE_LABEL)
Esempio n. 6
0
    def action(user_object, message, event):
        work_item = user_object.get_work_item()
        work_item.hardware_type = message
        work_item.save()
        user_object.state = SeverityChoice.STATE_LABEL
        user_object.save()

        if user_object.is_finished:
            user_object.state = EndState.STATE_LABEL
            user_object.save()
            card = generate_edit_work_item(work_item, EndState.STATE_LABEL)
        else:
            card = generate_choices("How severe is this issue?", work_item.severities_list, SeverityChoice.STATE_LABEL)

        send_message(card, user_object.name)
        return generate_update_response(text_format("You have chosen `%s`" % message))