Tryton Unconference Liège 2017 is coming!

Publicación seguridad para issue4155

Publicado: 2014-09-30 10:00:00+00:00 release security

Sinopsis

Una vulnerabilidad en trytond ha sido encontrada por duesenfranz, que podría permitir a un usuario malicioso ejecutar código arbitrario en el servidor a través de la función safe_eval (ver issue4155).

Impacto

Cualquier usuario autenticado puede ejecutar comandos arbitrarios en el servidor con los permisos del usuario trytond.

Alternativa

No existe ninguna alternativa.

Resolución

Todos los usuarios deben actualizar trytond a la última versión de la serie utilizada.

¿Incidencias?

Cualquier incidencia de seguridad debe ser reportada en el bug-tracker https://bugs.tryton.org/ con el tipo security.

Nueva versión 3.2 de tryton

Publicado: 2014-04-21 20:00:00+00:00 release

Nos complace anunciar el lanzamiento de la nueva versión 3.2 de Tryton.

Esta versión consolida nuevas funcionalidades añadidas en los últimos dos años. Además, se preperara la futura migración a Python 3, eliminando el soporte para Python 2.6. Como es habitual, también se han realizado correcciones de errores, mejoras y nuevos módulos (a continuación se dan más detalles).

Por supuesto, la migración desde las versiones anteriores está completamente soportada.

Cambios importantes en la interfaz de usuario

  • El cliente utiliza la zona horaria local para mostrar los campos de fecha y hora.

  • Se ha mejorado el pegado en listas editables para añadir nuevas líneas si es necesario aparte de actualizar los registros ya existentes.

  • Los botones de la vista también se muestran en el menú de acciones. Esto permite un acceso mas rápido utilizando los atajos del teclado y también ejecutar el botón para el conjunto de registros seleccionados.

    button action menu
  • Los botones y los assitents ahora pueden ejecutar acciones de cliente. Esto quiere decir que se comporta como si el usuario hubiese clicado en alguno de los botones de la barra de herramientas.

  • El cliente utiliza ahora un conjunto de conexiones. Esto permite mejorar la velocidad en peticiones que se pueden hacer en paralelo.

  • Se puede soltar un fichero en el botón de adjuntos para crear de forma rápida adjuntos.

  • Se ha introducido un nuevo widget multi-selección, que utiliza un campo Many2Many para guardar la información. Es muy útil y más visual cuando hay un pequeño número de selecciones posibles.

    multiselection
  • El cliente permite navegar por las versiones de un registro del que se guarda la historia. También funciona en una lista de registros, en este caso el cliente muestra el resultado de la búsqueda cómo si se hubiera hecho en la fecha de la revisón.

    revisions

Cambios mayores en el servidor

  • El servidor siempre utiliza internamente la zona horaria UTC.
  • El método ModelStorage.write recibe mejoras similares a las que recibió el método ModelStorage.create en la versión 2.8. Esto quiere decir que se puede escribir distintos valores en varios conjuntos de registros en una sola llamada y que esto mejora el rendimiento validando todos los registros de una vez. Además, sólo se validarán los campos modificados y sus dependencias. Las acciones de los campos relacionados se han actualizado con la misma interfaz.
  • Se ha añadido un nuevo decorador fields.depends para reemplazar los atributos obsoletos on_change, on_change_with, selection_change_with y autocomplete. Este decorador se aplica en los métodos a llamar y el resultado será la suma de todos los depends de todos los módulos. Esto mejora la modularidad y aporta más flexiblidad.
  • Tryton utiliza la librería bcrypt para emascarar las contraseñas si encuentra disponible.
  • Todos los tipos de campo pueden tener un restricción de dominio en su valor. La mayoría de dominios están soportados para la pre-validación y la inversión en la parte del cliente.
  • El valor devuelto por un on_change de un campo One2Many ahora utiliza un índice para la clave add. Esto permite especificar la posición del nuevo registro que se va añadir en lugar de añadirlo siempre al final.
  • Se ha añadido un nuevo método ModelSQL.restore_history que permite restaurar los valores de un registro tal como estaban en un fecha y hora determinada.

