Beispiel #1
0
def get_user_admin_link(request: Request,
                        resource: admins.UserAccountAdmin.Resource):
    """Get link to a user admin show view from the user owned account."""
    user_account = resource.get_object()
    user = user_account.user
    admin = resource.get_admin()
    return get_admin_url_for_sqlalchemy_object(admin, user, "show")
Beispiel #2
0
def _get_user_navigate_target(view: CSVListing, column: listing.Column, obj: User) -> str:
    """Return the admin url to an User object.

    :param view: Current view.
    :param column: Listing Column
    :param obj: User object.
    :return: Admin url to the User object.
    """
    request = view.request
    admin = request.admin
    return get_admin_url_for_sqlalchemy_object(admin, obj)
Beispiel #3
0
def user_admin_panel(context, request, **kwargs):
    """Admin panel for Users."""

    dbsession = request.dbsession

    model_admin = context
    admin = model_admin.get_admin()
    model = model_admin.get_model()

    title = model_admin.title
    count = dbsession.query(model).count()
    latest_user = dbsession.query(model).order_by(model.id.desc()).first()
    latest_user_url = get_admin_url_for_sqlalchemy_object(admin, latest_user)

    return dict(locals(), **kwargs)
Beispiel #4
0
def user_admin_panel(context, request, **kwargs):
    """Admin panel for Users."""

    dbsession = request.dbsession

    model_admin = context
    admin = model_admin.get_admin()
    model = model_admin.get_model()

    title = model_admin.title
    count = dbsession.query(model).count()
    latest_user = dbsession.query(model).order_by(model.id.desc()).first()
    latest_user_url = get_admin_url_for_sqlalchemy_object(admin, latest_user)

    return dict(locals(), **kwargs)
Beispiel #5
0
def user_admin_panel(context: UserAdmin, request: Request, **kwargs) -> dict:
    """Admin panel for Users.

    :param context: Model admin.
    :param request: Pyramid request.
    :param kwargs: Additional context to be passed to the panel.
    :return: Context for template rendering.
    """
    dbsession = request.dbsession

    model_admin = context
    admin = model_admin.get_admin()
    model = model_admin.get_model()

    title = model_admin.title
    count = dbsession.query(model).count()
    latest_user = dbsession.query(model).order_by(model.id.desc()).first()
    latest_user_url = get_admin_url_for_sqlalchemy_object(admin, latest_user)

    return dict(locals(), **kwargs)
def admin_url(jinja_ctx, model_instance, *elements, **kw):
    """Link to model in admin interface.

    Takes an :term:`SQLAlchemy` model instance as a filter argument and resolves its admin page. This requires that a model admin has been correctly registered for SQLAlchemy model.

    Example:

    .. code-block:: html+jinja

        {% if request.user and request.user.is_admin %}
            <li>
              <a class="btn btn-danger" href="{{ choice|admin_url("edit") }}">
                Edit in admin
              </a>
            </li>
        {% endif %}

    Another example:

    .. code-block:: html+jinja

        <li>
          <a class="btn btn-danger" href="{{ choice|admin_url }}">
            View in admin
          </a>
        </li>
    """
    request = jinja_ctx.get('request')
    if not request:
        raise RuntimeError("Not rendered with request")

    if elements:
        view_name = elements[0]
    else:
        view_name = None

    link = get_admin_url_for_sqlalchemy_object(request.admin,
                                               model_instance,
                                               view_name=view_name)
    return link
def admin_url(jinja_ctx, model_instance, *elements, **kw):
    """Link to model in admin interface.

    Takes an :term:`SQLAlchemy` model instance as a filter argument and resolves its admin page. This requires that a model admin has been correctly registered for SQLAlchemy model.

    Example:

    .. code-block:: html+jinja

        {% if request.user and request.user.is_admin %}
            <li>
              <a class="btn btn-danger" href="{{ choice|admin_url("edit") }}">
                Edit in admin
              </a>
            </li>
        {% endif %}

    Another example:

    .. code-block:: html+jinja

        <li>
          <a class="btn btn-danger" href="{{ choice|admin_url }}">
            View in admin
          </a>
        </li>
    """
    request = jinja_ctx.get('request')
    if not request:
        raise RuntimeError("Not rendered with request")

    if elements:
        view_name = elements[0]
    else:
        view_name = None

    link = get_admin_url_for_sqlalchemy_object(request.admin, model_instance, view_name=view_name)
    return link
Beispiel #8
0
def _get_user_navigate_target(view, column, obj):
    request = view.request
    admin = request.admin
    return get_admin_url_for_sqlalchemy_object(admin, obj)
Beispiel #9
0
def get_user_admin_link(request: Request, resource: admins.UserAccountAdmin.Resource):
    """Get link to a user admin show view from the user owned account."""
    user_account = resource.get_object()
    user = user_account.user
    admin = resource.get_admin()
    return get_admin_url_for_sqlalchemy_object(admin, user, "show")