Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: Add spanish translation for /tutorial #53

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 22 additions & 26 deletions docs/tutorial/authentication/index.es.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
# Authentication & Authorization
# Autorización de autenticación
Copy link
Owner

@jowilf jowilf Dec 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is out of date


By default, *Starlette Admin* does not enforce any authentication to your application, but provides an
optional [AuthProvider][starlette_admin.auth.AuthProvider] you can use.
De forma predeterminada, *Starlette Admin* no impone ninguna autenticación a su aplicación, pero proporciona una [AuthProvider][starlette_admin.auth.AuthProvider] opcional que puede usar.

## Authentication
## Autenticación

To enable authentication in your admin interface, inherit the [AuthProvider][starlette_admin.auth.AuthProvider] class
and set `auth_provider` when declaring your admin app
Para habilitar la autenticación en su interfaz de administración, herede la clase [AuthProvider][starlette_admin.auth.AuthProvider] y configure `auth_provider` al declarar su aplicación de administración

The class [AuthProvider][starlette_admin.auth.AuthProvider] has three methods you need to override:
La clase [AuthProvider][starlette_admin.auth.AuthProvider] tiene tres métodos que debe anular:

* [is_authenticated][starlette_admin.auth.AuthProvider.is_authenticated] : Will be called for validating each incoming
request.
* [login][starlette_admin.auth.AuthProvider.login]: Will be called in the login page to validate username/password.
* [logout][starlette_admin.auth.AuthProvider.logout]: Will be called for the logout
* [is_authenticated][starlette_admin.auth.AuthProvider.is_authenticated]: se llamará para validar cada solicitud entrante.
* [login][starlette_admin.auth.AuthProvider.login]: se llamará en la página de inicio de sesión para validar el nombre de usuario/contraseña.
* [logout][starlette_admin.auth.AuthProvider.logout]: se llamará para el cierre de sesión

```python
from starlette.requests import Request
Expand Down Expand Up @@ -67,15 +64,14 @@ admin = Admin(auth_provider=MyAuthProvider())

```