Módulos

Account

  • Se ha creado un nuevo tipo de diario Desajuste para facilitar la creación de movimientos de ajuste.
  • Los impuestos ahora tienen una fecha inicial y fecha final opcionales, que permiten gestionar los cambios a través del tiempo.

French Chart of Account

  • El plan contable Francés se ha actualizado con los nuevos impuestos para el año 2014.

Account Statement

  • El módulo evita que se utilize una factura que ya ha sido pagada en los extractos en borrador.
  • Utiliza el nuevo índice de la función on_change para añadir las nuevas líneas seperadas debajo de la línea original.

Account Stock Continental

  • Se ha mejorado la velocidad de creación de asientos para los movimientos de stock/existencias.

Bank

  • Los números IBAN ahora son validados y formateados.

Company

  • Se ha añadido un nuevo campo de zona horaria en la Empresa para obtener correctamente la fecha de hoy.
  • El empleado se lee del contexto, tal como se hace con la empresa. Esto permite utilizar más de un cliente con el mismo usuario pero empleados distintos.

Production

  • Ahora es posible definir la fecha efectiva de una producción. Esto permite añadir producciones en el pasado.

Purchase

  • Ahora se muestra un aviso al intentar recibir un movimiento de stock de proveedor sin origen. Normalmente, el origen debe ser una orden de compra.
  • Las compras intentan establecer un enlace entre los movimientos de stock y las líneas de factura.

Sale

  • El mismo aviso existe para los movimientos de cliente sin origen.
  • Las ventas intentan, como las compras, establecer un enlace entre los movimientos de existencias y las líneas de factura.

Stock

  • Los albaranes de devolución de proveedor pueden tener asignación parcial.
  • Se ha mejorado el cálculo de las cantidades en stock para facilitar la personalización y se ha mejorado la búsqueda.
  • Ahora es posible definir la fecha efectiva de los albaranes. Esto permite añadir albaranes en el pasado.

Stock Lot

  • Se añadido una acción para mostrar los movimientos de stock de un lote.

Nuevos módulos

  • El módulo Party Relationship define distintos tipos de relaciones entre terceros.
  • El módulo Account Payment permite generar grupos de pagos para los apuntes de las cuentas a pagar y a cobrar.
  • El módulo Account Payment SEPA permite generar ficheros SEPA para los pagos.
  • El módulo Stock Package permite alamacenar la información de los paquetes utilizados en los alabaranes de cliente y de devolución a proveedor.
  • El módulo Sale Shipment Grouping añade la opción para definir como se van a agrupar los movimientos de stock/existencias generados por las ventas.
  • El módulo Account Credit Limit gestiona los límites de crédito por tercero.
  • El módulo Sale Credit Limit añade las ventas confirmadas al límite de crédito del tercero.

Security Release for issue3446

Publicado: 2013-11-04 10:00:00+00:00 release security

Synopsis

A vulnerability in tryton has been found, that might allow a malicious server to send a crafted extention as answer to a report request leading the client to write the report on any file of the client host with the right of the user running the client (see issue3446).

Impact

Any file can be created on the client host with the access permissions of the user running the client.

Workaround

Users should connect only to trusted servers.

Resolution

All users should upgrade to the latest version of the used series.

Concern?

Any security concerns should be reported on the bug-tracker at http://bugs.tryton.org/ with the type security.

Nueva versión 3.0 de tryton

Publicado: 2013-10-21 18:00:00+00:00 release

Nos complace anunciar la salida de la nueva versión 3.0 de Tryton.

está versión trae la nueva vista de calendario en la interfície gráfica y el resultado de una larga refactorización de código que empezó hace 2 años con el proyecto python-sql. Como es habitual, también se han realizado correcciones de errores, mejoras y nuevos módulos (a continuación se dan más detalles).

Por supuesto, la migración desde las versiones anteriores está completamente soportada.

