def message():

    tablename = "msg_message"
    table = s3db.msg_message

    table.instance_type.readable = True
    table.instance_type.label = T("Channel")

    # CRUD Strings
    s3.crud_strings[tablename] = Storage(
        title_display = T("Message Details"),
        title_list = T("Message Log"),
        label_list_button = T("View Message Log"),
        msg_list_empty = T("No Messages currently in the Message Log")
    )

    def postp(r, output):
        if r.interactive:
            # Normal Action Buttons
            s3_action_buttons(r)
            # Custom Action Buttons
            s3.actions += [dict(label=s3base.s3_str(T("Mark Sender")),
                                _class="action-btn",
                                url=URL(f="mark_sender",
                                        args="[id]")),
                           ]

        return output
    s3.postp = postp

    s3db.configure(tablename,
                   deletable = False,
                   editable = False,
                   insertable = False,
                   )

    return s3_rest_controller()

# =============================================================================
RESTful CRUD controller for the master message log
dataset/ETHPy150Open sahana/eden/controllers/msg.py/message