diff --git a/source/app/models/main.py b/source/app/models/main.py
index 7a9153f..ee1a788 100644
--- a/source/app/models/main.py
+++ b/source/app/models/main.py
@@ -2655,6 +2655,7 @@ class Socios(BaseModel):
@classmethod
def add(cls, values):
+ accounts = util.loads(values.pop('accounts', '[]'))
fields = cls._clean(cls, values)
try:
obj = Socios.create(**fields)
@@ -2665,6 +2666,19 @@ class Socios(BaseModel):
#~ ToDo Agregar tags
+ for account in accounts:
+ try:
+ bank = SATBancos.get_by_name(account['banco'])
+ fields = {
+ 'socio': obj,
+ 'banco': bank,
+ 'cuenta': account['cuenta'],
+ 'clabe': account['clabe'],
+ }
+ o = SociosCuentasBanco.create(**fields)
+ except IntegrityError:
+ pass
+
row = {
'id': obj.id,
'rfc': obj.rfc,
@@ -2704,15 +2718,11 @@ class Socios(BaseModel):
if count:
return False
+ q = SociosCuentasBanco.delete().where(SociosCuentasBanco.socio==id)
+ q.execute()
q = Socios.delete().where(Socios.id==id)
return bool(q.execute())
- # ~ def _reset_saldo(self, id):
- # ~ obj = Socios.get(Socios.id==id)
- # ~ obj.saldo_cliente = 0.0
- # ~ obj.save()
- # ~ return {'ok': True}
-
@classmethod
def opt(cls, args):
opt = args.get('opt', '')
diff --git a/source/static/js/controller/partners.js b/source/static/js/controller/partners.js
index 611f275..9c6d329 100644
--- a/source/static/js/controller/partners.js
+++ b/source/static/js/controller/partners.js
@@ -78,6 +78,8 @@ function get_condicion_pago(){
function cmd_new_partner_click(id, e, node){
$$('form_partner').clearValidation()
+ $$('form_partner_account_bank').clearValidation()
+
$$('form_partner').setValues({
id: 0, pais: 'México', tipo_persona: 1, es_activo: true,
partner_balance: 0.00})
@@ -106,6 +108,8 @@ function cmd_edit_partner_click(){
var msg = ''
var row = $$('grid_partners').getSelectedItem()
+ $$('form_partner_account_bank').clearValidation()
+
if (row == undefined){
msg = 'Selecciona un Socio de Negocio'
msg_error(msg)
@@ -235,6 +239,8 @@ function cmd_save_partner_click(id, e, node){
}
}
+ values['accounts'] = $$('grid_partner_account_bank').data.getRange()
+
webix.ajax().post('/partners', values, {
error:function(text, data, XmlHttpRequest){
msg = 'Ocurrio un error, consulta a soporte técnico';
@@ -570,6 +576,8 @@ function grid_partner_account_bank_click(id, e, node){
if(id.column != 'delete'){
return
}
+ var id_partner = $$('form_partner').getValues().id
+ var grid = $$('grid_partner_account_bank')
var msg = '¿Estás seguro de eliminar la cuenta de banco seleccionada?
'
msg += 'ESTA ACCION NO SE PUEDE DESHACER'
@@ -581,7 +589,11 @@ function grid_partner_account_bank_click(id, e, node){
text: msg,
callback:function(result){
if (result){
- partner_delete_account_bank(id.row)
+ if(id_partner){
+ partner_delete_account_bank(id.row)
+ }else{
+ grid.remove(id.row)
+ }
}
}
})