Cambios importantes en la interfaz de usuario

  • La vista de calendario ya está disponible. Permite mostrar los registros en un calendario utilizando fecha inicio y/o fin de campos fecha/fecha y hora. También soporta arrastrar y soltar eventos y la edición de los mismos con el doble clic. está vista esta optimizada para obtener solo los registros de los eventos que se muestran.

    calendario de producción
  • El esquema de URL, introducido en la versión 2.0, ahora es accessible en la parte inferior de todas las pestañas. Esta URL permite abrir la misma pestaña en cualquier otro cliente.

    url
  • Se han eliminado las solicitudes. Se sugiere utilizar emails con URL para su sustitución.

  • Los registros seleccionados en la vista de lista se guardan entre sesiones.

Cambios mayores en el servidor

  • El servidor ahora utiliza python-sql para generar las consultas SQL. Este cambio permite una mejor compatibilidad con los diferentes Motores de Bases de datos soportados actualmente (y también con los que se soporten en el futuro).
  • El método searcher puede devolver un dominio completo (en lugar de uno limitado solo a clásuslas AND).
  • El antiguo atributo order_field se remplaza por el método order_<field name> para ser más modular.
  • El motor de base de datos se puede cargar dinámicamente, cosa que permite utilizar uno definido en un paquete externo al servidor de tryton.
  • El rendimiento del almacenamiento MPTT se ha mejora eliminando el orden por defecto y reduciendo el número de consultas.
  • Un nuevo atributo grouped se puede añadir al tag data. Esto permite crear todos los registros de un mismo modelo a la vez. Esto mejora el tiempo de instalación de módulos con una gran cantidad de información.
  • Se puede definir un orden por defecto en las acciones de ventana.

Módulos

  • Muchos módulos se han adaptado al nuevo diseño de relacionar documentos generados con su origen. En vez de copiar el código de origen como referencia se utiliza un campo Reference. La mayoría de las veces el enlace se encuentra a nivel de línea. Esto proporciona una mejor visión de los enlaces entre documentos sin perder la información cuando se mezclan documentos.

Account

  • Se ha creado un nuevo asistente para facilitar al creación de asiento de regularización al final del período fiscal.
  • Todas las cuentas de un plan contable deben pertencer a la misma empresa. Esta validación mejora radicalmente el rendimiento del cálculo del debe/haber.
  • Cualquier asiento confirmado con algún apunte con importe cero se concilia automáticamente si la cuenta está marcada como a conciliar. Con esta funcionalidad, las facturas con importe cero se marcan automáticamente cómo pagadas.
  • La opción de contrapartida centralizada en el diario se ha eliminado.

Account Invoice

  • Cuando una factura se confirma, se utiliza el asiento contable para mostrar los importes en vez de calcularlo a partir de las líneas. Esto mejora el rendimiento, especialmente para las facturas con muchas líneas.

Account Statement

  • Ahora es posible vincular una factura con una línea de extracto. Esto llenará automàticamente el tercero y la cuenta.

Stock

  • Es posible consultar la cantidad en estoc con cualquier tipo de parámetros de agrupación. Por ejemplo, se puede utilizar para calcular la cantidad en estoc por lote, en vez de por producto.
  • El código de los inventarios se ha refactorizado para facilitar su personalización y también la validación de unicidad de las líneas de inventario.
  • La cache del período se puede adaptar para guardar diferentes tipos de agrupaciones de cantidad.

Stock Lot

  • Se han añadido los campos cantidad y cantidad estimada en los lotes.
  • Ahora es posible crear inventarios con lote.
  • La cache del período también guarda las cantidades por lote.

Stock Supply

  • Se ha añadido un nuevo asistente para crear automáticamente movimientos internos.
  • Si hay movimientos tardíos de proveedor cuando se crean las solicitudes de compra, el asistente muestra un aviso para que el usuario pueda modificar la fecha de estos movimientos a un futuro si es necesario. Si no estos movimientos de entrada serán ignorados.

