Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
yotta
/
pictogram
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
60
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
849161fa
authored
Dec 10, 2016
by
Arturo Montejo Ráez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
working on issue
parent
4ba9dd64
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
95 additions
and
5 deletions
sails/src/api/controllers/SupervisorController.js
sails/src/assets/app/i18n/en-gb.json
sails/src/assets/app/i18n/es-es.json
sails/src/config/locales/en-gb.json
sails/src/config/locales/es-es.json
sails/src/config/policies.js
sails/src/config/routes.js
sails/src/views/passwordChanged.ejs
sails/src/api/controllers/SupervisorController.js
View file @
849161fa
...
...
@@ -114,10 +114,9 @@ module.exports = {
* Activate the user account specified
* @param {request} req
* {
* "code": "12398123" // Validation code sent to the user's email
* "email": "email@email.com" // User's email to be activated
* "token": "12398123aas78sf798as7d987234" // Encryted code with supervisor ID
* }
* @param {response}
res
* @param {response}
login view
* {
* "user": {
* "id": 1234,
...
...
@@ -265,6 +264,65 @@ module.exports = {
}
},
/*
* Sends email with link to change password
*/
request_change_password
:
function
(
req
,
res
)
{
var
params
=
req
.
params
.
all
();
if
(
!
params
.
email
)
return
res
.
badRequest
(
"Invalid email"
);
Supervisor
.
findOne
({
email
:
params
.
email
,
active
:
1
})
.
then
(
function
(
sup
)
{
// Send email
var
message
=
sails
.
__
({
phrase
:
'change_password_mail'
,
locale
:
params
.
lang
||
'es-es'
})
+
'https://'
+
req
.
headers
.
host
+
'/sup/changepass/'
+
sailsTokenAuth
.
issueToken
(
supervisor
.
id
,
60
*
24
*
7
);
// expires in 1 week
sails
.
log
.
debug
(
"Sending request email: \n"
+
message
);
mailService
.
mailer
()
.
send
({
to
:
params
.
email
,
text
:
message
})
.
then
(()
=>
{
res
.
ok
();
})
.
catch
((
err
)
=>
{
res
.
serverError
(
"Mail could not be sent "
+
err
);
});
})
.
catch
((
err
)
=>
{
res
.
serverError
(
"Supervisor not found or account not activated: "
+
err
);
});
},
/*
* Receives a change password request and returns email
*/
change_password
:
function
(
req
,
res
)
{
if
(
!
req
.
params
.
token
)
return
res
.
badRequest
(
"Invalid URL"
);
sailsTokenAuth
.
verifyToken
(
req
.
params
.
token
,
function
(
err
,
token
)
{
if
(
err
)
return
res
.
badRequest
(
"Invalid token"
);
Supervisor
.
findOne
(
token
).
then
(
function
(
supervisor
)
{
if
(
!
supervisor
)
throw
new
Error
(
"Error when looking for user"
);
supervisor
.
password
=
req
.
params
.
password
;
supervisor
.
save
();
return
res
.
view
(
'passwordChanged'
,
{
sup
:
supervisor
,
login_url
:
'https://'
+
req
.
headers
.
host
+
'/app'
});
})
.
catch
(
function
(
err
)
{
return
res
.
serverError
(
"Error when activating account "
+
err
);
});
});
},
/**
* Updates an existing supervisor instance
* @param {request} req At least with one of these elements:
...
...
sails/src/assets/app/i18n/en-gb.json
View file @
849161fa
...
...
@@ -181,6 +181,7 @@
"pages"
:
"Pages"
,
"password"
:
"Password"
,
"password_confirm"
:
"Repeat password"
,
"password_forgotten"
:
"Have you forgotten your password?"
,
"password_match"
:
"The passwords must match"
,
"password_new_type"
:
"Type the new password"
,
"password_short"
:
"Password must have {{minlength}} characters length at least"
,
...
...
sails/src/assets/app/i18n/es-es.json
View file @
849161fa
...
...
@@ -181,6 +181,7 @@
"pages"
:
"Páginas"
,
"password"
:
"Contraseña"
,
"password_confirm"
:
"Repita la contraseña"
,
"password_forgotten"
:
"¿Ha olvidado su contraseña?"
,
"password_match"
:
"Las contraseñas deben coincidir"
,
"password_new_type"
:
"Escriba la nueva contraseña"
,
"password_type"
:
"Escriba la contraseña"
,
...
...
sails/src/config/locales/en-gb.json
View file @
849161fa
...
...
@@ -2,5 +2,6 @@
"Welcome"
:
"Welcome"
,
"A brand new app."
:
"A brand new app."
,
"notification_from_pictogram"
:
"Notification from Pictogram"
,
"signin_mail"
:
"To activate your Pictogram account, click on this link:
\n
"
"signin_mail"
:
"To activate your Pictogram account, click on this link:
\n
"
,
"change_password_mail"
:
"To change your password, please click on the following link:
\n
"
}
sails/src/config/locales/es-es.json
View file @
849161fa
...
...
@@ -2,5 +2,6 @@
"Welcome"
:
"Bienvenido"
,
"A brand new app."
:
"Una aplicación de la nueva marca."
,
"notification_from_pictogram"
:
"Notificación desde Pictogram"
,
"signin_mail"
:
"Para activar su cuenta en Pictogram, haga click en el siguiente enlace:
\n
"
"signin_mail"
:
"Para activar su cuenta en Pictogram, haga click en el siguiente enlace:
\n
"
,
"change_password_mail"
:
"Para cambiar su contraseña, haga click en el siguiente enlace:
\n
"
}
sails/src/config/policies.js
View file @
849161fa
...
...
@@ -119,6 +119,8 @@ module.exports.policies = {
update
:
[
'tokenAuth'
],
create
:
true
,
login
:
true
,
change_password
:
true
,
request_change_password
:
true
,
activate
:
true
,
upload
:
[
'tokenAuth'
],
subscribe
:
[
'tokenAuth'
],
...
...
sails/src/config/routes.js
View file @
849161fa
...
...
@@ -106,6 +106,8 @@ module.exports.routes = {
'POST /sup'
:
'SupervisorController.create'
,
'POST /sup/login'
:
'SupervisorController.login'
,
'GET /sup/activate/:token'
:
'SupervisorController.activate'
,
'GET /sup/changepass'
:
'SupervisorController.request_change_password'
,
'GET /sup/changepass/:token'
:
'SupervisorController.change_password'
,
'POST /sup/upload'
:
'SupervisorController.upload'
,
'POST /sup/subscribe'
:
'SupervisorController.subscribe'
,
'POST /sup/unsubscribe'
:
'SupervisorController.unsubscribe'
,
...
...
sails/src/views/passwordChanged.ejs
0 → 100644
View file @
849161fa
<!doctype html>
<html
lang=
"es"
>
<head>
<meta
charset=
"utf-8"
>
<title>
Pictogram Dashboard
</title>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1"
>
<link
rel=
"stylesheet"
href=
"/app/css/main.css"
>
</head>
<body>
<img
title=
"Pictogram"
alt=
"Pictogram"
src=
"/app/img/logo_pictogram.png"
>
<p><strong>
Password changed
</strong></p>
<p>
Dear
<
%=
sup
.
name
%
>
},
</p>
<p>
Your password has been updated, so you can proceed and use it to
<a
href=
"<%= login_url %>"
>
login
</a>
.
</p>
<p></p>
<p><strong>
Clave de acceso modificada
</strong></p>
<p>
Estimado
<
%=
sup
.
name
%
>
},
</p>
<p>
Su clave ha sido modificada, por lo que puede usarla para
<a
href=
"<%= login_url %>"
>
acceder
</a>
.
</p>
</body>
</html>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment