diff --git a/booking.py b/booking.py
index a3989db..a78d570 100644
--- a/booking.py
+++ b/booking.py
@@ -742,9 +742,9 @@ class BookingLine(ModelSQL, ModelView):
guests = fields.One2Many('hotel.booking.guest', 'booking_line', 'Guests')
operation = fields.Many2One('hotel.operation', 'Operation')
nationality = fields.Many2One('party.nationality', 'Nationality')
- origin_city = fields.Many2One('hotel.migration_city', 'Origin City',
+ origin_country = fields.Many2One('party.nationality', 'Origin Country',
select=True)
- target_city = fields.Many2One('hotel.migration_city', 'Target City',
+ target_country = fields.Many2One('party.nationality', 'Target Country',
select=True)
registration_state = fields.Selection(REGISTRATION_STATE, 'State Registration',
readonly=True)
@@ -1181,9 +1181,9 @@ class Guest(ModelSQL, ModelView):
], 'Type Guest')
type_guest_string = type_guest.translated('type_guest')
nationality = fields.Many2One('party.nationality', 'Nationality')
- origin_city = fields.Many2One('hotel.migration_city', 'Origin City',
+ origin_country = fields.Many2One('party.nationality', 'Origin Country',
select=True)
- target_city = fields.Many2One('hotel.migration_city', 'Target City',
+ target_country = fields.Many2One('party.nationality', 'Target Country',
select=True)
# New fields for speed reason
@@ -1204,6 +1204,40 @@ class Guest(ModelSQL, ModelView):
('male', 'Male'),
('', ''),
], 'Sex')
+ first_name = fields.Char('First Name')
+ second_name = fields.Char('Second Name')
+ first_family_name = fields.Char('First Family Name')
+ second_family_name = fields.Char('Second Family Name')
+ type_person = fields.Selection([
+ ('persona_natural', 'Persona Natural'),
+ ('persona_juridica', 'Persona Juridica'),
+ ], 'Type Person')
+
+ @fields.depends('name', 'first_name', 'second_name',
+ 'first_family_name', 'second_family_name', 'type_person')
+ def on_change_name(self):
+ second_family_name = None
+ first_family_name = None
+ second_name = None
+ first_name = None
+ if self.name and self.type_person == 'persona_natural':
+ names = self.name.split(' ')
+ first_name = names[0]
+ second_family_name = names[-1]
+ if len(names) > 1:
+ first_family_name = names[-2]
+ if len(names) == 2:
+ second_family_name = None
+ first_family_name = names[1]
+ elif len(names) == 5:
+ second_name = names[1] + ' ' + names[2]
+ elif len(names) == 4:
+ second_name = names[1]
+
+ self.second_family_name = second_family_name
+ self.first_family_name = first_family_name
+ self.second_name = second_name
+ self.first_name = first_name
def get_rec_name(self, name):
if self.party:
@@ -1217,6 +1251,10 @@ class Guest(ModelSQL, ModelView):
def default_sex():
return 'male'
+ @staticmethod
+ def default_type_person():
+ return 'persona_natural'
+
@staticmethod
def default_type_document():
return '13'
@@ -1225,10 +1263,11 @@ class Guest(ModelSQL, ModelView):
def default_principal_guest():
return False
- @fields.depends('origin_city', 'target_city')
- def on_change_origin_city(self):
- if self.origin_city:
- self.target_city = self.origin_city.id
+ @fields.depends('nationality', 'origin_country', 'target_country')
+ def on_change_nationality(self):
+ if self.nationality:
+ self.target_country = self.nationality.id
+ self.origin_country = self.nationality.id
@classmethod
def create(cls, vlist):
@@ -1251,6 +1290,11 @@ class Guest(ModelSQL, ModelView):
'type_document': v['type_document'],
'birthday': v['birthday'],
'sex': v['sex'],
+ 'first_name': v['first_name'],
+ 'second_name': v['second_name'],
+ 'first_family_name': v['first_family_name'],
+ 'second_family_name': v['second_family_name'],
+ 'type_person': v['type_person'],
'contact_mechanisms': [
('create', [
{'type': 'email', 'value': v['email']},
diff --git a/city.py b/city.py
index e0f4228..0a69f59 100644
--- a/city.py
+++ b/city.py
@@ -4,10 +4,11 @@ from trytond.model import ModelView, ModelSQL, fields
__all__ = ['MigrationCity']
+
class MigrationCity(ModelSQL, ModelView):
"Migration City"
__name__ = "hotel.migration_city"
- _rec_name = 'name'
+ _rec_name = 'name'
name = fields.Char('Name', required=True)
code = fields.Char('Code')
diff --git a/code_city_migrations.csv b/code_city_migrations.csv
new file mode 100644
index 0000000..c2b3b81
--- /dev/null
+++ b/code_city_migrations.csv
@@ -0,0 +1,1123 @@
+code,name
+5001,MEDELLÍN
+5002,ABEJORRAL
+5004,ABRIAQUÍ
+5021,ALEJANDRÍA
+5030,AMAGÁ
+5031,AMALFI
+5034,ANDES
+5036,ANGELÓPOLIS
+5038,ANGOSTURA
+5040,ANORÍ
+5042,SANTAFÉ DE ANTIOQUIA
+5044,ANZA
+5045,APARTADÓ
+5051,ARBOLETES
+5055,ARGELIA
+5059,ARMENIA
+5079,BARBOSA
+5086,BELMIRA
+5088,BELLO
+5091,BETANIA
+5093,BETULIA
+5101,CIUDAD BOLÍVAR
+5107,BRICEÑO
+5113,BURITICÁ
+5120,CÁCERES
+5125,CAICEDO
+5129,CALDAS
+5134,CAMPAMENTO
+5138,CAÑASGORDAS
+5142,CARACOLÍ
+5145,CARAMANTA
+5147,CAREPA
+5148,EL CARMEN DE VIBORAL
+5150,CAROLINA
+5154,CAUCASIA
+5172,CHIGORODÓ
+5190,CISNEROS
+5197,COCORNÁ
+5206,CONCEPCIÓN
+5209,CONCORDIA
+5212,COPACABANA
+5234,DABEIBA
+5237,DONMATÍAS
+5240,EBÉJICO
+5250,EL BAGRE
+5264,ENTRERRIOS
+5266,ENVIGADO
+5282,FREDONIA
+5284,FRONTINO
+5306,GIRALDO
+5308,GIRARDOTA
+5310,GÓMEZ PLATA
+5313,GRANADA
+5315,GUADALUPE
+5318,GUARNE
+5321,GUATAPE
+5347,HELICONIA
+5353,HISPANIA
+5360,ITAGUI
+5361,ITUANGO
+5364,JARDÍN
+5368,JERICÓ
+5376,LA CEJA
+5380,LA ESTRELLA
+5390,LA PINTADA
+5400,LA UNIÓN
+5411,LIBORINA
+5425,MACEO
+5440,MARINILLA
+5467,MONTEBELLO
+5475,MURINDÓ
+5480,MUTATÁ
+5483,NARIÑO
+5490,NECOCLÍ
+5495,NECHÍ
+5501,OLAYA
+5541,PEÑOL
+5543,PEQUE
+5576,PUEBLORRICO
+5579,PUERTO BERRÍO
+5585,PUERTO NARE
+5591,PUERTO TRIUNFO
+5604,REMEDIOS
+5607,RETIRO
+5615,RIONEGRO
+5628,SABANALARGA
+5631,SABANETA
+5642,SALGAR
+5647,SAN ANDRÉS DE CUERQUÍA
+5649,SAN CARLOS
+5652,SAN FRANCISCO
+5656,SAN JERÓNIMO
+5658,SAN JOSÉ DE LA MONTAÑA
+5659,SAN JUAN DE URABÁ
+5660,SAN LUIS
+5664,SAN PEDRO DE LOS MILAGROS
+5665,SAN PEDRO DE URABA
+5667,SAN RAFAEL
+5670,SAN ROQUE
+5674,SAN VICENTE FERRER
+5679,SANTA BÁRBARA
+5686,SANTA ROSA DE OSOS
+5690,SANTO DOMINGO
+5697,EL SANTUARIO
+5736,SEGOVIA
+5756,SONSON
+5761,SOPETRÁN
+5789,TÁMESIS
+5790,TARAZÁ
+5792,TARSO
+5809,TITIRIBÍ
+5819,TOLEDO
+5837,TURBO
+5842,URAMITA
+5847,URRAO
+5854,VALDIVIA
+5856,VALPARAÍSO
+5858,VEGACHÍ
+5861,VENECIA
+5873,VIGÍA DEL FUERTE
+5885,YALÍ
+5887,YARUMAL
+5890,YOLOMBÓ
+5893,YONDÓ
+5895,ZARAGOZA
+8001,BARRANQUILLA
+8078,BARANOA
+8137,CAMPO DE LA CRUZ
+8141,CANDELARIA
+8296,GALAPA
+8372,JUAN DE ACOSTA
+8421,LURUACO
+8433,MALAMBO
+8436,MANATÍ
+8520,PALMAR DE VARELA
+8549,PIOJÓ
+8558,POLONUEVO
+8560,PONEDERA
+8573,PUERTO COLOMBIA
+8606,REPELÓN
+8634,SABANAGRANDE
+8638,SABANALARGA
+8675,SANTA LUCÍA
+8685,SANTO TOMÁS
+8758,SOLEDAD
+8770,SUAN
+8832,TUBARÁ
+8849,USIACURÍ
+11001,"BOGOTÁ, D.C."
+13001,CARTAGENA
+13006,ACHÍ
+13030,ALTOS DEL ROSARIO
+13042,ARENAL
+13052,ARJONA
+13062,ARROYOHONDO
+13074,BARRANCO DE LOBA
+13140,CALAMAR
+13160,CANTAGALLO
+13188,CICUCO
+13212,CÓRDOBA
+13222,CLEMENCIA
+13244,EL CARMEN DE BOLÍVAR
+13248,EL GUAMO
+13268,EL PEÑÓN
+13300,HATILLO DE LOBA
+13430,MAGANGUÉ
+13433,MAHATES
+13440,MARGARITA
+13442,MARÍA LA BAJA
+13458,MONTECRISTO
+13468,MOMPÓS
+13473,MORALES
+13490,NOROSÍ
+13549,PINILLOS
+13580,REGIDOR
+13600,RÍO VIEJO
+13620,SAN CRISTÓBAL
+13647,SAN ESTANISLAO
+13650,SAN FERNANDO
+13654,SAN JACINTO
+13655,SAN JACINTO DEL CAUCA
+13657,SAN JUAN NEPOMUCENO
+13667,SAN MARTÍN DE LOBA
+13670,SAN PABLO
+13673,SANTA CATALINA
+13683,SANTA ROSA
+13688,SANTA ROSA DEL SUR
+13744,SIMITÍ
+13760,SOPLAVIENTO
+13780,TALAIGUA NUEVO
+13810,TIQUISIO
+13836,TURBACO
+13838,TURBANÁ
+13873,VILLANUEVA
+13894,ZAMBRANO
+15001,TUNJA
+15022,ALMEIDA
+15047,AQUITANIA
+15051,ARCABUCO
+15087,BELÉN
+15090,BERBEO
+15092,BETÉITIVA
+15097,BOAVITA
+15104,BOYACÁ
+15106,BRICEÑO
+15109,BUENAVISTA
+15114,BUSBANZÁ
+15131,CALDAS
+15135,CAMPOHERMOSO
+15162,CERINZA
+15172,CHINAVITA
+15176,CHIQUINQUIRÁ
+15180,CHISCAS
+15183,CHITA
+15185,CHITARAQUE
+15187,CHIVATÁ
+15189,CIÉNEGA
+15204,CÓMBITA
+15212,COPER
+15215,CORRALES
+15218,COVARACHÍA
+15223,CUBARÁ
+15224,CUCAITA
+15226,CUÍTIVA
+15232,CHÍQUIZA
+15236,CHIVOR
+15238,DUITAMA
+15244,EL COCUY
+15248,EL ESPINO
+15272,FIRAVITOBA
+15276,FLORESTA
+15293,GACHANTIVÁ
+15296,GAMEZA
+15299,GARAGOA
+15317,GUACAMAYAS
+15322,GUATEQUE
+15325,GUAYATÁ
+15332,GÜICÁN
+15362,IZA
+15367,JENESANO
+15368,JERICÓ
+15377,LABRANZAGRANDE
+15380,LA CAPILLA
+15401,LA VICTORIA
+15403,LA UVITA
+15407,VILLA DE LEYVA
+15425,MACANAL
+15442,MARIPÍ
+15455,MIRAFLORES
+15464,MONGUA
+15466,MONGUÍ
+15469,MONIQUIRÁ
+15476,MOTAVITA
+15480,MUZO
+15491,NOBSA
+15494,NUEVO COLÓN
+15500,OICATÁ
+15507,OTANCHE
+15511,PACHAVITA
+15514,PÁEZ
+15516,PAIPA
+15518,PAJARITO
+15522,PANQUEBA
+15531,PAUNA
+15533,PAYA
+15537,PAZ DE RÍO
+15542,PESCA
+15550,PISBA
+15572,PUERTO BOYACÁ
+15580,QUÍPAMA
+15599,RAMIRIQUÍ
+15600,RÁQUIRA
+15621,RONDÓN
+15632,SABOYÁ
+15638,SÁCHICA
+15646,SAMACÁ
+15660,SAN EDUARDO
+15664,SAN JOSÉ DE PARE
+15667,SAN LUIS DE GACENO
+15673,SAN MATEO
+15676,SAN MIGUEL DE SEMA
+15681,SAN PABLO DE BORBUR
+15686,SANTANA
+15690,SANTA MARÍA
+15693,SANTA ROSA DE VITERBO
+15696,SANTA SOFÍA
+15720,SATIVANORTE
+15723,SATIVASUR
+15740,SIACHOQUE
+15753,SOATÁ
+15755,SOCOTÁ
+15757,SOCHA
+15759,SOGAMOSO
+15761,SOMONDOCO
+15762,SORA
+15763,SOTAQUIRÁ
+15764,SORACÁ
+15774,SUSACÓN
+15776,SUTAMARCHÁN
+15778,SUTATENZA
+15790,TASCO
+15798,TENZA
+15804,TIBANÁ
+15806,TIBASOSA
+15808,TINJACÁ
+15810,TIPACOQUE
+15814,TOCA
+15816,TOGÜÍ
+15820,TÓPAGA
+15822,TOTA
+15832,TUNUNGUÁ
+15835,TURMEQUÉ
+15837,TUTA
+15839,TUTAZÁ
+15842,UMBITA
+15861,VENTAQUEMADA
+15879,VIRACACHÁ
+15897,ZETAQUIRA
+17001,MANIZALES
+17013,AGUADAS
+17042,ANSERMA
+17050,ARANZAZU
+17088,BELALCÁZAR
+17174,CHINCHINÁ
+17272,FILADELFIA
+17380,LA DORADA
+17388,LA MERCED
+17433,MANZANARES
+17442,MARMATO
+17444,MARQUETALIA
+17446,MARULANDA
+17486,NEIRA
+17495,NORCASIA
+17513,PÁCORA
+17524,PALESTINA
+17541,PENSILVANIA
+17614,RIOSUCIO
+17616,RISARALDA
+17653,SALAMINA
+17662,SAMANÁ
+17665,SAN JOSÉ
+17777,SUPÍA
+17867,VICTORIA
+17873,VILLAMARÍA
+17877,VITERBO
+18001,FLORENCIA
+18029,ALBANIA
+18094,BELÉN DE LOS ANDAQUÍES
+18150,CARTAGENA DEL CHAIRÁ
+18205,CURILLO
+18247,EL DONCELLO
+18256,EL PAUJIL
+18410,LA MONTAÑITA
+18460,MILÁN
+18479,MORELIA
+18592,PUERTO RICO
+18610,SAN JOSÉ DEL FRAGUA
+18753,SAN VICENTE DEL CAGUÁN
+18756,SOLANO
+18785,SOLITA
+18860,VALPARAÍSO
+19001,POPAYÁN
+19022,ALMAGUER
+19050,ARGELIA
+19075,BALBOA
+19100,BOLÍVAR
+19110,BUENOS AIRES
+19130,CAJIBÍO
+19137,CALDONO
+19142,CALOTO
+19212,CORINTO
+19256,EL TAMBO
+19290,FLORENCIA
+19300,GUACHENÉ
+19318,GUAPI
+19355,INZÁ
+19364,JAMBALÓ
+19392,LA SIERRA
+19397,LA VEGA
+19418,LÓPEZ
+19450,MERCADERES
+19455,MIRANDA
+19473,MORALES
+19513,PADILLA
+19517,PAEZ
+19532,PATÍA
+19533,PIAMONTE
+19548,PIENDAMÓ
+19573,PUERTO TEJADA
+19585,PURACÉ
+19622,ROSAS
+19693,SAN SEBASTIÁN
+19698,SANTANDER DE QUILICHAO
+19701,SANTA ROSA
+19743,SILVIA
+19760,SOTARA
+19780,SUÁREZ
+19785,SUCRE
+19807,TIMBÍO
+19809,TIMBIQUÍ
+19821,TORIBIO
+19824,TOTORÓ
+19845,VILLA RICA
+20001,VALLEDUPAR
+20011,AGUACHICA
+20013,AGUSTÍN CODAZZI
+20032,ASTREA
+20045,BECERRIL
+20060,BOSCONIA
+20175,CHIMICHAGUA
+20178,CHIRIGUANÁ
+20228,CURUMANÍ
+20238,EL COPEY
+20250,EL PASO
+20295,GAMARRA
+20310,GONZÁLEZ
+20383,LA GLORIA
+20400,LA JAGUA DE IBIRICO
+20443,MANAURE
+20517,PAILITAS
+20550,PELAYA
+20570,PUEBLO BELLO
+20614,RÍO DE ORO
+20621,LA PAZ
+20710,SAN ALBERTO
+20750,SAN DIEGO
+20770,SAN MARTÍN
+20787,TAMALAMEQUE
+23001,MONTERÍA
+23068,AYAPEL
+23079,BUENAVISTA
+23090,CANALETE
+23162,CERETÉ
+23168,CHIMÁ
+23182,CHINÚ
+23189,CIÉNAGA DE ORO
+23300,COTORRA
+23350,LA APARTADA
+23417,LORICA
+23419,LOS CÓRDOBAS
+23464,MOMIL
+23466,MONTELÍBANO
+23500,MOÑITOS
+23555,PLANETA RICA
+23570,PUEBLO NUEVO
+23574,PUERTO ESCONDIDO
+23580,PUERTO LIBERTADOR
+23586,PURÍSIMA
+23660,SAHAGÚN
+23670,SAN ANDRÉS DE SOTAVENTO
+23672,SAN ANTERO
+23675,SAN BERNARDO DEL VIENTO
+23678,SAN CARLOS
+23682,SAN JOSÉ DE URÉ
+23686,SAN PELAYO
+23807,TIERRALTA
+23815,TUCHÍN
+23855,VALENCIA
+25001,AGUA DE DIOS
+25019,ALBÁN
+25035,ANAPOIMA
+25040,ANOLAIMA
+25053,ARBELÁEZ
+25086,BELTRÁN
+25095,BITUIMA
+25099,BOJACÁ
+25120,CABRERA
+25123,CACHIPAY
+25126,CAJICÁ
+25148,CAPARRAPÍ
+25151,CAQUEZA
+25154,CARMEN DE CARUPA
+25168,CHAGUANÍ
+25175,CHÍA
+25178,CHIPAQUE
+25181,CHOACHÍ
+25183,CHOCONTÁ
+25200,COGUA
+25214,COTA
+25224,CUCUNUBÁ
+25245,EL COLEGIO
+25258,EL PEÑÓN
+25260,EL ROSAL
+25269,FACATATIVÁ
+25279,FOMEQUE
+25281,FOSCA
+25286,FUNZA
+25288,FÚQUENE
+25290,FUSAGASUGÁ
+25293,GACHALA
+25295,GACHANCIPÁ
+25297,GACHETÁ
+25299,GAMA
+25307,GIRARDOT
+25312,GRANADA
+25317,GUACHETÁ
+25320,GUADUAS
+25322,GUASCA
+25324,GUATAQUÍ
+25326,GUATAVITA
+25328,GUAYABAL DE SIQUIMA
+25335,GUAYABETAL
+25339,GUTIÉRREZ
+25368,JERUSALÉN
+25372,JUNÍN
+25377,LA CALERA
+25386,LA MESA
+25394,LA PALMA
+25398,LA PEÑA
+25402,LA VEGA
+25407,LENGUAZAQUE
+25426,MACHETA
+25430,MADRID
+25436,MANTA
+25438,MEDINA
+25473,MOSQUERA
+25483,NARIÑO
+25486,NEMOCÓN
+25488,NILO
+25489,NIMAIMA
+25491,NOCAIMA
+25506,VENECIA
+25513,PACHO
+25518,PAIME
+25524,PANDI
+25530,PARATEBUENO
+25535,PASCA
+25572,PUERTO SALGAR
+25580,PULÍ
+25592,QUEBRADANEGRA
+25594,QUETAME
+25596,QUIPILE
+25599,APULO
+25612,RICAURTE
+25645,SAN ANTONIO DEL TEQUENDAMA
+25649,SAN BERNARDO
+25653,SAN CAYETANO
+25658,SAN FRANCISCO
+25662,SAN JUAN DE RÍO SECO
+25718,SASAIMA
+25736,SESQUILÉ
+25740,SIBATÉ
+25743,SILVANIA
+25745,SIMIJACA
+25754,SOACHA
+25758,SOPÓ
+25769,SUBACHOQUE
+25772,SUESCA
+25777,SUPATÁ
+25779,SUSA
+25781,SUTATAUSA
+25785,TABIO
+25793,TAUSA
+25797,TENA
+25799,TENJO
+25805,TIBACUY
+25807,TIBIRITA
+25815,TOCAIMA
+25817,TOCANCIPÁ
+25823,TOPAIPÍ
+25839,UBALÁ
+25841,UBAQUE
+25843,VILLA DE SAN DIEGO DE UBATE
+25845,UNE
+25851,ÚTICA
+25862,VERGARA
+25867,VIANÍ
+25871,VILLAGÓMEZ
+25873,VILLAPINZÓN
+25875,VILLETA
+25878,VIOTÁ
+25885,YACOPÍ
+25898,ZIPACÓN
+25899,ZIPAQUIRÁ
+27001,QUIBDÓ
+27006,ACANDÍ
+27025,ALTO BAUDÓ
+27050,ATRATO
+27073,BAGADÓ
+27075,BAHÍA SOLANO
+27077,BAJO BAUDÓ
+27099,BOJAYA
+27135,EL CANTÓN DEL SAN PABLO
+27150,CARMEN DEL DARIÉN
+27160,CÉRTEGUI
+27205,CONDOTO
+27245,EL CARMEN DE ATRATO
+27250,EL LITORAL DEL SAN JUAN
+27361,ISTMINA
+27372,JURADÓ
+27413,LLORÓ
+27425,MEDIO ATRATO
+27430,MEDIO BAUDÓ
+27450,MEDIO SAN JUAN
+27491,NÓVITA
+27495,NUQUÍ
+27580,RÍO IRÓ
+27600,RÍO QUITO
+27615,RIOSUCIO
+27660,SAN JOSÉ DEL PALMAR
+27745,SIPÍ
+27787,TADÓ
+27800,UNGUÍA
+27810,UNIÓN PANAMERICANA
+41001,NEIVA
+41006,ACEVEDO
+41013,AGRADO
+41016,AIPE
+41020,ALGECIRAS
+41026,ALTAMIRA
+41078,BARAYA
+41132,CAMPOALEGRE
+41206,COLOMBIA
+41244,ELÍAS
+41298,GARZÓN
+41306,GIGANTE
+41319,GUADALUPE
+41349,HOBO
+41357,IQUIRA
+41359,ISNOS
+41378,LA ARGENTINA
+41396,LA PLATA
+41483,NÁTAGA
+41503,OPORAPA
+41518,PAICOL
+41524,PALERMO
+41530,PALESTINA
+41548,PITAL
+41551,PITALITO
+41615,RIVERA
+41660,SALADOBLANCO
+41668,SAN AGUSTÍN
+41676,SANTA MARÍA
+41770,SUAZA
+41791,TARQUI
+41797,TESALIA
+41799,TELLO
+41801,TERUEL
+41807,TIMANÁ
+41872,VILLAVIEJA
+41885,YAGUARÁ
+44001,RIOHACHA
+44035,ALBANIA
+44078,BARRANCAS
+44090,DIBULLA
+44098,DISTRACCIÓN
+44110,EL MOLINO
+44279,FONSECA
+44378,HATONUEVO
+44420,LA JAGUA DEL PILAR
+44430,MAICAO
+44560,MANAURE
+44650,SAN JUAN DEL CESAR
+44847,URIBIA
+44855,URUMITA
+44874,VILLANUEVA
+47001,SANTA MARTA
+47030,ALGARROBO
+47053,ARACATACA
+47058,ARIGUANÍ
+47161,CERRO SAN ANTONIO
+47170,CHIVOLO
+47189,CIÉNAGA
+47205,CONCORDIA
+47245,EL BANCO
+47258,EL PIÑON
+47268,EL RETÉN
+47288,FUNDACIÓN
+47318,GUAMAL
+47460,NUEVA GRANADA
+47541,PEDRAZA
+47545,PIJIÑO DEL CARMEN
+47551,PIVIJAY
+47555,PLATO
+47570,PUEBLOVIEJO
+47605,REMOLINO
+47660,SABANAS DE SAN ANGEL
+47675,SALAMINA
+47692,SAN SEBASTIÁN DE BUENAVISTA
+47703,SAN ZENÓN
+47707,SANTA ANA
+47720,SANTA BÁRBARA DE PINTO
+47745,SITIONUEVO
+47798,TENERIFE
+47960,ZAPAYÁN
+47980,ZONA BANANERA
+50001,VILLAVICENCIO
+50006,ACACÍAS
+50110,BARRANCA DE UPÍA
+50124,CABUYARO
+50150,CASTILLA LA NUEVA
+50223,SAN LUIS DE CUBARRAL
+50226,CUMARAL
+50245,EL CALVARIO
+50251,EL CASTILLO
+50270,EL DORADO
+50287,FUENTE DE ORO
+50313,GRANADA
+50318,GUAMAL
+50325,MAPIRIPÁN
+50330,MESETAS
+50350,LA MACARENA
+50370,URIBE
+50400,LEJANÍAS
+50450,PUERTO CONCORDIA
+50568,PUERTO GAITÁN
+50573,PUERTO LÓPEZ
+50577,PUERTO LLERAS
+50590,PUERTO RICO
+50606,RESTREPO
+50680,SAN CARLOS DE GUAROA
+50683,SAN JUAN DE ARAMA
+50686,SAN JUANITO
+50689,SAN MARTÍN
+50711,VISTAHERMOSA
+52001,PASTO
+52019,ALBÁN
+52022,ALDANA
+52036,ANCUYÁ
+52051,ARBOLEDA
+52079,BARBACOAS
+52083,BELÉN
+52110,BUESACO
+52203,COLÓN
+52207,CONSACÁ
+52210,CONTADERO
+52215,CÓRDOBA
+52224,CUASPUD
+52227,CUMBAL
+52233,CUMBITARA
+52240,CHACHAGÜÍ
+52250,EL CHARCO
+52254,EL PEÑOL
+52256,EL ROSARIO
+52258,EL TABLÓN DE GÓMEZ
+52260,EL TAMBO
+52287,FUNES
+52317,GUACHUCAL
+52320,GUAITARILLA
+52323,GUALMATÁN
+52352,ILES
+52354,IMUÉS
+52356,IPIALES
+52378,LA CRUZ
+52381,LA FLORIDA
+52385,LA LLANADA
+52390,LA TOLA
+52399,LA UNIÓN
+52405,LEIVA
+52411,LINARES
+52418,LOS ANDES
+52427,MAGÜI
+52435,MALLAMA
+52473,MOSQUERA
+52480,NARIÑO
+52490,OLAYA HERRERA
+52506,OSPINA
+52520,FRANCISCO PIZARRO
+52540,POLICARPA
+52560,POTOSÍ
+52565,PROVIDENCIA
+52573,PUERRES
+52585,PUPIALES
+52612,RICAURTE
+52621,ROBERTO PAYÁN
+52678,SAMANIEGO
+52683,SANDONÁ
+52685,SAN BERNARDO
+52687,SAN LORENZO
+52693,SAN PABLO
+52694,SAN PEDRO DE CARTAGO
+52696,SANTA BÁRBARA
+52699,SANTACRUZ
+52720,SAPUYES
+52786,TAMINANGO
+52788,TANGUA
+52835,SAN ANDRES DE TUMACO
+52838,TÚQUERRES
+52885,YACUANQUER
+54001,CÚCUTA
+54003,ABREGO
+54051,ARBOLEDAS
+54099,BOCHALEMA
+54109,BUCARASICA
+54125,CÁCOTA
+54128,CACHIRÁ
+54172,CHINÁCOTA
+54174,CHITAGÁ
+54206,CONVENCIÓN
+54223,CUCUTILLA
+54239,DURANIA
+54245,EL CARMEN
+54250,EL TARRA
+54261,EL ZULIA
+54313,GRAMALOTE
+54344,HACARÍ
+54347,HERRÁN
+54377,LABATECA
+54385,LA ESPERANZA
+54398,LA PLAYA
+54405,LOS PATIOS
+54418,LOURDES
+54480,MUTISCUA
+54498,OCAÑA
+54518,PAMPLONA
+54520,PAMPLONITA
+54553,PUERTO SANTANDER
+54599,RAGONVALIA
+54660,SALAZAR
+54670,SAN CALIXTO
+54673,SAN CAYETANO
+54680,SANTIAGO
+54720,SARDINATA
+54743,SILOS
+54800,TEORAMA
+54810,TIBÚ
+54820,TOLEDO
+54871,VILLA CARO
+54874,VILLA DEL ROSARIO
+63001,ARMENIA
+63111,BUENAVISTA
+63130,CALARCA
+63190,CIRCASIA
+63212,CÓRDOBA
+63272,FILANDIA
+63302,GÉNOVA
+63401,LA TEBAIDA
+63470,MONTENEGRO
+63548,PIJAO
+63594,QUIMBAYA
+63690,SALENTO
+66001,PEREIRA
+66045,APÍA
+66075,BALBOA
+66088,BELÉN DE UMBRÍA
+66170,DOSQUEBRADAS
+66318,GUÁTICA
+66383,LA CELIA
+66400,LA VIRGINIA
+66440,MARSELLA
+66456,MISTRATÓ
+66572,PUEBLO RICO
+66594,QUINCHÍA
+66682,SANTA ROSA DE CABAL
+66687,SANTUARIO
+68001,BUCARAMANGA
+68013,AGUADA
+68020,ALBANIA
+68051,ARATOCA
+68077,BARBOSA
+68079,BARICHARA
+68081,BARRANCABERMEJA
+68092,BETULIA
+68101,BOLÍVAR
+68121,CABRERA
+68132,CALIFORNIA
+68147,CAPITANEJO
+68152,CARCASÍ
+68160,CEPITÁ
+68162,CERRITO
+68167,CHARALÁ
+68169,CHARTA
+68176,CHIMA
+68179,CHIPATÁ
+68190,CIMITARRA
+68207,CONCEPCIÓN
+68209,CONFINES
+68211,CONTRATACIÓN
+68217,COROMORO
+68229,CURITÍ
+68235,EL CARMEN DE CHUCURÍ
+68245,EL GUACAMAYO
+68250,EL PEÑÓN
+68255,EL PLAYÓN
+68264,ENCINO
+68266,ENCISO
+68271,FLORIÁN
+68276,FLORIDABLANCA
+68296,GALÁN
+68298,GAMBITA
+68307,GIRÓN
+68318,GUACA
+68320,GUADALUPE
+68322,GUAPOTÁ
+68324,GUAVATÁ
+68327,GÜEPSA
+68344,HATO
+68368,JESÚS MARÍA
+68370,JORDÁN
+68377,LA BELLEZA
+68385,LANDÁZURI
+68397,LA PAZ
+68406,LEBRIJA
+68418,LOS SANTOS
+68425,MACARAVITA
+68432,MÁLAGA
+68444,MATANZA
+68464,MOGOTES
+68468,MOLAGAVITA
+68498,OCAMONTE
+68500,OIBA
+68502,ONZAGA
+68522,PALMAR
+68524,PALMAS DEL SOCORRO
+68533,PÁRAMO
+68547,PIEDECUESTA
+68549,PINCHOTE
+68572,PUENTE NACIONAL
+68573,PUERTO PARRA
+68575,PUERTO WILCHES
+68615,RIONEGRO
+68655,SABANA DE TORRES
+68669,SAN ANDRÉS
+68673,SAN BENITO
+68679,SAN GIL
+68682,SAN JOAQUÍN
+68684,SAN JOSÉ DE MIRANDA
+68686,SAN MIGUEL
+68689,SAN VICENTE DE CHUCURÍ
+68705,SANTA BÁRBARA
+68720,SANTA HELENA DEL OPÓN
+68745,SIMACOTA
+68755,SOCORRO
+68770,SUAITA
+68773,SUCRE
+68780,SURATÁ
+68820,TONA
+68855,VALLE DE SAN JOSÉ
+68861,VÉLEZ
+68867,VETAS
+68872,VILLANUEVA
+68895,ZAPATOCA
+70001,SINCELEJO
+70110,BUENAVISTA
+70124,CAIMITO
+70204,COLOSO
+70215,COROZAL
+70221,COVEÑAS
+70230,CHALÁN
+70233,EL ROBLE
+70235,GALERAS
+70265,GUARANDA
+70400,LA UNIÓN
+70418,LOS PALMITOS
+70429,MAJAGUAL
+70473,MORROA
+70508,OVEJAS
+70523,PALMITO
+70670,SAMPUÉS
+70678,SAN BENITO ABAD
+70702,SAN JUAN DE BETULIA
+70708,SAN MARCOS
+70713,SAN ONOFRE
+70717,SAN PEDRO
+70742,SAN LUIS DE SINCÉ
+70771,SUCRE
+70820,SANTIAGO DE TOLÚ
+70823,TOLÚ VIEJO
+73001,IBAGUÉ
+73024,ALPUJARRA
+73026,ALVARADO
+73030,AMBALEMA
+73043,ANZOÁTEGUI
+73055,ARMERO
+73067,ATACO
+73124,CAJAMARCA
+73148,CARMEN DE APICALÁ
+73152,CASABIANCA
+73168,CHAPARRAL
+73200,COELLO
+73217,COYAIMA
+73226,CUNDAY
+73236,DOLORES
+73268,ESPINAL
+73270,FALAN
+73275,FLANDES
+73283,FRESNO
+73319,GUAMO
+73347,HERVEO
+73349,HONDA
+73352,ICONONZO
+73408,LÉRIDA
+73411,LÍBANO
+73443,SAN SEBASTIÁN DE MARIQUITA
+73449,MELGAR
+73461,MURILLO
+73483,NATAGAIMA
+73504,ORTEGA
+73520,PALOCABILDO
+73547,PIEDRAS
+73555,PLANADAS
+73563,PRADO
+73585,PURIFICACIÓN
+73616,RIOBLANCO
+73622,RONCESVALLES
+73624,ROVIRA
+73671,SALDAÑA
+73675,SAN ANTONIO
+73678,SAN LUIS
+73686,SANTA ISABEL
+73770,SUÁREZ
+73854,VALLE DE SAN JUAN
+73861,VENADILLO
+73870,VILLAHERMOSA
+73873,VILLARRICA
+76001,CALI
+76020,ALCALÁ
+76036,ANDALUCÍA
+76041,ANSERMANUEVO
+76054,ARGELIA
+76100,BOLÍVAR
+76109,BUENAVENTURA
+76111,GUADALAJARA DE BUGA
+76113,BUGALAGRANDE
+76122,CAICEDONIA
+76126,CALIMA
+76130,CANDELARIA
+76147,CARTAGO
+76233,DAGUA
+76243,EL ÁGUILA
+76246,EL CAIRO
+76248,EL CERRITO
+76250,EL DOVIO
+76275,FLORIDA
+76306,GINEBRA
+76318,GUACARÍ
+76364,JAMUNDÍ
+76377,LA CUMBRE
+76400,LA UNIÓN
+76403,LA VICTORIA
+76497,OBANDO
+76520,PALMIRA
+76563,PRADERA
+76606,RESTREPO
+76616,RIOFRÍO
+76622,ROLDANILLO
+76670,SAN PEDRO
+76736,SEVILLA
+76823,TORO
+76828,TRUJILLO
+76834,TULUÁ
+76845,ULLOA
+76863,VERSALLES
+76869,VIJES
+76890,YOTOCO
+76892,YUMBO
+76895,ZARZAL
+81001,ARAUCA
+81065,ARAUQUITA
+81220,CRAVO NORTE
+81300,FORTUL
+81591,PUERTO RONDÓN
+81736,SARAVENA
+81794,TAME
+85001,YOPAL
+85010,AGUAZUL
+85015,CHAMEZA
+85125,HATO COROZAL
+85136,LA SALINA
+85139,MANÍ
+85162,MONTERREY
+85225,NUNCHÍA
+85230,OROCUÉ
+85250,PAZ DE ARIPORO
+85263,PORE
+85279,RECETOR
+85300,SABANALARGA
+85315,SÁCAMA
+85325,SAN LUIS DE PALENQUE
+85400,TÁMARA
+85410,TAURAMENA
+85430,TRINIDAD
+85440,VILLANUEVA
+86001,MOCOA
+86219,COLÓN
+86320,ORITO
+86568,PUERTO ASÍS
+86569,PUERTO CAICEDO
+86571,PUERTO GUZMÁN
+86573,PUERTO LEGUÍZAMO
+86749,SIBUNDOY
+86755,SAN FRANCISCO
+86757,SAN MIGUEL
+86760,SANTIAGO
+86865,VALLE DEL GUAMUEZ
+86885,VILLAGARZÓN
+88001,SAN ANDRÉS
+88564,PROVIDENCIA
+91001,LETICIA
+91263,EL ENCANTO
+91405,LA CHORRERA
+91407,LA PEDRERA
+91430,LA VICTORIA
+91460,MIRITI - PARANÁ
+91530,PUERTO ALEGRÍA
+91536,PUERTO ARICA
+91540,PUERTO NARIÑO
+91669,PUERTO SANTANDER
+91798,TARAPACÁ
+94001,INÍRIDA
+94343,BARRANCO MINAS
+94663,MAPIRIPANA
+94883,SAN FELIPE
+94884,PUERTO COLOMBIA
+94885,LA GUADALUPE
+94886,CACAHUAL
+94887,PANA PANA
+94888,MORICHAL
+95001,SAN JOSÉ DEL GUAVIARE
+95015,CALAMAR
+95025,EL RETORNO
+95200,MIRAFLORES
+97001,MITÚ
+97161,CARURU
+97511,PACOA
+97666,TARAIRA
+97777,PAPUNAUA
+97889,YAVARATÉ
+99001,PUERTO CARREÑO
+99524,LA PRIMAVERA
+99624,SANTA ROSALÍA
+99773,CUMARIBO
diff --git a/code_city_migrations.ods b/code_city_migrations.ods
new file mode 100644
index 0000000..96c202f
Binary files /dev/null and b/code_city_migrations.ods differ
diff --git a/migration_report.ods b/migration_report.ods
index 744428b..499d354 100644
Binary files a/migration_report.ods and b/migration_report.ods differ
diff --git a/party.py b/party.py
index 1c9f22a..f3ec4af 100644
--- a/party.py
+++ b/party.py
@@ -7,7 +7,7 @@ from trytond.wizard import Wizard, StateView, Button, StateTransition, StateRepo
from trytond.transaction import Transaction
-__all__ = ['Party','CreateGuest','CreateGuestStart']
+__all__ = ['Party', 'CreateGuest', 'CreateGuestStart']
TYPE = [
@@ -50,12 +50,75 @@ class Party(metaclass=PoolMeta):
visa_number = fields.Char('Visa Number')
visa_date = fields.Date('Visa Date')
+
class CreateGuestStart(ModelView):
'Create Party to Guest Start'
__name__ = 'hotel.party.guest.start'
- name = fields.Char('Name', required=True)
+ full_name = fields.Char('Name')
+ first_name = fields.Char('First Name')
+ second_name = fields.Char('Second Name')
+ first_family_name = fields.Char('First Family Name')
+ second_family_name = fields.Char('Second Family Name')
type_document = fields.Selection(TYPE_DOCUMENT, 'Type Document')
id_number = fields.Char('Id Number')
+ type_document = fields.Selection([
+ ('12', 'Tarjeta de Identidad'),
+ ('13', 'Cedula de Ciudadania'),
+ ('21', 'Tarjeta de Extranjeria'),
+ ('22', 'Cedula de Extranjeria'),
+ ('41', 'Pasaporte'),
+ ], 'Document Type')
+ mobile = fields.Char('Mobile', select=True)
+ email = fields.Char('Email', select=True)
+ birthday = fields.Date('Birthday', select=True)
+ sex = fields.Selection([
+ ('female', 'Female'),
+ ('male', 'Male'),
+ ('', ''),
+ ], 'Sex')
+ type_person = fields.Selection([
+ ('persona_natural', 'Persona Natural'),
+ ('persona_juridica', 'Persona Juridica'),
+ ], 'Type Person')
+
+ @fields.depends('full_name', 'first_name', 'second_name',
+ 'first_family_name', 'second_family_name','type_person')
+ def on_change_full_name(self):
+ second_family_name = None
+ first_family_name = None
+ second_name = None
+ first_name = None
+ if self.full_name and self.type_person == 'persona_natural':
+ names = self.full_name.split(' ')
+ first_name = names[0]
+ second_family_name = names[-1]
+ if len(names) > 1:
+ first_family_name = names[-2]
+ if len(names) == 2:
+ second_family_name = None
+ first_family_name = names[1]
+ elif len(names) == 5:
+ second_name = names[1] + ' ' + names[2]
+ elif len(names) == 4:
+ second_name = names[1]
+
+ self.second_family_name = second_family_name
+ self.first_family_name = first_family_name
+ self.second_name = second_name
+ self.first_name = first_name
+
+ @staticmethod
+ def default_sex():
+ return 'male'
+
+ @staticmethod
+ def default_type_person():
+ return 'persona_natural'
+
+ @staticmethod
+ def default_type_document():
+ return '13'
+
class CreateGuest(Wizard):
'Create Party to Guest'
@@ -86,11 +149,23 @@ class CreateGuest(Wizard):
else:
party, = Party.create([{
'name': self.start.name,
+ 'id_number': self.start.id_number,
'type_document': self.start.type_document,
- 'id_number': self.start.id_number
+ 'birthday': self.start.birthday,
+ 'sex': self.start.sex,
+ 'first_name': self.start.first_name,
+ 'second_name': self.start.second_name,
+ 'first_family_name': self.start.first_family_name,
+ 'second_family_name': self.start.second_family_name,
+ 'contact_mechanisms': [
+ ('create', [
+ {'type': 'email', 'value': self.start.email},
+ {'type': 'mobile', 'value': self.start.mobile},
+ ])
+ ]
}])
- party.save()
- Booking.write([record], {'party': party})
+ party_id = party.id
+ Booking.write([record], {'party': party_id})
return 'end'
def get_message(self, message):
diff --git a/view/booking_line_form.xml b/view/booking_line_form.xml
index 15ebf8e..dafc904 100644
--- a/view/booking_line_form.xml
+++ b/view/booking_line_form.xml
@@ -24,10 +24,10 @@ this repository contains the full copyright notices and license terms. -->
-
-
-
-
+
+
+
+
diff --git a/view/booking_line_tree.xml b/view/booking_line_tree.xml
index ba7bca1..37bed31 100644
--- a/view/booking_line_tree.xml
+++ b/view/booking_line_tree.xml
@@ -3,7 +3,7 @@
this repository contains the full copyright notices and license terms. -->
-
+
diff --git a/view/guest_form.xml b/view/guest_form.xml
index ed96578..c7d09aa 100644
--- a/view/guest_form.xml
+++ b/view/guest_form.xml
@@ -2,6 +2,10 @@
diff --git a/view/guest_tree.xml b/view/guest_tree.xml
index 66ed562..2278e29 100644
--- a/view/guest_tree.xml
+++ b/view/guest_tree.xml
@@ -3,13 +3,19 @@
this repository contains the full copyright notices and license terms. -->
-
+
+
+
+
-
+
+
+
+
diff --git a/view/party_guest.xml b/view/party_guest.xml
index ec7a99d..9a6b883 100644
--- a/view/party_guest.xml
+++ b/view/party_guest.xml
@@ -2,10 +2,32 @@