Format driver info in a group.
This commit is contained in:
parent
def6607652
commit
a6c472de0a
38
load.py
38
load.py
|
@ -11,7 +11,11 @@ from trytond.pool import PoolMeta, Pool
|
|||
from trytond.pyson import Eval, Bool, Id
|
||||
from trytond.transaction import Transaction
|
||||
from trytond.wizard import Wizard, StateTransition, StateView, Button
|
||||
|
||||
try:
|
||||
import phonenumbers
|
||||
from phonenumbers import PhoneNumberFormat, NumberParseException
|
||||
except ImportError:
|
||||
phonenumbers = None
|
||||
|
||||
__all__ = ['Configuration', 'Load', 'LoadOrder', 'LoadOrderLine',
|
||||
'LoadUnitLoad', 'LoadUnitLoadOrder', 'LoadUnitLoadData',
|
||||
|
@ -825,7 +829,7 @@ class CreateLoadDataMixin(object):
|
|||
dock = fields.Many2One('stock.location.dock', 'Dock',
|
||||
domain=[('location', '=', Eval('warehouse', 0))],
|
||||
states={
|
||||
'invisible': Bool(Eval('load_order'))
|
||||
'invisible': Bool(Eval('load_order'))
|
||||
},
|
||||
depends=['warehouse', 'load_order'])
|
||||
carrier = fields.Many2One('carrier', 'Carrier',
|
||||
|
@ -851,7 +855,7 @@ class CreateLoadDataMixin(object):
|
|||
driver = fields.Char('Driver',
|
||||
states={
|
||||
'invisible': Bool(Eval('load_order'))
|
||||
})
|
||||
}, depends=['load_order'])
|
||||
driver_identifier = fields.Char('Driver identifier',
|
||||
states={
|
||||
'required': Bool(Eval('driver')),
|
||||
|
@ -862,6 +866,18 @@ class CreateLoadDataMixin(object):
|
|||
'invisible': Bool(Eval('load_purchasable')) | Bool(Eval('carrier'))
|
||||
},
|
||||
depends=['load_purchasable', 'carrier'])
|
||||
driver_phone = fields.Char('Driver Phone',
|
||||
states={
|
||||
'invisible': Bool(Eval('load_order'))
|
||||
}, depends=['load_order'])
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls._error_messages.update({
|
||||
'invalid_phonenumber': ('The phone number "%(phone)s" '
|
||||
'is not valid.'),
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def default_load_purchasable(cls):
|
||||
|
@ -894,6 +910,22 @@ class CreateLoadDataMixin(object):
|
|||
return Load._autocomplete_registration_numbers(self.carrier,
|
||||
'driver_identifier', self.driver_identifier)
|
||||
|
||||
@fields.depends('driver_phone')
|
||||
def on_change_driver_phone(self):
|
||||
self.driver_phone = self.format_phone(self.driver_phone)
|
||||
|
||||
@classmethod
|
||||
def format_phone(cls, value=None):
|
||||
if phonenumbers:
|
||||
try:
|
||||
phonenumber = phonenumbers.parse(value)
|
||||
except NumberParseException:
|
||||
pass
|
||||
else:
|
||||
value = phonenumbers.format_number(
|
||||
phonenumber, PhoneNumberFormat.INTERNATIONAL)
|
||||
return value
|
||||
|
||||
|
||||
class CreateLoadDataLineMixin(object):
|
||||
|
||||
|
|
26
locale/es.po
26
locale/es.po
|
@ -118,6 +118,10 @@ msgctxt "error:stock.unit_load:"
|
|||
msgid "Cannot unload an UL from a Load order in Done state."
|
||||
msgstr "No es posible descargar una UdC de una Orden de carga Finalizada."
|
||||
|
||||
msgctxt "error:carrier.load.create_from_sale:"
|
||||
msgid "The phone number \"%(phone)s\" is not valid."
|
||||
msgstr "El número de teléfono \"%(phone)s\" no es válido."
|
||||
|
||||
msgctxt "field:carrier.configuration,ul_origin_restrict:"
|
||||
msgid "Restrict UL origin"
|
||||
msgstr "Restringir origen UdC"
|
||||
|
@ -162,6 +166,10 @@ msgctxt "field:carrier.load.create_from_sale,driver_identifier:"
|
|||
msgid "Driver identifier"
|
||||
msgstr "Identificador conductor"
|
||||
|
||||
msgctxt "field:carrier.load.create_from_sale,driver_phone:"
|
||||
msgid "Driver Phone"
|
||||
msgstr "Teléfono conductor"
|
||||
|
||||
msgctxt "field:carrier.load.create_from_sale,sales:"
|
||||
msgid "Sales"
|
||||
msgstr "Ventas"
|
||||
|
@ -464,4 +472,20 @@ msgstr "No es posible cargar las siguientes UdCs"
|
|||
|
||||
msgctxt "model:carrier.load_uls.failed,name:"
|
||||
msgid "Carrier load unit load failed"
|
||||
msgstr "Fallo en Carga de UdC"
|
||||
msgstr "Fallo en Carga de UdC"
|
||||
|
||||
msgctxt "view:carrier.load.create_from_sale:"
|
||||
msgid "Driver info"
|
||||
msgstr "Datos del conductor"
|
||||
|
||||
msgctxt "view:carrier.load.create_from_sale:"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
msgctxt "view:carrier.load.create_from_sale:"
|
||||
msgid "Identifier"
|
||||
msgstr "Identificador"
|
||||
|
||||
msgctxt "view:carrier.load.create_from_sale:"
|
||||
msgid "Phone"
|
||||
msgstr "Teléfono"
|
|
@ -15,10 +15,14 @@
|
|||
<field name="vehicle_number"/>
|
||||
<label name="trailer_number"/>
|
||||
<field name="trailer_number"/>
|
||||
<label name="driver"/>
|
||||
<field name="driver"/>
|
||||
<label name="driver_identifier"/>
|
||||
<field name="driver_identifier"/>
|
||||
<group name="driver" string="Driver info" colspan="4">
|
||||
<label name="driver" string="Name"/>
|
||||
<field name="driver"/>
|
||||
<label name="driver_identifier" string="Identifier"/>
|
||||
<field name="driver_identifier"/>
|
||||
<label name="driver_phone" string="Phone"/>
|
||||
<field name="driver_phone"/>
|
||||
</group>
|
||||
<label name="load_purchasable"/>
|
||||
<field name="load_purchasable"/>
|
||||
<notebook>
|
||||
|
|
Loading…
Reference in New Issue