def test_map_letter_to_field(self):
        from kanaria.core.model.letter import Letter
        import pykintone.application_settings.form_field as ff
        body = """
        本日のお仕事

        11/21
        今日もひたすらPythonのコードを書いた。やれやれだぜ。
        もし障害が起きたら以下に連絡をください。
        [email protected]

        09012221312
        """

        letter = Letter("", body)
        fields = [
            ff.BaseFormField.create("SINGLE_LINE_TEXT", "title", "タイトル"),
            ff.BaseFormField.create("MULTI_LINE_TEXT", "description", "報告内容"),
            ff.BaseFormField.create("DATE", "reported_date", "報告日時"),
            ff.BaseFormField.create("SINGLE_LINE_TEXT", "mail_address", "メールアドレス"),
            ff.BaseFormField.create("SINGLE_LINE_TEXT", "telephone", "電話番号"),
            ff.BaseFormField.create("MULTI_LINE_TEXT", "comment", "コメント")
        ]

        separator = TextAnalyzer()
        data = separator.map_letter_to_field(letter, fields)
        print(data)
        for n in [f.code for f in fields if f.code != "comment"]:
            self.assertTrue(n in data)
            self.assertTrue(data[n])
    def test_map_letter_to_field(self):
        from kanaria.core.model.letter import Letter
        import pykintone.application_settings.form_field as ff
        body = """
        本日のお仕事

        11/21
        今日もひたすらPythonのコードを書いた。やれやれだぜ。
        もし障害が起きたら以下に連絡をください。
        [email protected]

        09012221312
        """

        letter = Letter("", body)
        fields = [
            ff.BaseFormField.create("SINGLE_LINE_TEXT", "title", "タイトル"),
            ff.BaseFormField.create("MULTI_LINE_TEXT", "description", "報告内容"),
            ff.BaseFormField.create("DATE", "reported_date", "報告日時"),
            ff.BaseFormField.create("SINGLE_LINE_TEXT", "mail_address",
                                    "メールアドレス"),
            ff.BaseFormField.create("SINGLE_LINE_TEXT", "telephone", "電話番号"),
            ff.BaseFormField.create("MULTI_LINE_TEXT", "comment", "コメント")
        ]

        separator = TextAnalyzer()
        data = separator.map_letter_to_field(letter, fields)
        print(data)
        for n in [f.code for f in fields if f.code != "comment"]:
            self.assertTrue(n in data)
            self.assertTrue(data[n])
Ejemplo n.º 3
0
def post(action):
    ks = kintoneInterface()
    app = ks.service.app(action.order.app_id)
    app_index = ks.get_application_index(app.app_id)
    letter = action.order.letter()
    analyzer = TextAnalyzer()

    # get form structure
    layouts = app.administration().form().get_layout(app.app_id).layouts
    fields = []
    for ly in layouts:
        fields += ly.fields
    data = analyzer.map_letter_to_field(letter, fields)

    # file field
    file_field = [f for f in fields if f.field_type == "FILE"]
    if len(file_field) > 0 and len(letter.attached_files) > 0:
        from pykintone.structure_field import File
        at = letter.attached_files[0]
        f = File.upload(at["content"], app, file_name=at["filename"])
        data[file_field[0].code] = {
            "value": [{
                "fileKey": f.file_key
            }]
        }

    result = app.create(data)
    return result, app_index
Ejemplo n.º 4
0
def post(action):
    ks = kintoneInterface()
    app = ks.service.app(action.order.app_id)
    app_index = ks.get_application_index(app.app_id)
    letter = action.order.letter()
    analyzer = TextAnalyzer()

    # get form structure
    layouts = app.administration().form().get_layout(app.app_id).layouts
    fields = []
    for ly in layouts:
        fields += ly.fields
    data = analyzer.map_letter_to_field(letter, fields)

    # file field
    file_field = [f for f in fields if f.field_type == "FILE"]
    if len(file_field) > 0 and len(letter.attached_files) > 0:
        from pykintone.structure_field import File
        at = letter.attached_files[0]
        f = File.upload(at["content"], app, file_name=at["filename"])
        data[file_field[0].code] = {"value": [{"fileKey": f.file_key}]}

    result = app.create(data)
    return result, app_index