Nuevos módulos

  • El módulo Bank define el concepto de banco y cuenta bancaria.
  • El módulo Account Dunning permite gestionar reclamaciones siguiendo un procedimiento con diferentes niveles.
  • El módulo Account Dunning Letter añade la generación de cartas cuando se procesan reclamaciones.
  • El módulo Sale Invoice Grouping añade la opción de definir cómo se agruparán las líneas de venta al generar las líneas de factura.

Ultima versión de mantenimento para las series 1.8

Publicado: 2013-05-16 12:00:00+00:00 release
Hace dos semanas la serie 1.8 recibió las ultimas correcciones de errores, han pasado 2 años y medio del lanzamiento de la primera versión. Las series 2.0, 2.2, 2.4 y 2.6 también tienen varias correcciones que ya se publicaron en la serie 2.8. Como de costumbre, no se requiere la actualización de la bases de datos para estas liberaciones/lanzamientos.

Nueva versión 2.8 de Tryton

Publicado: 2013-04-22 18:00:00+00:00 release

Nos complace anunciar la salida de la nueva versión 2.8 de Tryton.

En esta versión se han realizado cambios en la interfaz del usuario para mejorar el modo de trabajo de los usuarios. Los cambios más importantes son: búsquedas favoritas (marcadores), autocompletado, búsqueda global y la revisión de todos los mensajes de error, para proporcionar más información. Como es habitual, también se han realizado correciones de errores, mejoras y nuevos módulos (a continuación se dan más detalles).

Como es habitual, la migración desde las versiones anteriores esta completamente soportada.

Cambios importantes en la interfaz del usuario

  • Añadido dominios en Acción de ventana: Esta funcionalidad permite mostrar pestañas en las vistas de lista. Estas pestañas permiten filtrar los registros. Todos los módulos han sido actualizados para aprovechar esta funcionalidad y por lo tanto se ha reducido el número de entradas del menú.
Dominios en acción de ventana
  • Búsquedas favoritas: Los usuarios pueden guardar sus búsquedas favoritas y volver a ejecutarlas siempre que lo deseen.
Búsquedas favoritas
  • Autocompletado en campos relacionales (Many2One, Many2Many y One2Many): Cuando se escribe en alguno de estos campos el cliente trata de autocompletar para permitir una entrada rápida de los datos. El autocompletado también propone dos acciones adicionales: Crear un nuevo registro o entrar una búsqueda más compleja.
Autocompletado
  • Remplazo de los accesos directos por menú favoritos: Se han rediseñado los favoritos (también conocidos como accesos directos o atajos) para mejorar la experiencia del usuario.
Menú Favoritos
  • Añadida la búsqueda global: En la parte superior del menú se ha añadido una cuadro entrada que permite realizar búsquedas todos los documentos de la empresa y en las entradas de menú. Cuando se selecciona un resultado de la búsqueda, el cliente abre su vista de formulario o dará lugar a la acción de sus entradas de menú. El tipo de documentos a buscar es configurable.
Búsqueda global

Cambios mayores en el servidor

  • El método create ahora acepta una lista de valores, lo cual permite unificar la API. Esto mejora el rendimiento en la creación de un registro, validando todos los registros de golpe.
  • Se sustituye (Campo, Operador, Operando) por reglas de dominio. Además de unificar la definición esto mejora la velocidad de cómputo y facilita la cache.
  • Se ha introducido un nuevo tipo de campo Dict. Este campo permite almacenar un diccionario. Las llaves del mismo se guardan en la base de datos. El nuevo módulo product_attribute utiliza esta funcionalidad (ver más abajo).
  • Se ha decidio eliminar los _inherits porque no cumplían completamente con su cometido. Se han remplazado sus usos (uno por uno) por campos Function, por clases de tipo Mixin o por un Many2One.
  • Los valores de selección de un campo de tipo Referencia o Selección pueden ser dinámicos. Esto se produce gracias al atributo selection_change_with.

Módulos

account

  • La secuencia del apunte es opcional en el período. Si no se indica se utilizará la secuencia del ejercicio fiscal.
  • Las reglas de impuestos y los grupos de impuestos tienen un atributo tipo (ventas, compras o otros) que se utiliza para definir dónde se pueden utilizar.

