[Ovl70] Error al restablecer contraseña de usuario

Bug #1223117 reported by Xavier Guerra
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Openerp Venezuela
Opinion
Undecided
Unassigned

Bug Description

El error se da al momento de enviar un correo para restablecer la contraseña del usuario desde la ficha del usuario
y también de la pantalla de inicio en el link restablecer contraseña, pero esto solo sucede cuando el país de la compañía
es Venezuela, ya que toma el constraint definido en el modelo de partner del modulo l10n_ve_fiscal_requirements.

El sistema operativo que uso es Ubuntu 12.04 32 bits en mi maquina local.

El error en el log es el siguiente:

ERROR mne openerp.addons.auth_signup.controllers.main: error when resetting password
Traceback (most recent call last):
  File "/opt/openerp/v7/addons/auth_signup/controllers/main.py", line 75, in reset_password
    res_users.reset_password(cr, openerp.SUPERUSER_ID, login)
  File "/opt/openerp/v7/addons/auth_signup/res_users.py", line 241, in reset_password
    return self.action_reset_password(cr, uid, user_ids, context=context)
  File "/opt/openerp/v7/addons/auth_signup/res_users.py", line 248, in action_reset_password
    res_partner.signup_prepare(cr, uid, partner_ids, signup_type="reset", expiration=now(days=+1), context=context)
  File "/opt/openerp/v7/addons/auth_signup/res_users.py", line 115, in signup_prepare
    partner.write({'signup_token': token, 'signup_type': signup_type, 'signup_expiration': expiration})
  File "/opt/openerp/v7/server/openerp/osv/orm.py", line 374, in function_proxy
    return attr(self._cr, self._uid, [self._id], *args, **kwargs)
  File "/opt/openerp/v7/addons/account_followup/account_followup.py", line 295, in write
    return super(res_partner, self).write(cr, uid, ids, vals, context=context)
  File "/opt/openerp/v7/server/openerp/addons/base/res/res_partner.py", line 496, in write
    result = super(res_partner,self).write(cr, uid, ids, vals, context=context)
  File "/opt/openerp/v7/addons/mail/mail_thread.py", line 275, in write
    result = super(mail_thread, self).write(cr, uid, ids, values, context=context)
  File "/opt/openerp/v7/server/openerp/osv/orm.py", line 4203, in write
    self._validate(cr, user, ids, context)
  File "/opt/openerp/v7/localization/l10n_ve_fiscal_requirements/model/partner.py", line 239, in _validate
    raise except_orm('ValidateError', '\n'.join(error_msgs))
except_orm: ('ValidateError', u'Ha ocurrido un error mientras se validaban los campo(s) : Error ! VAT is mandatory')
2013-09-10 00:57:56,543 1568 ERROR mne openerp.addons.web.http.JSONRequest.dispatch: An error occured while handling a json request
Traceback (most recent call last):
  File "/opt/openerp/v7/web/addons/web/http.py", line 204, in dispatch
    response["result"] = method(self, **self.params)
  File "/opt/openerp/v7/addons/auth_signup/controllers/main.py", line 80, in reset_password
    raise(e)
except_orm: ('ValidateError', u'Ha ocurrido un error mientras se validaban los campo(s) : Error ! VAT is mandatory')

Revision history for this message
Nhomar - Vauxoo (nhomar) wrote :

Este no es un error en sí.

Permiteme explicarme mejor.

EN las versones anteriores este feature (reset password) no existía lo que te permitía manejar un flujo controlado de creación de partners,

EN la v7 este modelo cambió ya que ahora el modelo partner es una entidad contact - partner haciendo que se permita crear "contactos en la misma tabla." Y como cada User es un contacto y a la vez un partner Kabum" Error.

EN venezuela no es legal en negocios B2B vender a alguien si RIF, a menos que tengas un punto de venta, por ésto el contraint.

La solución inmediata es que debes cada que cree un ususario, configurarlo completamente (sin el quick create) Asignandole sus cuentas contables y el VAT number (RIF) con ésto te dejará de fallar.

Por ahora no lo considero un bug, sino una "opinion" voy a marcar el bug con dicho tag, mientras decidimos que hacer (posiblemente tengamos que extender más profundamente el modelo de VAT requerido)

SAludos y gracias por contribuir.

Revision history for this message
Nhomar - Vauxoo (nhomar) wrote :

Solo como Nota:

