Advertisement
GastonPalazzo

register_account.py

Nov 25th, 2020 (edited)
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. # import
  2. from dba import DataBase
  3. from validador import Validador
  4. from cuenta import Cuenta
  5. from usuario import Usuario
  6.  
  7. # class
  8. class Register():
  9. # cnstr
  10. def __init__(self, database=DataBase):
  11. self.__db = database
  12. self.__vld = Validador(self.__db)
  13. # methds
  14. def register_account(self):
  15. print('\nPantalla de registro ↓\n\n*Nota: todos los campos son obligatorios!')
  16. # validando datos de usuario
  17. # creacion de usuario (en tiempo de ejecucion)
  18. form_user = {
  19. 'user_id' : 0,
  20. 'nombre' : input('\n<nombre>: '),
  21. 'apellido' : input('\n<apellido>: '),
  22. 'edad' : input('\n<edad>: '),
  23. 'pais' : input('\n<pais>: '),
  24. 'ciudad' : input('\n<ciudad>: '),
  25. 'genero' : input('\n<genero>: '),
  26. 'tel' : input('\n<telefono>: ')
  27. }
  28. r, dic=self.__vld.validar_datos_de_usuario(form_user)
  29. if r == 0:
  30. nuevo_usuario = Usuario(**dic)
  31. # validando datos de cuenta
  32. # creacion de cuenta (en tiempo de ejecucion)
  33. form_acc = {
  34. 'cuenta_id' : 0,
  35. 'login_name' : input('\n<login_name>: '),
  36. 'login_pass' : [input('\n<login_pass>: '), input('\n<login_pass_confirmacion>: ')],
  37. 'usuario' : 0,
  38. 'mail_primario' : input('\n<mail_primario>: '),
  39. 'mail_secundario' : input('\n<mail_secundario>: ')
  40. }
  41. r, dic=self.__vld.validar_registro(form_acc)
  42. dic['database'] = self.__db
  43. if r==0:
  44. nueva_cuenta = Cuenta(**dic)
  45. # guardar cambios en bd
  46. opc = input('\nConfirmar creacion de cuenta (s/n): ')
  47. if opc.lower() == 's':
  48. # agregando datos de usuario a la bd ↓
  49. ult_id = nuevo_usuario.save_user() # guardando datos de usuario en bd
  50. nuevo_usuario.set_user_id(ult_id) # actualizando id de usuario
  51.  
  52. nueva_cuenta.set_usuario(nuevo_usuario) # <- actualizando nuevo usuario en su cuenta
  53.  
  54. # agregando datos de cuenta a la bd ↓
  55. ult_id = nueva_cuenta.save_account() # guardando datos de cuenta en bd
  56. nueva_cuenta.set_cuenta_id(ult_id) # actualizando id de cuenta
  57.  
  58. print(f'\n[MENSAGE]: el usuario {nueva_cuenta.get_login_name()} ah sido registrado correctamente!')
  59. else:
  60. print('\n[MENSAGE]: Se cancelo el registro de cuenta.')
  61. else:
  62. print(f'\n[Err]: uno o mas datos no pudieron validarse ↓')
  63. for val in dic.values():
  64. if type(val).__name__ not in ['DataBase']:
  65. for i in val:
  66. print(f'\t{i}')
  67. else:
  68. print(f'\n[Err]: uno o mas datos no pudieron validarse ↓')
  69. for val in dic.values():
  70. for i in val:
  71. print(f'\t{i}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement