def twitter_outbox():

    if not auth.s3_logged_in():
        session.error = T("Requires Login!")
        redirect(URL(c="default", f="user", args="login"))

    tablename = "msg_twitter"
    table = s3db.msg_twitter
    s3.filter = (table.inbound == False)
    table.inbound.readable = False

    # CRUD Strings
    s3.crud_strings[tablename] = Storage(
        title_display = T("Tweet Details"),
        title_list = T("Sent Tweets"),
        label_list_button = T("View Sent Tweets"),
        label_delete_button = T("Delete Tweet"),
        msg_record_deleted = T("Tweet deleted"),
        msg_list_empty = T("No Tweets currently in Outbox")
    )

    def postp(r, output):
        if isinstance(output, dict):
            add_btn = A(T("Compose"),
                        _class="action-btn",
                        _href=URL(f="compose")
                        )
            output["rheader"] = add_btn

        return output
    s3.postp = postp

    s3db.configure(tablename,
                   # Permissions-based
                   #deletable = False,
                   editable = False,
                   insertable = False,
                   listadd = False,
                   list_fields = ["id",
                                  "date",
                                  "to_address",
                                  "body",
                                  ],
                   )

    return s3_rest_controller(module, "twitter")

# =============================================================================
Validate that `resource_desc` is legal.
dataset/ETHPy150Open sahana/eden/controllers/msg.py/twitter_outbox--crossover with--dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.main/src/openmdao/main/resource.py/ResourceAllocationManager.validate_resources