Este ha sido una de las situaciones más peleadas históricamente en la comunidad.

como referencia coloco el bug (con mas de 100 comentarios)

https://bugs.launchpad.net/openobject-addons/+bug/1160365

Leelo que entenderás algunos de los puntos, si consideras tienes un algorithmo que nos permita :

1.-NO FACTURAR si RIF.
2.- Mantener el feature de reset password.
3.- No obligar al usuario a hacer el proceso de verificación de partners (que es el correcto)

Propon un merge y con gusto lo revisamos.

Saludos.

Changed in openerp-venezuela-localization:
status: New → Opinion
Revision history for this message
Xavier Guerra (xguerra-e) wrote :

Hola Nhomar,

Primero que todo gracias por responder, segundo cuando me dices que cree el usuario sin usar el (sin el quick create)
es de esta manera :

1ro Crear el usuario desde Configuración-->Usuarios-->Usuarios
2do Ir a los Clientes o Proveedores quitar el filtro y editar el registro correspondiente al usuario completando los
        datos necesarios.
Si esto es así como se hará en caso de que un usuario no posea rif.

Tercero, la opción de (No obligar al usuario a hacer el proceso de verificación de partners (que es el correcto) ) es lo que se
me ocurrió puesto que en este momento ni siquiera la ficha de usuario te da la opción de agregar el rif. Se me ocurre es que a través del método browse validar que la entidad que se usa en este momento es la res.users, por ejemplo validar si contiene el
campo login y si lo contiene lanzar el true, pero no se que tan eficiente sea esto.

Saludos Cordiales,

Revision history for this message
Nhomar - Vauxoo (nhomar) wrote :

HOLA

Me confirmas cual revisión es la que tienes? y el origen de tu branch intenté replicarlo y creo que no tienes la correcta.

Necesito:

Revisión de OpenERP.
Revisión de tus Addons.
Revisión del BRanch OVL.

Saludos.

Revision history for this message
Xavier Guerra (xguerra-e) wrote :

Hola Nhomar,

lp:openerp-web/7.0 OpenErp Server revisión 5061
lp:openobject-server/7.0 OpenErp Web revisión 4023
lp:openobject-addons/7.0 OpenErp Addons revisión 9411

lp:openerp-venezuela-localization localizacion revisión 888

Revision history for this message
Nhomar - Vauxoo (nhomar) wrote :

te cuento que incluso el contraint de VAT no me jaló en esa revisión.

Puedes checar una bd en blanco SOLO fiscal_requirements y account con el feature de reset password activo, si puedes hacer un video seria genial, por que de verdad a mi me funcionó todo perfecto.

El contraint está trabajando solamente para Venezuela.

Mi revno ovl es 894, actualiza a lo mejor ya está resuelto.

Saludos.

Revision history for this message
Xavier Guerra (xguerra-e) wrote :

Voy a probar con la bd en blanco y luego actualizando.

Si el constraint solo trabaja para Venezuela, si a la compañía a la que está asociado el usuario
le cambio el país a otro, funciona, es decir, no me arroja el error y envía el correo con la url
para restablecer la contraseña, pero cuando cuando al país a Venezuela me suelta el error.

saludos.

Revision history for this message
Xavier Guerra (xguerra-e) wrote :

Hice la prueba instalando solo el módulo fiscal_requirement pero igual sigue el error, por los momentos no tengo como grabar un video desde donde estoy, pero te voy a describir paso a paso:

Una vez instalado el módulo y haber configurado el correo saliente, hago lo siguiente:

1- Edito la compañía para colocar el país a Venezuela guardo y voy a usuarios.
2- Una vez ya en usuarios creo el usuario con los datos básicos y el email, guardo y el envía la notificación
    de invitación al correo.
3- Cuando accedo a la url de invitación que es el inicio de openerp pero con los campos para crear la contraseña
    al darle al botón restablecer contraseña, es en este momento donde me suelta el error tal como lo imprime desde
    la consola.

Donde también me arroja el error es en la ficha del usuario al darle clic al botón de enviar invitación o restablecer contraseña según sea el caso, el mensaje es el siguiente (ValidateError Ha ocurrido un error mientras se validaban los campo(s) : Error! El RIF es obligatorio).

No se si estos son los pasos que estás haciendo, solo quería corroborar más tarde actualizo y pruebo con la revisión que me indicas.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.