account_invoice

  • Las secuencias de facturación del período también son opcionales.
  • Cuando se cancela una factura el apunte existente se eliminará si es posible. Si no se puede eliminar se cancelará mediante el apunte contrario.
  • Cuando se valida la factura de proveedor se crea el apunte en borrador. En caso de que la validación en dos fases esto permite obtener informes actualizados.
  • Las facturas de proveedor y los abonos de proveedor no se pueden rembolsados de forma automática porque se deben revisar con el abono del proveedor.

dashboard

  • Para facilitar al usuario la selección de acciones en el escritorio estas se filtran en función del uso del escritorio.

party

  • Se utiliza el widget de url en las vistas de lista para el método de contacto.
Método de contacto

purchase

  • A partir de ahora es posible dejar el tiempo de entrega vacío para un producto de proveedor. Eso significa que no sabemos cuándo se va a entregar.

stock

  • Con el nuevo diseño del flujo de trabajo ya no hay más cuellos de botella al añadir un nuevo movimiento de stock.
  • Todas las relaciones Many2One de los envíos se han simplificado en una sola Referencia al envío.

stock_supply

  • El método find_best_supplier ya no optimiza el retraso de la entrega para respetar el orden de prioridad al seleccionar un proveedor.

timesheet

  • A partir de ahora es posible definir un período que indicará el tiempo en que un trabajo estará disponible para entrar las hojas de trabajo.

Nuevos módulos

  • account_asset añade la opción de la depreciación fija de activos.
  • sale_supply añade la opción enviar a la venta al producto para generar pedidos de compra desde las líneas de venta independientemente de los niveles de existencias.
  • sale_supply_drop_shipment añade la opción envío directo al producto si se ha marcado la opción enviar a la venta para generar un envío directo.
  • project_invoice añade métodos de facturación (Manual, Por el esfuerzo estimado, Por las horas realizadas) a los proyectos.
  • product_attribute añade atributos de producto flexibles.
Atributos de producto

Otros cambios en la interfaz de usuario

  • Se puede utilizar un rango de Fechas/Horas en la búsqueda de registros.
  • Se permite la multiselección para campos de tipo Selección en la búsqueda de registros.
  • La vista de lista ahora puede mostrar url's.
  • El menú plugins se ha movido a la barra de herramientas acciones.

Otros cambios en el servidor

  • El idioma por defecto se guarda en la base de datos, cosa que soluciona errores inesperados en caso de que la configuración del servidor se cambie.
  • Se ha eliminado la restricción única en las reglas de acceso del modelo y del campo para permitir que diferentes módulos creen accesos que se superpongan.
  • La lista de _constraints se ha declarado obsoleta y se ha reemplazo por el método validate para mejorar los mensajes de error.
  • Ahora se puede buscar sobre el resultado de los campos de referencia.

Versiones de mantenimiento para las series 1.8, 2.0, 2.2, 2.4 y 2.6

Publicado: 2012-12-24 12:00:00+00:00 release
Las series 1,8, 2,0, 2,2, 2,4 y 2,6 tienen varias correcciones de bugs. No es necesario actualizar la base de datos.

Nueva versión Tryton 2.6

Publicado: 2012-10-23 12:00:00+00:00 release

Estamos felices de anunciar la liberación de la nueva versión 2.6 de Tryton.

Hay importantes cambios en la API, con la introducción de la Active Record pattern. También hay que decir que no se dejó sin mejoras la interfaz gráfica de usuario. Como siempre hay muchas correcciones de bugs, mejoras de módulos y creación de nuevos módulos (como se anunció en el comunicado anterior).

Por supuesto, la migración desde la versión anterior es totalmente compatible.

Cambios importantes en la interfaz gráfica de usuario

  • Gestión del modelo de acceso y campo de acceso crear/eliminar.

    El cliente ahora es consciente del modelo de acceso que permite desactivar los botones cuando el usuario no tiene acceso.

    También es posible gestionar el evento de crear/eliminar en campos adicionales a los de lectura/escritura.

  • Límite de tamaño dinámico en la One2Many, Many2Many y Char.

    Ahora es posible limitar el tamaño de los campos y el cliente deberá forzarla.

  • Se eliminó el box "Por favor espere". La pantalla emergente era molesta porque hacía perder la concentración al cliente.

  • Pegar en la vista de lista editable. Es posible pegar desde una hoja de cálculo para actualizar un conjunto de filas.

