#6427 - SMS Recover Password #2037
Open
jsegarra
wants to merge 72 commits from
6427_sms_resetPassword
into dev
pull from: 6427_sms_resetPassword
merge into: verdnatura:dev
verdnatura:dev
verdnatura:7899-deleteUnusedStates
verdnatura:8139-clockInCampaign
verdnatura:test
verdnatura:7917-freelancerRoute
verdnatura:master
verdnatura:revert_7283_itemMigration3
verdnatura:8077-sumDefaulter
verdnatura:7709-supplierPackaging_ReportSource_2
verdnatura:7301-itemLastEntries
verdnatura:6389-changesMonitor
verdnatura:7134-supplierBalance
verdnatura:8099-AddSalarySupplements
verdnatura:7289_sales_already_moved
verdnatura:7151-dms_refactor_methods
verdnatura:8002-refactorToLilium
verdnatura:8190-entry_getCommission
verdnatura:8114-removeAutoAddress
verdnatura:7119-vehicle_module
verdnatura:4774-translationsVn
verdnatura:7127-ModifyDaysToAddSales
verdnatura:8007-salesByWeek
verdnatura:hotFix_newOrder_redirect
verdnatura:6583-addOnlyDestination
verdnatura:7950-cmr
verdnatura:6822-entryTransfer
verdnatura:4948-procTicketSelfConsumption
verdnatura:6452-useIdAsSip
verdnatura:8174-crearTablaSim
verdnatura:7202-AddCustomAgentFkColumn
verdnatura:7921-sendLostExpeditions
verdnatura:7880-hedera.order_confirmWithUserTranslations
verdnatura:7731-clientViesCode
verdnatura:8124-enrutadoresGrafana
verdnatura:7146-AddRoute.dated
verdnatura:sergiodt-patch-1
verdnatura:4774-traductions
verdnatura:6242-AddHasRoundingField
verdnatura:6403-useServiceWeightOnCreateShipment
verdnatura:4409-binlog
verdnatura:8058-test-ticketsUrgentes
verdnatura:grantSelectToDelivery
verdnatura:8075-master-itemShelvingMoving
verdnatura:8069-hotFix-oversTocking
verdnatura:7793_sortByWeight
verdnatura:7906-remakeMethod
verdnatura:hotfix_redirect_to_lilium
verdnatura:7781-revertCommit
verdnatura:7906-optimizeDeleteZone
verdnatura:fix_isWorker_defaulter
verdnatura:7965-unifyProblems
verdnatura:6695-docker_push
verdnatura:6943_customer_redirectToLilium
verdnatura:4466-facturas-recibidas
verdnatura:use_params_q
verdnatura:6321_negative_tickets
verdnatura:8012-packagingIsVisible
verdnatura:hotfix_administrativeACL
verdnatura:recupero-version-anterior
verdnatura:solve_merge_problems
verdnatura:7763-renameItemShelvings
verdnatura:7677_vnLocation_perf
verdnatura:6553-workerBusiness
verdnatura:7760-tmp.ticketIPT
verdnatura:5926_pda_worker_docuware
verdnatura:6156-advanceTicketsNewField
verdnatura:6156-advanceTickets_improve
verdnatura:5938_fine_ticketAdvance
verdnatura:7671_dense_itemFixedPrices
verdnatura:7931-availableFix
verdnatura:7897_down_masterTest_2436
verdnatura:7897_masterTest_24_36
verdnatura:6682-Retorno-errores-de-VIAEXPRESS
verdnatura:7896_down_devToTest_2436
verdnatura:7686-onPrevious
verdnatura:7896_devToTest_2436
verdnatura:7283_itemFixedPrice_duplicated
verdnatura:7287-reasonLog
verdnatura:7283-itemMigration
verdnatura:7884_daysBackward
verdnatura:7864_testToMaster_2434
verdnatura:hotfix_nightTask_supplierDisable
verdnatura:7860-packagingBox
verdnatura:7763_rename_itemShelving
verdnatura:1234-test
verdnatura:7760-Refactorizar-collection_assign
verdnatura:7644-optimizedBarcode
verdnatura:InvoiceOut_Migration
verdnatura:6941-dmsHasFile
verdnatura:7736-Añadir-parámetro-itemFk-a-buyUltimate
verdnatura:hotfix-SuppliersList
verdnatura:hotfix_myEntries
verdnatura:hotfix_entry_getBuys_fields
verdnatura:7401-redirectRouteToLilium
verdnatura:7716-travel_setDelivered
verdnatura:7765-packingDefaultWeight
verdnatura:7126-improvedWaste
verdnatura:7648_myEntries
verdnatura:7752-fixSelect
verdnatura:7486-fixCollectionAssign
verdnatura:6403-removeConsoleLog
verdnatura:6403-feat-add-mrw-delete-on-salix
verdnatura:7642_createNewState
verdnatura:6861_reservas_retro
verdnatura:6802-Clientes-gestionados-por-equipos
verdnatura:7380_substitutionCondition
verdnatura:floranet240708
verdnatura:7648_warmFix_filterByFI
verdnatura:6436_jasmine_beforeAll
verdnatura:7654-entry_splitByShelving
verdnatura:7195_roadmap2
verdnatura:7580_setParking
verdnatura:7648_customerEntries
verdnatura:5447-TravelExtraCommunity
verdnatura:7377-deleteItems
verdnatura:7404-stockBuyed-refactor
verdnatura:6264_log_tmp_renewToken
verdnatura:6264_log_renewToken
verdnatura:7539_labelers_emergency
verdnatura:5576_CGI_imagenes
verdnatura:5576-reestructurar-directorio-imagenes
verdnatura:6744-hotfix-showChangePassword
verdnatura:5770_sambaGroups
verdnatura:warmfix-defaultersFilters
verdnatura:7563_report_PDF_HTML
verdnatura:4560-GastosReparto
verdnatura:7195_roadMaps
verdnatura:6753-TicketsSaveSign
verdnatura:7523--ledger_next-transacciones
verdnatura:6367-blankNotification
verdnatura:7144-diagnoseProductionFailure
verdnatura:7400-Contador-asientos-contables
verdnatura:5919-locker
verdnatura:7143-packing-clientes/proveedores
verdnatura:6739-transferInvoiceOut
verdnatura:178899-buy_beforeDelete
verdnatura:4074-download-user-ACL
verdnatura:6533_myLogger_model
verdnatura:7025-NotifyOnSave
verdnatura:6731-fixTicketRequestLog
verdnatura:6899-endInvoiceOutMigration
verdnatura:6974-fixComparativeLog
verdnatura:6641-checkboxMyTeam
verdnatura:5890-itemShelving_asignado
verdnatura:6021-fix-role-floranet
verdnatura:hotfixClientDisable
verdnatura:6493-refactorizar-procedimientos-vn2008-parte2
verdnatura:7124_autofocus_first_input
verdnatura:6276-nodifyNewWarehouse
verdnatura:6302-deleteTicketAfterAddTurn
verdnatura:6276_newWarehouse
verdnatura:6276-newWareshouse
verdnatura:7037-Añadir-vn.client.hasDailyInvoice
verdnatura:7004_hotFix_newSupplier
verdnatura:6372--Fix-tables
verdnatura:6387-addDepartmentToQueue
verdnatura:6987-addDeparmentExtension
verdnatura:6067-checking_boxes
verdnatura:5186-createParkingBack
verdnatura:6871-createMailAliasAndRedirection
verdnatura:6372-errors-test
verdnatura:6372-ExpenseManual-Error
verdnatura:6272-fixFiscal
verdnatura:6878-addManualTimeEntries
verdnatura:6372-Delete-views-from-vn2008
verdnatura:6531_showTickets
verdnatura:2687_travel_cloneWithEntries
verdnatura:5834-billingDataAutoFillBic
verdnatura:fixTestBack
verdnatura:6235-addDeviceWorkerTimeControl
verdnatura:6757-Modify-UPPER-supplier
verdnatura:6408_ricket_ticket_setState
verdnatura:6451_insomnia
verdnatura:5739-dockerRefactor
verdnatura:6489-authSupport
verdnatura:6656-workerTimeControlAcl
verdnatura:6656-hotfix-modifyWorkerTimeControlACL
verdnatura:6322-futureTicketImporte
verdnatura:6291-comprobarDNI
verdnatura:6280_consignee_postalCode
verdnatura:6587_dms_uploadFile_test
verdnatura:6456-refactor-ticketState
verdnatura:6172_transfer_ticket_message_error
verdnatura:2160_docuware_hasEditable
verdnatura:6398-fix
verdnatura:6028_routesbyWorker
verdnatura:6434-improve-signInLog
verdnatura:5914-warmFix-transferInvoice
verdnatura:6434-signInLog_improve
verdnatura:hotfix-ticketAddresFk
verdnatura:5633-accountShortToStandard
verdnatura:4515-itemWeight
verdnatura:4879-item-generic
verdnatura:4707-test-workerTimeControl
verdnatura:6287-Ticket.create-no-usarlo
verdnatura:4707-tests_workerTimeControl
verdnatura:5867-driverRoutePdf
verdnatura:5768-incoterms
verdnatura:5890-ItemShelvingSale_asignado
verdnatura:4671-Regularizar-el-calculo-de-los-componentes
verdnatura:6230-itemModifyBasicData
verdnatura:6067-accountPermisos
verdnatura:6194-goLabelLink
verdnatura:6132-modify-saveSign
verdnatura:5669-ticket.volume_fix
verdnatura:5881-fixDbChanges
verdnatura:hotfix_test_renewToken
verdnatura:3126-changes
verdnatura:6082-refactNav
verdnatura:1877-ticket_basic-data_update
verdnatura:1877-ticket_basic-data
verdnatura:5729-aumentarCredito
verdnatura:6043-fixeE2E
verdnatura:5947-worker_create
verdnatura:5888-address-autocomplete_component
verdnatura:hotfix_workCenter
verdnatura:5964-supplyValidation
verdnatura:5874-refactor_makeInvoice
verdnatura:5891_inventory_parking
verdnatura:4770-routes_roadmap
verdnatura:5295-notificarGerencia-itemCategory
verdnatura:hotfix_renewToken
verdnatura:warnfix_summaryTravel
verdnatura:4466-facturas-rectificativas
verdnatura:5739-refactor-dockerfile
verdnatura:5394-descriptor-popovers-logs
verdnatura:5691-route.index_sustituirUrlporData
verdnatura:5737-claimSales
verdnatura:5630-ticket.expedition_borrarEtiquetas
verdnatura:5160-backTest_jenkins2
verdnatura:5468-account.priveleges_conLasValidacionesQueJuanNoQuiere
verdnatura:5654-portesRecogida
verdnatura:5455-quitSkipsE2E
verdnatura:5160-backTest_jenkins
verdnatura:4764-abonoTicketService
verdnatura:5066-order-vehicle-by-warehouse
verdnatura:hotfix_arcRfid
verdnatura:5446-HOTFIX
verdnatura:5213-minorBugsAdministración
verdnatura:3946-permisos
verdnatura:5414-searchBar_deleteChips
verdnatura:4975-Send-in-upload-access
verdnatura:3074-invoiceIn-Tax-crear-total
verdnatura:5081-fix-sms-error-on-ticket
verdnatura:4825-intrastat
verdnatura:5001-nueva-notificación-cobros-web-perdidos
verdnatura:4943-closeTickets
verdnatura:4560-gastos-reparto
verdnatura:fix-invoiceIn
verdnatura:TEST_hotflix_backTest
verdnatura:print_vue3
verdnatura:MASTER_hotfix_deleteTrashFiles
verdnatura:dev_hotfix_updateDiscount
verdnatura:3557-Refactor-collectionFaults-into-collection_missingTrash
verdnatura:entry.buy_import_xls
verdnatura:#2570-entry-add-recalc
verdnatura:3868-secure_password_change
verdnatura:2268-db_instances
No reviewers
Labels
Milestone
Clear milestone
No items
No Milestone
Assignees
Clear assignees
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix#2037
Reference in New Issue
No description provided.
Delete Branch "6427_sms_resetPassword"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WIP: #6427 - SMS Recover Passwordto #6427 - SMS Recover Password@ -23,2 +24,3 @@
Self.recoverPassword = async function(user, app) {
const models = Self.app.models;
const usesPhone = new RegExp(/([+]\d{2})?\d{9}/, 'g').test(user);
const account = await Self.app.models.Application.rawSql(
Tabular segun la convencion de SQL y usar JOIN
@ -35,3 +33,3 @@
try {
await Self.resetPassword({email: user, emailTemplate: 'recover-password', app});
await Self.resetPassword({email, phone, emailTemplate: 'recover-password', app, usesPhone});
Yo igual usaria un único parametro que sea
userContact
o algo parecido. en vez de pasar email y phone@ -119,2 +119,4 @@
for (const param in options)
params[param] = options[param];
if (info.options?.usesPhone)
await Self.app.models.Sms.send({req: {accessToken: info.accessToken}}, +info.options.phone, params.url);
El
+
para que es?Y yo igual le pondria algo mas al SMS(params.url) no solo el link
@ -3068,2 +3068,4 @@
(2,'123456N','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',69,3,4,2,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
(3,'123456B','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet',567,5,6,69,'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet');
UPDATE `vn`.`client`
Mejor que poner update, si se pude poner, es modificar el insert de
client
o ponerlo cercaSi no luego es un lio ver de pq un cliente tiene x phone y no esta en el insert
@ -1,13 +1,28 @@
<h5 class="vn-mb-md vn-mt-lg" translate>Recover password</h5>
<vn-check
Igual pondría un radio button para que sepan que por defecto es email
Si pones radio button tienes que añadir otra opción y gestionar el estado, entonces con el checkbox, te aseguras que es true o false, y por tanto muestra el otro método o no
@ -8,3 +13,1 @@
class="text-secondary"
translate>
We will sent you an email to recover your password
<vn-textfield
No entiendo el poner 2 vn-textfields con ifs.
Con poner `label="User, phone, or recovery email" sobraria.
Y tampoco se si deberia poder poner numeros de telefono para decir que son ellos (lo consultaria con Juan)
El teléfono se usa para validar la acción de recuperar la contraseña. Porque puede darse el caso que el usuario ponga su id y no le esté llegando el SMS porque en algún momento se equivocó de teléfono.
Entonces podría poner tu id, y mi numero de teléfono y te podría cambiar la contraseña?
Lo que se hacia con el correo es apartir del correo sacar el id del usuario. Supongo que con el telefono sera igual
No podrías, porque tu pones el id de usuario y teléfono, y si ambos valores no existen, no te envía SMS. En local puedes probar con el userId:9 que tiene el teléfono "432978106"
El teléfono de recuperación solo lo puede cambiar quien es propietario del registro, ya que tiene una validación del id del registro contra el id del usuario logeado
Pero vamos, que yo podría estar contaminado con el desarrollo, y a lo mejor tu consigues bordear la restricción. si es así, repórtamelo, por favor.
@ -11,0 +17,4 @@
vn-focus>
</vn-textfield>
<div class="text-secondary">
<span ng-if="$ctrl.sms" translate>
Y aqui igual en vez de poner dos, pondria algo como. te enviaremos un mensaje por el tipo de envio elegido o algo asi
@ -10,6 +10,11 @@ export default class Controller {
$translate,
$state
});
$scope.$watch('$ctrl.user', function(nuevoValor) {
Esto cuando se usa??
#6427 - SMS Recover Passwordto WIP: #6427 - SMS Recover PasswordWIP: #6427 - SMS Recover Passwordto #6427 - SMS Recover PasswordFaltaria añadir tests a back/methods/vn-user/recover-passwordSMS.js
PD: Como esta en estado de analisis se deberia hacer cuando pase a nueva
@ -0,0 +37,4 @@
}
});
Self.recoverPasswordSMS = async function(ctx, id, phone, _otp, options) {
pq aqui es
_opt
pero en accepts esopt
?Usar
otp
Correcto, el nombre de la variable está obsoleto
Gracias
Lo cambio todo por code
pq aqui es
_opt
pero en accepts esopt
?Usar
otp
@ -0,0 +52,4 @@
where: {id, phone}
};
const user = await Self.findOne(query);
Pondria directamente aqui el filtro
❗Y las tareas en analisis NO se debe poner a nadie como revisor, dado que cuando pasan al estado analizado ya se revisa por javi/juan
Cierto, porque no esta en progreso ni en espera.
De echo voy a cambiar a WIP porque todavi lo tiene que revisar Juan
Gracias @alexm
#6427 - SMS Recover Passwordto WIP: #6427 - SMS Recover PasswordHas solicitado revision pero esta en WIP, la reviso??
WIP: #6427 - SMS Recover Passwordto #6427 - SMS Recover PasswordYo le daria una vuelta al codigo.
Lo que yo veo es que al querer recueperar contraseña debes poner tu usuario/correo (se podría añadir que tambien con telefono? @juan) que es con lo que te logeas.
Luego con checkbox/radio button seleccionas la opcion que quieres, telefono o email.
Y de ahi el mismo back que estaba. decide si llamar al que enviara un correo o al que te enviara un sms pero que te envie lo mismo (creo recordar que era un link, que puedes abrir igualmente en movil que en pc).
Y de ahi a cambiar la contraseña que como usa la misma funcionalidad que ya estaba no habria que tocar nada
#6427 - SMS Recover Passwordto WIP: #6427 - SMS Recover PasswordCambio a WIP porque voy a hacer una modificaciones visuales
@alexm El flujo para resetear por SMS está como dices, si quieres reservamos una hora y lo analizamos juntos
WIP: #6427 - SMS Recover Passwordto #6427 - SMS Recover PasswordVeo bastante raro el código, como no se si es esa la "forma" que se quiere, si puede revisar el flujo antes @juan mejor
#6427 - SMS Recover Passwordto WIP: #6427 - SMS Recover PasswordWIP: #6427 - SMS Recover Passwordto #6427 - SMS Recover Passwordque revise solo juan
Cuando puedas me dices y lo miramos/hablamos
@ -0,0 +58,4 @@
} catch (e) {
console.error(e);
}
// return response;
Eliminar linea comentada
@ -11,0 +31,4 @@
ng-model="$ctrl.method"
>
</vn-radio></vn-vertical
></vn-one>
Corregir tabulación
@ -30,0 +32,4 @@
label="Recovery phone"
ng-model="$ctrl.user.recoveryPhone"
disabled="$root.user.id !== $ctrl.user.id"
>
Corregir tabulación