??? note
Refer to [demo app](https://github.com/jowilf/starlette-admin-demo) for full example with starlette SessionMiddleware
??? Nota
Consulte [aplicación de demostración](https://github.com/jowilf/starlette-admin-demo) para ver un ejemplo completo con starlette SessionMiddleware

## Authorization
## Autorización

### For all views
### Para todas las vistas

Each [view][starlette_admin.views.BaseView] implement [is_accessible][starlette_admin.views.BaseView.is_accessible] method which can be used to restrict access
to current user.
Cada [view][starlette_admin.views.BaseView] implementa el método [is_accessible][starlette_admin.views.BaseView.is_accessible] que se puede usar para restringir el acceso al usuario actual.

```python
from starlette_admin import CustomView
Expand All @@ -86,17 +82,17 @@ class ReportView(CustomView):
def is_accessible(self, request: Request) -> bool:
return "admin" in request.state.user_roles
```
!!! important
When view is inaccessible, it does not appear in menu structure
!!! importante
Cuando la vista es inaccesible, no aparece en la estructura del menú

### For [ModelView][starlette_admin.views.BaseModelView]
In [ModelView][starlette_admin.views.BaseModelView], there is four additional methods you can override
to restrict access to current user.
### Para [ModelView][starlette_admin.views.BaseModelView]
En [ModelView][starlette_admin.views.BaseModelView], hay cuatro métodos adicionales que puede anular
para restringir el acceso al usuario actual.

* `can_view_details`: Permission for viewing full details of Items
* `can_create`: Permission for creating new Items
* `can_edit`: Permission for editing Items
* `can_delete`: Permission for deleting Items
* `can_view_details`: Permiso para ver los detalles completos de los items
* `can_create`: Permiso para crear nuevos elementos
* `can_edit`: Permiso para editar elementos
* `can_delete`: Permiso para eliminar elementos

```python
from starlette_admin.contrib.sqla import ModelView
Expand Down
40 changes: 40 additions & 0 deletions docs/tutorial/batch-actions/index.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Acciones por lotes

De forma predeterminada, para actualizar un objeto, debe seleccionarlo en la página de lista y actualizarlo. Esto funciona bien para la mayoría de casos de uso. Sin embargo, si necesita realizar el mismo cambio en muchos objetos a la vez, este flujo de trabajo puede resultar bastante tedioso.

En estos casos, puede escribir una *acción por lotes personalizada* para actualizar de forma masiva muchos objetos a la vez.

!!! nota
*starlette-admin* agrega por defecto una acción para eliminar muchos objetos a la vez

Para agregar otras acciones por lotes a su [ModelView][starlette_admin.views.BaseModelView], además de la acción de eliminación predeterminada, puede definir una que implementa la lógica deseada y la envuelve con el decorador [@action][starlette_admin.actions.action] (muy inspirado en Flask-Admin).

## Ejemplo
```python
from typing import List, Any

from starlette.requests import Request

from starlette_admin import action
from starlette_admin.contrib.sqla import ModelView
from starlette_admin.exceptions import ActionFailed


class ArticleView(ModelView):
actions = ["make_published", "delete"] # `delete` function is added by default

@action(
name="make_published",
text="Mark selected articles as published",
confirmation="Are you sure you want to mark selected articles as published ?",
submit_btn_text="Yes, proceed",
submit_btn_class="btn-success",
)
async def make_published_action(self, request: Request, pks: List[Any]) -> str:
# Write your logic here
if ...:
# Display meaningfully error
raise ActionFailed("Sorry, We can't proceed this action now.")
# Display successfully message
return "{} articles were successfully marked as published".format(len(pks))
```
26 changes: 13 additions & 13 deletions docs/tutorial/configurations/admin/index.es.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Admin Configurations
# Configuraciones de administrador

Multiple options are available to customize your admin interface
Hay múltiples opciones disponibles para personalizar su interfaz de administración

```python
admin = Admin(
Expand All @@ -19,15 +19,15 @@ admin = Admin(
```


## Parameters
## Parámetros

* `title`: Admin title.
* `base_url`: Base URL for Admin interface.
* `route_name`: Mounted Admin name
* `logo_url`: URL of logo to be displayed instead of title.
* `login_logo_url`: If set, it will be used for login interface instead of logo_url.
* `statics_dir`: Templates dir for static files customisation
* `templates_dir`: Templates dir for customisation
* `index_view`: CustomView to use for index page.
* `auth_provider`: Authentication Provider
* `middlewares`: Starlette middlewares
* `title`: Título del administrador.
* `base_url`: URL base para la interfaz de administración.
* `route_name`: Nombre de administrador montado
* `logo_url`: URL del logotipo que se mostrará en lugar del título.
* `login_logo_url`: si se establece, se usará para la interfaz de inicio de sesión en lugar de logo_url.
* `statics_dir`: Directorio de plantillas para la personalización de archivos estáticos
* `templates_dir`: Directorio de plantillas para personalización
* `index_view`: CustomView(vista personalizada) para usar en la página de índice.
* `auth_provider`: Proveedor de Autenticación
* `middlewares`: Middlewares de Starlette
73 changes: 36 additions & 37 deletions docs/tutorial/configurations/modelview/index.es.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
# ModelView Configurations
# Configuraciones de ModelView
Copy link
Owner

@jowilf jowilf Dec 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


Multiple options are available to customize your ModelView. For a complete list, have a look at the API documentation for
[BaseModelView()][starlette_admin.views.BaseModelView]. Here are some of the most commonly used options:
Hay múltiples opciones disponibles para personalizar su ModelView. Para obtener una lista completa, consulte la documentación de la API para [BaseModelView()][starlette_admin.views.BaseModelView]. Estas son algunas de las opciones más utilizadas:

## Fields
## Campos

Use `fields` property to customize which fields to include in admin view.
Use la propiedad `fields` para personalizar qué campos incluir en la vista de administración.

```Python hl_lines="21"
from sqlalchemy import JSON, Column, Integer, String, Text, create_engine
Expand Down Expand Up @@ -38,45 +37,45 @@ admin.add_view(PostView(Post, icon="fa fa-blog"))
admin.mount_to(app)
```

## Exclusions
## Exclusiones

There are several options to help you exclude some fields from certain part of admin interface.
Hay varias opciones para ayudarlo a excluir algunos campos de cierta parte de la interfaz de administración.

The options are:
Las opciones son:

* `exclude_fields_from_list`: List of fields to exclude in List page.
* `exclude_fields_from_detail`: List of fields to exclude in Detail page.
* `exclude_fields_from_create`: List of fields to exclude from creation page.
* `exclude_fields_from_edit`: List of fields to exclude from editing page.
* `exclude_fields_from_list`: Lista de campos para excluir en la página Lista.
* `exclude_fields_from_detail`: Lista de campos para excluir en la página de Detalles.
* `exclude_fields_from_create`: Lista de campos para excluir de la página de Creación.
* `exclude_fields_from_edit`: Lista de campos para excluir de la página de Edición.

```Python
class PostView(ModelView):
exclude_fields_from_list = [Post.content, Post.tags]
```

## Searching & Sorting
## Búsqueda y clasificación

Two options are available to specify which fields can be sorted or searched.
Hay dos opciones disponibles para especificar qué campos se pueden ordenar o buscar.

* `searchable_fields` for list of searchable fields
* `sortable_fields` for list of orderable fields
* `searchable_fields` para la lista de campos de búsqueda
* `sortable_fields` para la lista de campos ordenables

!!! Usage
!!! Uso
```Python
class PostView(ModelView):
sortable_fields = [Post.id, "title"]
searchable_fields = [Post.id, Post.title, "tags"]
```

## Exporting
## Exportando

You can export your data from list page. The export options can be set per model and includes the following options:
Puede exportar sus datos desde la página de lista. Las opciones de exportación se pueden configurar por modelo e incluyen las siguientes opciones:

* `export_fields`: List of fields to include in exports.
* `export_types`: A list of available export filetypes. Available
exports are `['csv', 'excel', 'pdf', 'print']`. By default, All of them are activated by default.
* `export_fields`: Lista de campos a incluir en las exportaciones.
* `export_types`: una lista de tipos de archivo de exportación disponibles.
Las exportaciones disponibles son `['csv', 'excel', 'pdf', 'print']`. Por defecto, todos ellos están activos por defecto.

!!! Example
!!! Ejemplo
```Python
from starlette_admin import ExportType

Expand All @@ -85,32 +84,32 @@ exports are `['csv', 'excel', 'pdf', 'print']`. By default, All of them are acti
export_types = [ExportType.CSV, ExportType.EXCEL]
```

## Pagination
## Paginación

The pagination options in the list page can be configured. The available options are:
Las opciones de paginación en la página de lista se pueden configurar. Las opciones disponibles son:

* `page_size`: Default number of items to display in List page pagination.
Default value is set to `10`.
* `page_size_options`: Pagination choices displayed in List page. Default value is set to `[10, 25, 50, 100]`.
Use `-1`to display All
* `page_size`: número predeterminado de elementos para mostrar en la paginación de la página de lista.
El valor predeterminado se establece en `10`.
* `page_size_options`: opciones de paginación que se muestran en la página de lista. El valor predeterminado se establece en `[10, 25, 50, 100]`.
Use `-1` para mostrar Todo


!!! Example
!!! Ejemplo
```Python
class PostView(ModelView):
page_size = 5
page_size_options = [5, 10, 25, 50, -1]
```

## Templates
The template files are built using Jinja2 and can be completely overridden in the configurations. The pages available are:
## Plantillas
Los archivos de plantilla se crean con Jinja2 y se pueden reescribir por completo en las configuraciones. Las páginas disponibles son:

* `list_template`: List view template. Default is `list.html`.
* `detail_template`: Details view template. Default is `detail.html`.
* `create_template`: Edit view template. Default is `create.html`.
* `edit_template`: Edit view template. Default is `edit.html`.
* `list_template`: plantilla de vista de lista. El valor predeterminado es `list.html`.
* `detail_template`: Plantilla de vista de detalles. El valor predeterminado es `detail.html`.
* `create_template`: Plantilla de vista de edición. El valor predeterminado es `create.html`.
* `edit_template`: Plantilla de vista de edición. El valor predeterminado es `edit.html`.

!!! Example
!!! Ejemplo
```Python
class PostView(ModelView):
detail_template = "post_detail.html"
Expand Down
4 changes: 2 additions & 2 deletions docs/tutorial/configurations/modelview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ Two options are available to specify which fields can be sorted or searched.
You can export your data from list page. The export options can be set per model and includes the following options:

* `export_fields`: List of fields to include in exports.
* `export_types`: A list of available export filetypes. Available
exports are `['csv', 'excel', 'pdf', 'print']`. Only `pdf` is disable by default.
* `export_types`: A list of available export filetypes.
Available exports are `['csv', 'excel', 'pdf', 'print']`. Only `pdf` is disable by default.

!!! Example
```Python
Expand Down
16 changes: 8 additions & 8 deletions docs/tutorial/files/index.es.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Managing files
# Administrar archivos

*Starlette-Admin* has out-of-the-box support for [SQLAlchemy-file](https://github.com/jowilf/sqlalchemy-file) and Gridfs through Mongoengine FileField & ImageField
*Starlette-Admin* tiene soporte listo para usar para [SQLAlchemy-file](https://github.com/jowilf/sqlalchemy-file) y Gridfs a través de Mongoengine FileField & ImageField

## SQLAlchemy & SQLModel
## Alquimia SQL y Modelo SQL

All you need is to add ImageField or FileField from [SQLAlchemy-file](https://github.com/jowilf/sqlalchemy-file) to your model
Todo lo que necesita es agregar ImageField o FileField desde [SQLAlchemy-file](https://github.com/jowilf/sqlalchemy-file) a su modelo

```python
from sqlalchemy import Column, Integer, String
Expand All @@ -29,13 +29,13 @@ class BookView(ModelView):

admin.add_view(BookView(Book))
```
!!! note
You can also use `multiple=True` to save multiple files.
!!! nota
También puede usar `multiple=True` para guardar varios archivos.


## MongoEngine
## Motor Mongo

*Starlette-Admin* support ImageField and FileField
*Starlette-Admin* admite ImageField y FileField

```python
from mongoengine import Document, FileField, ImageField, StringField
Expand Down
Loading