Cambios importantes en el servidor

  • Permitir el uso del campo de Referencia en One2Many y Many2Many.

    Además de la Many2One, el campo inverso podría ser un campo de Referencia. En el futuro, la relación entre el Movimiento y Envíos se hará asñi como en lugar de tener 4 campos exclusivos Many2One.

  • Los diferentes tipos de botones se han unificado en un simple concepto.

  • Active Record: Este es el resultado del trabajo de refactorización iniciado hace 2 años.

    Éstos son algunos de los beneficios:

    • Reducir la cantidad de código (eliminadas unas 2,2 k líneas) por ejemplo on_change_with y getter of Function field se pueden combinar.

    • Unificar el acceso al valor del registro si se almacena o no en la base de datos. Permite eliminar values dictionary on on_change method.

    • Eliminar loop over ids in getter of Function field:

      antes:

      def getter(self, ids, name):
          res = {}
          for record in self.browse(ids):
              res[record.id] = …
          return res
      

      después:

      def getter(self, name):
          return self.…
      
    • Justificación del proceso de registro de Modelo (usar copia de campos, etc)

    • Eliminar la sesión en el wizard. Ahora la instancia del wizard está en la sesión.

  • Permite almacenar las vista en un archivo XML en lugar de la base de datos. Esto respalda la modificación de una vista sin actualizar la base de datos. Es una opción muy rápida para el diseño de vistas.

  • Se ha añadido un nuevo tipo de validación a la pre_validación.

    El nuevo pre_validación permite validar un registro sin guardarlo. Esto es utilizado por el cliente para validar líneas de un One2Many. Con la pre_validación es posible proporcionar información al usuario tan pronto como sea posible y antes de que se guarde el registro.

Módulos

account

  • El informe Balance muestra ahora el inicio y el final del mismo, además de las columnas de débito y crédito.
  • Al hacer doble clic en el Balance abre las cuentas.
  • El Plan de Cuenta no muestra lo acumulado en débito/crédito por defecto, sólo para el período en curso.
  • El Saldo Vencido se calcula sobre los años fiscales.
  • Los Movimientos de Cuentas han sido rediseñados para incluir un campo de origen que permite vincularlos al documento maestro. Tienen dos campos de numero para borrador y publicado.

account_stock_continental

  • La actualización de precio costo crea automáticamente un movimiento contable de stock.

purchase

  • La compra administra cantidades negativas en las líneas, generarán Devolución de Envíos y Nota de crédito.

stock

  • Se ha agregado un gráfico que muestra la evolución en el pasado y en el futuro del nivel de existencias de un producto por almacén.
cantidades de productos por almacén

Nuevos módulos

  • stock_lot define gran cantidad de productos.
  • stock_split añade un wizard para dividir movimiento.
  • account_fr añade Plan de Cuenta Francés.
  • production define los conceptos básicos para la gestión de la producción.
  • stock_supply_production añade mecanismos automáticos de suministro a través de solicitudes de producción.

Otros cambios en la interfaz gráfica de usuario

  • Ha sido añadido una interpolación constante al gráfico de líneas.
  • El grupo podría tener un estado de solo lectura.
  • Es posible definir un formato de tiempo diferente del clásico '% H:% M:% S'.

Otros cambios en el servidor

  • Se ha eliminado el ModelSQL.default_sequence. Los campos de secuencia no van a aumentar más indefinidamente.
  • El formato de hora es validado, por lo que es posible, por ejemplo, forzar los segundos a 0.
  • __tryton__.py se sustituye por tryton.cfg, un archivo estático.
  • Es posible utilizar tuple como valor de referencia. Es útil para la construcción de dominio dinámico en campos en PYSON.