Hello!, please help me!
What should I write to implement (forgotten password)?
I’ve added the ‘email’ package
accounts-base
accounts-password
accounts-ui // Does not appear (Forgot password?) Why?
Can you write me the code here?
Code:
loginRegister.js
Router.route("login", {
path: "/login"
});
Router.route("register", {
path: "/register"
});
Template.login.events({
'click #login': function() {
Meteor.loginWithPassword($("#email").val(), $("#password").val(), function(err) {
if(err) {
switch(err.error) {
case 400:
confirm("La preghiamo di riempire tutti i campi");
break;
case 403:
alert("Credenziali di login errate.");
break;
default:
alert("Errore generale. Per favore riportare l'erorre "+err.error+" a Omegasus Connect")
break;
}
}else
Router.go(Router.path("myZizool"));
});
}
});
function firstBig(x) {
if(x && x.length > 1) {
x = x.toLowerCase();
x = x.charAt(0).toUpperCase() + x.slice(1);
}
return x;
}
Template.register.events({
'click #register': function() {
var fields = [
"email",
"username",
"password",
"confirmPassword",
//"company",
"name",
"surname",
"address",
"zipcode",
"city",
"country",
"province",
"telephone",
"cf",
"cnIdentity",
"pIVA"
];
for(field in fields) {
if(fields[field] == "pIVA") {
if($("#company").val() != "" && $("#"+fields[field]).val() == "") {
alert("Hai inserito un Azienda, per favore indicare anche una Partita IVA");
return false;
}
}else if($("#"+fields[field]).val() == "") {
alert("Per favore riempire tutti i campi");
return false;
}
// TEST commit senza pass
}
if(!$("#privacy").is(":checked")) {
alert("Devi accettare l'Informativa sulla Privacy");
return false;
}
if(!$("#terms").is(":checked")) {
alert("Devi accettare i termini di servizio");
return false;
}
if($("#password").val() != $("#confirmPassword").val()) {
alert("Le password non corrispondono");
return false;
}
Accounts.createUser({
email: $("#email").val(),
username: $("#username").val(),
password: $("#password").val(),
profile: {
name: firstBig($("#shownName").val()),
company: firstBig($("#company").val()),
name: firstBig($("#name").val()),
surname: firstBig($("#surname").val()),
address: firstBig($("#address").val()),
zipcode: firstBig($("#zipcode").val()),
city: firstBig($("#city").val()),
country: firstBig($("#country").val()),
province: firstBig($("#province").val()),
telephone: $("#countryCode").val()+$("#telephone").val(),
cf: firstBig($("#cf").val()),
pIVA: firstBig($("#pIVA").val())
}
}, function(err) {
if(err) {
switch(err.error) {
case 403:
switch(err.reason) {
case "Email already exists.":
alert("Email gia esistente");
break;
case "Username already exists.":
alert("Username gia esistente");
break;
}
break;
default:
alert("Errore generale. Per favore riportare l'erorre "+err.error+" a Omegasus Connect");
break;
}
}else
Router.go(Router.path("verify"))
});
}
});
Run an HTML template like this?
<template name="recoverPassword">
<div class="main-page">
<div class="profile-container">
<center>
<div id="warning"></div>
<div id="success"></div>
{{#if resetPassword}}
<form id="resetPasswordForm" method="post">
<input id="resetPasswordPassword" name="password" placeholder="New Password" type="password" >
<input id="resetPasswordPasswordConfirm" name="password-confirm" placeholder="Confirm" type="password" >
<input class="btn-submit" type="submit" value="Reset">
</form>
{{else}}
<form id="sendEmail">
<div class="log-classic">
<div class="show-no-error">
<input class="log-upper-box" type="email" id="recover-email" placeholder='{{_ "global.emailHolder"}}' required>
</div>
<div class="bt-act-in">
<input type="submit" class="btn bt-signin" value="{{_ "recover.sendMail"}}"/>
</div>
</div>
</form>
{{/if}}
</center>
</div>
</div>
</template>
smtp.js
// server/smtp.js
Meteor.startup(function () {
smtp = {
username: 'novimar.net@gmail.com', // eg: server@gentlenode.com
password: 'XXXXXXXXX', // eg: 3eeP1gtizk5eziohfervU
server: 'smtp.gmail.com', // eg: mail.gandi.net
port: 25
}
process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port;
});