o
    >:h                     @   s   d dl mZ G dd dejZG dd dejZG dd dejZG dd	 d	ejZG d
d dejZG dd dejZG dd dejZ	dS )    )modelsc                   @   s^   e Zd ZdZg dZejddddZejddddZejded	d
Z	G dd dZ
dd ZdS )UnidadMedidaz|
    Lista de unidades de medida configurables por el usuario
    Ejemplos: Kilogramos (kg), Litros (lt), Unidades (ud)
    ))pesoPeso)longitudLongitud)volumenVolumen)unidadUnidad2   TzNombre completo
max_lengthuniqueverbose_name
   AbreviaturazTipo de unidad)r   choicesr   c                   @      e Zd ZdZdZdgZdZdS )zUnidadMedida.MetazUnidad de MedidazUnidades de Medidanombrelistas_unidades_medidaN__name__
__module____qualname__r   verbose_name_pluralorderingdb_table r   r   3/var/www/html/public/listas_configuracion/models.pyMeta   
    r    c                 C   s   | j  d| j dS )Nz ())r   abreviaturaselfr   r   r   __str__   s   zUnidadMedida.__str__N)r   r   r   __doc__TIPOS_UNIDADr   	CharFieldr   r#   tipor    r&   r   r   r   r   r      s    r   c                   @   sT   e Zd ZdZejddddZejdddZej	ddd	d
Z
G dd dZdd ZdS )	FormaPagouz   
    Lista de formas de pago configurables por el usuario
    Ejemplos: Contado, Crédito 30 días, Crédito 60 días
    r   TzNombre de la forma de pagor   r   u   Plazo en días)defaultr   u   Descripción adicionalblanknullr   c                   @   s    e Zd ZdZdZddgZdZdS )zFormaPago.MetazForma de PagozFormas de Pago
plazo_diasr   listas_formas_pagoNr   r   r   r   r   r    4   s
    r    c                 C   s*   | j dkr| j d| j  dS | j dS )Nr   u    (Crédito u    días)z
 (Contado))r0   r   r$   r   r   r   r&   :   s   
zFormaPago.__str__N)r   r   r   r'   r   r)   r   PositiveIntegerFieldr0   	TextFielddescripcionr    r&   r   r   r   r   r+       s$    r+   c                   @   F   e Zd ZdZejddddZejddddZG dd	 d	Z	d
d Z
dS )EmpaqueComprazs
    Lista de tipos de empaque para compras configurables por el usuario
    Ejemplos: Rollo, Caja, Bulto 50kg
    d   TTipo de empaquer      Descripción del empaquer-   c                   @      e Zd ZdZdZdZdS )zEmpaqueCompra.MetazEmpaque para CompraszEmpaques para Compraslistas_empaques_compraNr   r   r   r   r   r   r   r   r   r   r    O       r    c                 C      | j S Nr   r$   r   r   r   r&   T      zEmpaqueCompra.__str__Nr   r   r   r'   r   r)   r   r3   r4   r    r&   r   r   r   r   r6   ?       r6   c                   @   r5   )EmpaqueProduccionut   
    Lista de tipos de empaque para producción configurables por el usuario
    Ejemplos: Lote, Rollo, Paquete
    r7   Tr8   r   r9   r-   c                   @   r:   )zEmpaqueProduccion.Metau   Empaque para Producciónu   Empaques para Producciónlistas_empaques_produccionNr<   r   r   r   r   r    g   r=   r    c                 C   r>   r?   r@   r$   r   r   r   r&   l   rA   zEmpaqueProduccion.__str__NrB   r   r   r   r   rD   W   rC   rD   c                   @   6   e Zd ZdZejddddZG dd dZdd	 Zd
S )ClasificacionProductouu   
    Lista de clasificaciones de productos configurables por el usuario
    Ejemplos: Packs, Colores, Plásticos
    r7   Tu   Nombre de la clasificaciónr   c                   @   r   )zClasificacionProducto.Metau   Clasificación de ProductozClasificaciones de Productosr   listas_clasificaciones_productoNr   r   r   r   r   r    z   r!   r    c                 C   r>   r?   r@   r$   r   r   r   r&      rA   zClasificacionProducto.__str__N	r   r   r   r'   r   r)   r   r    r&   r   r   r   r   rG   o       rG   c                   @   rF   )GrupoProductoug   
    Lista de grupos de productos configurables por el usuario
    Ejemplos: Granel, Jumbo, Éxito
    r7   TzNombre del grupor   c                   @   r   )zGrupoProducto.MetazGrupo de ProductozGrupos de Productosr   listas_grupos_productoNr   r   r   r   r   r       r!   r    c                 C   r>   r?   r@   r$   r   r   r   r&      rA   zGrupoProducto.__str__NrI   r   r   r   r   rK      rJ   rK   c                   @   sH   e Zd ZdZejeejdddZej	dddZ
G dd	 d	Zd
d ZdS )SubgrupoProductoz
    Lista de subgrupos de productos configurables por el usuario
    Ejemplos: Importados, Nacionales (pertenecientes a un grupo)
    	subgruposzGrupo padre)	on_deleterelated_namer   r7   zNombre del subgrupo)r   r   c                   @   s4   e Zd ZdZdZddgZejddgddgZdZ	dS )	zSubgrupoProducto.MetazSubgrupo de ProductozSubgrupos de Productosgrupor   unique_subgrupo_por_grupo)fieldsnamelistas_subgrupos_productoN)
r   r   r   r   r   r   r   UniqueConstraintconstraintsr   r   r   r   r   r       s    r    c                 C   s   | j  d| j S )Nz > )rQ   r   r$   r   r   r   r&      s   zSubgrupoProducto.__str__N)r   r   r   r'   r   
ForeignKeyrK   CASCADErQ   r)   r   r    r&   r   r   r   r   rM      s    rM   N)
	django.dbr   Modelr   r+   r6   rD   rG   rK   rM   r   r   r   r   <module>   s    