Actualizar socio de negocio correctamente

This commit is contained in:
Mauricio Baeza 2017-10-02 22:21:51 -05:00
parent a728a35b8f
commit a515246bcb
4 changed files with 42 additions and 30 deletions

View File

@ -32,25 +32,9 @@ class StorageEngine(object):
id = int(values['id'])
del values['id']
if id:
return main.Socios.update(values, id)
return main.Socios.actualizar(values, id)
return main.Socios.add(values)
def update_partner(self, values):
id = int(values['id'])
del values['id']
fields = util.clean(values)
fields['rfc'] = fields['rfc'].upper()
q = Clients.update(**values).where(Clients.id==id)
q.execute()
row = {
'id': id,
'cia': fields['cia'],
'rfc': fields['rfc'],
'name': fields['name'],
}
data = {'ok': True, 'row': row, 'new': False}
return data

View File

@ -331,6 +331,17 @@ class Socios(BaseModel):
(('rfc', 'slug'), True),
)
def _clean(self, values):
fields = util.clean(values)
fields['rfc'] = fields['rfc'].upper()
fields['nombre'] = util.spaces(fields['nombre'])
fields['slug'] = util.to_slug(fields['nombre'])
fb = ('dias_habiles', 'es_activo', 'es_cliente',
'es_proveedor', 'es_ong')
for name in fb:
fields[name] = bool(fields[name].replace('0', ''))
return fields
@classmethod
def get(cls, values):
if values:
@ -343,15 +354,7 @@ class Socios(BaseModel):
@classmethod
def add(cls, values):
fields = util.clean(values)
fields['rfc'] = fields['rfc'].upper()
fields['nombre'] = util.spaces(fields['nombre'])
fields['slug'] = util.to_slug(fields['nombre'])
fb = ('dias_habiles', 'es_activo', 'es_cliente',
'es_proveedor', 'es_ong')
for name in fb:
fields[name] = bool(fields[name].replace('0', ''))
fields = cls._clean(cls, values)
try:
obj = Socios.create(**fields)
except IntegrityError:
@ -369,6 +372,25 @@ class Socios(BaseModel):
data = {'ok': True, 'row': row, 'new': True}
return data
@classmethod
def actualizar(cls, values, id):
fields = cls._clean(cls, values)
try:
q = Socios.update(**fields).where(Socios.id==id)
q.execute()
except IntegrityError:
msg = 'Ya existe el RFC y Razón Social'
data = {'ok': False, 'row': {}, 'new': True, 'msg': msg}
return data
row = {
'id': id,
'rfc': fields['rfc'],
'nombre': fields['nombre'],
}
data = {'ok': True, 'row': row, 'new': False}
return data
@classmethod
def remove(cls, id):
count = (Facturas

View File

@ -123,16 +123,16 @@ function cmd_save_partner_click(id, e, node){
function update_grid_partner(values){
var msg = 'Cliente agregado correctamente'
var msg = 'Socio de negocio agregado correctamente'
if (values.new){
$$('form_partner').clear()
$$('grid_partners').add(values.row)
}else{
msg = 'Cliente actualizado correctamente'
msg = 'Socio de negocio actualizado correctamente'
$$("grid_partners").updateItem(values.row['id'], values.row)
}
$$('multi_partners').setValue('partners_home')
webix.message({type:'success', text:msg})
webix.message({type:'success', text: msg})
}

View File

@ -61,4 +61,10 @@ function validate_rfc(value){
}
return true
};
}
function validate_email(email){
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return re.test(email)
}