Commit 0d43cf5f by Arturo Montejo Ráez

Merge branch 'develop' of http://gitlab.ujaen.es/yotta/pictogram into develop

parents 2c9a01b0 288b6ee8
...@@ -5,7 +5,7 @@ buildscript { ...@@ -5,7 +5,7 @@ buildscript {
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:2.3.0' classpath 'com.android.tools.build:gradle:2.3.1'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
......
...@@ -78,7 +78,7 @@ public final class PCBcontext { ...@@ -78,7 +78,7 @@ public final class PCBcontext {
public void change(User updatedStudent) { public void change(User updatedStudent) {
PCBcontext.getDevice().insertUser(updatedStudent); PCBcontext.getDevice().insertUser(updatedStudent);
if (updatedStudent.is_picto_size_big()!=getPcbdb().getCurrentUser().is_picto_size_big() || updatedStudent.has_categories()!=getPcbdb().getCurrentUser().has_categories()) if (updatedStudent.is_picto_size_big()!=getPcbdb().getCurrentUser().is_picto_size_big() || updatedStudent.has_categories()!=getPcbdb().getCurrentUser().has_categories())
PCBcontext.getNetService().restart_app(true); PCBcontext.getNetService().restart_app(false);
else { else {
PCBcontext.getPcbdb().setCurrentUser(updatedStudent); PCBcontext.getPcbdb().setCurrentUser(updatedStudent);
PCBcontext.getNetService().getNetServiceDevice().updateUserConfig(updatedStudent); PCBcontext.getNetService().getNetServiceDevice().updateUserConfig(updatedStudent);
......
...@@ -10,7 +10,6 @@ import android.content.DialogInterface; ...@@ -10,7 +10,6 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.PixelFormat; import android.graphics.PixelFormat;
import android.graphics.Point;
import android.media.Ringtone; import android.media.Ringtone;
import android.media.RingtoneManager; import android.media.RingtoneManager;
import android.net.Uri; import android.net.Uri;
...@@ -538,7 +537,7 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab ...@@ -538,7 +537,7 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab
} }
} else { } else {
if (p.getFreeColumn() != -1 && p.getFreeRow() != -1 if (p.getFreeColumn() != -1 && p.getFreeRow() != -1
&& p.get_column() < maxRows && p.get_row() < maxColumns) { && p.getFreeColumn() < maxRows && p.getFreeRow() < maxColumns) {
mp[p.getFreeColumn()][p.getFreeRow()] = p; mp[p.getFreeColumn()][p.getFreeRow()] = p;
} }
} }
...@@ -869,7 +868,8 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab ...@@ -869,7 +868,8 @@ public class PictogramActivity extends Activity implements VocabularyTalk.iVocab
if (p == null) { if (p == null) {
// No tengo pictograma. Abro una nueva ventana de selección desde el Carrete del device si no es categoria // No tengo pictograma. Abro una nueva ventana de selección desde el Carrete del device si no es categoria
if (getCurrentCategory() != null || !PCBcontext.getPcbdb().getCurrentUser().has_categories()) { if (getCurrentCategory() != null || !PCBcontext.getPcbdb().getCurrentUser().has_categories()) {
new PictoMenu(PictogramActivity.this).createMenuForNewPicto(position % maxColumns, (int) (position / maxColumns), currentCategory.get_id()); int cat = getCurrentCategory() != null ? currentCategory.get_id() : Picto.NO_CATEGORY;
new PictoMenu(PictogramActivity.this).createMenuForNewPicto(position % maxColumns, (int) (position / maxColumns), cat);
} else } else
Toast.makeText(PictogramActivity.this, PictogramActivity.this.getResources().getString(R.string.notNewCats), Toast.LENGTH_SHORT).show(); Toast.makeText(PictogramActivity.this, PictogramActivity.this.getResources().getString(R.string.notNewCats), Toast.LENGTH_SHORT).show();
......
...@@ -76,6 +76,7 @@ public class SessionActivity extends FragmentActivity implements ListInstruction ...@@ -76,6 +76,7 @@ public class SessionActivity extends FragmentActivity implements ListInstruction
SessionWrapper.evaluateTry(currentMsgId, msg_pos==this.msgs.size()-1, evaluation_value, new SessionWrapper.iTryUpdated() { SessionWrapper.evaluateTry(currentMsgId, msg_pos==this.msgs.size()-1, evaluation_value, new SessionWrapper.iTryUpdated() {
@Override @Override
public void update(int next_try_id) { public void update(int next_try_id) {
addLogMsg("añadiendo "+ sessionFragment.get_current_msg_text()+".");
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),evaluation_bitmap); Bitmap bitmap = BitmapFactory.decodeResource(getResources(),evaluation_bitmap);
sessionFragment.evaluateMsg(bitmap,getString(evaluation_translation),msg_pos); sessionFragment.evaluateMsg(bitmap,getString(evaluation_translation),msg_pos);
addLogMsg("#"+(msg_pos<9 ? "0" : "")+(msg_pos+1)+sessionFragment.get_msg_text(msg_pos)); addLogMsg("#"+(msg_pos<9 ? "0" : "")+(msg_pos+1)+sessionFragment.get_msg_text(msg_pos));
......
...@@ -98,6 +98,6 @@ public class NetServiceTablet implements NetService.iNetServiceDevice { ...@@ -98,6 +98,6 @@ public class NetServiceTablet implements NetService.iNetServiceDevice {
} }
public void setPictogramActivity(PictogramActivity pictogramActivity) {this.pictogramActivity=pictogramActivity;} public void setPictogramActivity(PictogramActivity pictogramActivity) {this.pictogramActivity=pictogramActivity;}
public void updateUserConfig(User user) { public void updateUserConfig(User user) {
this.pictogramActivity.setConfig(); if (this.pictogramActivity!=null) this.pictogramActivity.setConfig();
} }
} }
...@@ -97,27 +97,28 @@ ...@@ -97,27 +97,28 @@
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="support-v4-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-v4-24.2.1" level="project" />
<orderEntry type="library" exported="" name="support-compat-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-compat-24.2.1" level="project" />
<orderEntry type="library" exported="" name="support-media-compat-24.2.1" level="project" />
<orderEntry type="library" exported="" name="animated-vector-drawable-24.2.1" level="project" /> <orderEntry type="library" exported="" name="animated-vector-drawable-24.2.1" level="project" />
<orderEntry type="library" exported="" name="support-fragment-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-fragment-24.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-base-9.2.1" level="project" />
<orderEntry type="library" exported="" name="androidasync-2.1.9" level="project" />
<orderEntry type="library" exported="" name="play-services-clearcut-9.2.1" level="project" />
<orderEntry type="library" exported="" name="android-gif-drawable-1.1.7" level="project" />
<orderEntry type="library" exported="" name="support-v4-23.0.0" level="project" />
<orderEntry type="library" exported="" name="support-media-compat-24.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-gcm-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-gcm-9.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-auth-base-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-auth-base-9.2.1" level="project" />
<orderEntry type="library" exported="" name="support-core-ui-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-core-ui-24.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-base-9.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-gass-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-gass-9.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-iid-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-iid-9.2.1" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-24.2.1" level="project" /> <orderEntry type="library" exported="" name="appcompat-v7-24.2.1" level="project" />
<orderEntry type="library" exported="" name="support-vector-drawable-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-vector-drawable-24.2.1" level="project" />
<orderEntry type="library" exported="" name="support-core-utils-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-core-utils-24.2.1" level="project" />
<orderEntry type="library" exported="" name="androidasync-2.1.9" level="project" />
<orderEntry type="library" exported="" name="play-services-clearcut-9.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-basement-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-basement-9.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-tasks-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-tasks-9.2.1" level="project" />
<orderEntry type="library" exported="" name="support-annotations-24.2.1" level="project" /> <orderEntry type="library" exported="" name="support-annotations-24.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-auth-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-auth-9.2.1" level="project" />
<orderEntry type="library" exported="" name="play-services-ads-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-ads-9.2.1" level="project" />
<orderEntry type="library" exported="" name="ion-2.1.9" level="project" /> <orderEntry type="library" exported="" name="ion-2.1.9" level="project" />
<orderEntry type="library" exported="" name="support-v4-23.0.0" level="project" />
<orderEntry type="library" exported="" name="play-services-ads-lite-9.2.1" level="project" /> <orderEntry type="library" exported="" name="play-services-ads-lite-9.2.1" level="project" />
<orderEntry type="module" module-name="commonlibrary" exported="" /> <orderEntry type="module" module-name="commonlibrary" exported="" />
<orderEntry type="library" exported="" name="android-android-24" level="project" /> <orderEntry type="library" exported="" name="android-android-24" level="project" />
......
...@@ -130,7 +130,7 @@ module.exports = { ...@@ -130,7 +130,7 @@ module.exports = {
"tape_background": "#00ffff", "tape_background": "#00ffff",
"delivery": 0 "delivery": 0
} }
} }
*/ */
getInfo: function (req, res) { getInfo: function (req, res) {
Student.findOne({id: req.params.id_stu}) Student.findOne({id: req.params.id_stu})
...@@ -1186,6 +1186,76 @@ module.exports = { ...@@ -1186,6 +1186,76 @@ module.exports = {
}); });
}, },
/**
* Upload a custom sound associated to a picto
* @param {request} req
* id_sup,
* id_picto,
*
* @param {response} res
* {
* id: <stu_picto ID>,
* student: <student ID>,
* attributes: {
* id_cat: categoryId or null,
* coord_x: 1 .. 5 or null,
* coord_y: 1 .. 10 or null,
* free_category_coord_x: 0 .. 4 or null,
* free_category_coord_y: 0 .. 9 or null,
* status: '[invisible]/enabled/disabled',
* highlight: true/[false],
* color: any valid HEX color or [null],
* expression: 'custom expression',
* legend: true/[false],
* uri_sound: 'path of sound associated',
* user_avatar:
* },
* picto: {
* id: <pictoID>,
* source: <sourceID>,
* owner: <ownerID> or null,
* id: <pictoID>,
* uri: <URL to image>,
* category: <categoryID>
* }
* }
* }
*/
upload_sound: function (req, res) {
console.log("sup id: " + req.params.id_supervisor );
Supervisor.findOne({ id: req.params.id_supervisor }).then(function (supervisor) {
var soundFileName;
var soundDirectory = sails.config.pictogram.paths.pictoSoundDirectory;
if (!supervisor)
throw new Error("No supervisor found");
soundFileName = sails.config.pictogram.paths.getSupervisorCustomPictoSoundFilename(supervisor.id);
req.file('file').upload({
maxBytes: 1048576,
dirname: soundDirectory,
saveAs: soundFileName
},function whenDone(err, uploadedFiles) {
var fs = require('fs');
if (err || (uploadedFiles.length === 0))
return res.serverError("Error uploading " + err ? err : "");
StuPicto.findOne({ id: req.body.id})
.then(picto => {
return res.ok(picto);
})
.catch(err => {
fs.unlink(uploadedFiles[0].fd);
return res.serverError("Error uploading " + err);
});
});
})
.catch(function (err) {
return res.serverError("Error uploading sound: " + err);
});
},
// *************************************************************** // ***************************************************************
// WEBSOCKETS // WEBSOCKETS
// *************************************************************** // ***************************************************************
......
...@@ -591,7 +591,7 @@ module.exports = { ...@@ -591,7 +591,7 @@ module.exports = {
PictoExp.findOne({id_pic: sp.picto.id, lang: sp.student.lang}) PictoExp.findOne({id_pic: sp.picto.id, lang: sp.student.lang})
.then(pe => { .then(pe => {
if (typeof sp.attributes.expression == 'undefined' || sp.attributes.expression == null) if (typeof sp.attributes.expression == 'undefined' || sp.attributes.expression == null)
sp.attributes.expression = pe.text; sp.attributes.expression = pe.text;
sp.student = sp.student.id; sp.student = sp.student.id;
delete sp.picto.expressions; delete sp.picto.expressions;
cb(null,sp); cb(null,sp);
......
...@@ -51,10 +51,10 @@ dashboardControllers.controller('AddPictoCtrl', function ( ...@@ -51,10 +51,10 @@ dashboardControllers.controller('AddPictoCtrl', function (
var request = ""; var request = "";
if(categoryId == 0){ if(categoryId == 0){
//Request page X from all pictos (symbolstx) //Request page X from all pictos (symbolstx)
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang +
'/pic_fromSymbolStx/page/'+$scope.page+'/limit/'+$scope.limit; '/pic_fromSymbolStx/page/'+$scope.page+'/limit/'+$scope.limit;
}else{ }else{
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang +
'/pic_fromCatSubcat/category/'+categoryId+'/page/'+$scope.page+'/limit/'+$scope.limit; '/pic_fromCatSubcat/category/'+categoryId+'/page/'+$scope.page+'/limit/'+$scope.limit;
} }
$http.get(request) $http.get(request)
...@@ -96,7 +96,7 @@ dashboardControllers.controller('AddPictoCtrl', function ( ...@@ -96,7 +96,7 @@ dashboardControllers.controller('AddPictoCtrl', function (
var request = ""; var request = "";
//Request page X from all pictos (symbolstx) //Request page X from all pictos (symbolstx)
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang +
'/pic_fromArasaac/page/'+$scope.page+'/limit/'+$scope.limit; '/pic_fromArasaac/page/'+$scope.page+'/limit/'+$scope.limit;
$http.get(request) $http.get(request)
...@@ -142,7 +142,7 @@ dashboardControllers.controller('AddPictoCtrl', function ( ...@@ -142,7 +142,7 @@ dashboardControllers.controller('AddPictoCtrl', function (
// //
$scope.load_category = function (categoryId){ $scope.load_category = function (categoryId){
$scope.page = 1; $scope.page = 1;
$http.get(config.backend+'/sup/'+ supervisor.id +'/pic_categories/' + categoryId) $http.get(config.backend + '/picto/' + student.lang + '/pic_categories/' + categoryId)
.success(function(data, status, headers, config) { .success(function(data, status, headers, config) {
// Add to list // Add to list
if (data && $scope.source == 'symbolstx'){ if (data && $scope.source == 'symbolstx'){
...@@ -335,16 +335,16 @@ dashboardControllers.controller('AddPictoCtrl', function ( ...@@ -335,16 +335,16 @@ dashboardControllers.controller('AddPictoCtrl', function (
if($scope.source == "symbolstx"){ if($scope.source == "symbolstx"){
if($scope.breadcrumbs.length == 1) { if($scope.breadcrumbs.length == 1) {
//Request page X from all pictos (symbolstx) //Request page X from all pictos (symbolstx)
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang +
'/pic_fromSymbolStx/page/'+$scope.page+'/limit/'+$scope.limit; '/pic_fromSymbolStx/page/'+$scope.page+'/limit/'+$scope.limit;
}else{ }else{
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang +
'/pic_fromCatSubcat/category/'+$scope.breadcrumbs[$scope.breadcrumbs.length-1].id '/pic_fromCatSubcat/category/'+$scope.breadcrumbs[$scope.breadcrumbs.length-1].id
+'/page/'+$scope.page+'/limit/'+$scope.limit; +'/page/'+$scope.page+'/limit/'+$scope.limit;
} }
}else if($scope.source == "arasaac"){ }else if($scope.source == "arasaac"){
//Request page X from all pictos (symbolstx) //Request page X from all pictos (symbolstx)
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang +
'/pic_fromArasaac/page/'+$scope.page+'/limit/'+$scope.limit; '/pic_fromArasaac/page/'+$scope.page+'/limit/'+$scope.limit;
} }
...@@ -399,7 +399,7 @@ dashboardControllers.controller('AddPictoCtrl', function ( ...@@ -399,7 +399,7 @@ dashboardControllers.controller('AddPictoCtrl', function (
}else if($scope.source == "arasaac"){ }else if($scope.source == "arasaac"){
source = 3; source = 3;
} }
request = config.backend + '/sup/' + supervisor.id + request = config.backend + '/picto/' + student.lang + '/' + supervisor.id +
'/pic_fromSearch/'+$scope.srch_term_picto+'/category/'+category+ '/pic_fromSearch/'+$scope.srch_term_picto+'/category/'+category+
'/source/'+source; '/source/'+source;
......
...@@ -55,6 +55,7 @@ module.exports.pictogram = { ...@@ -55,6 +55,7 @@ module.exports.pictogram = {
supervisorAvatarDirectory: path.join(UPLOAD_PATH, 'supervisorAvatar'), supervisorAvatarDirectory: path.join(UPLOAD_PATH, 'supervisorAvatar'),
studentAvatarDirectory: path.join(UPLOAD_PATH, 'studentAvatar'), studentAvatarDirectory: path.join(UPLOAD_PATH, 'studentAvatar'),
supervisorCustomPictoDirectory: path.join(UPLOAD_PATH, 'supervisorCustomPicto'), supervisorCustomPictoDirectory: path.join(UPLOAD_PATH, 'supervisorCustomPicto'),
pictoSoundDirectory: path.join(UPLOAD_PATH, 'pictoSound'),
/** /**
* Get a random name used for uploaded file names * Get a random name used for uploaded file names
...@@ -74,6 +75,18 @@ module.exports.pictogram = { ...@@ -74,6 +75,18 @@ module.exports.pictogram = {
.replace(/\W/g, '') + ".jpg"; .replace(/\W/g, '') + ".jpg";
}, },
_getRandomSoundFileName: function (randomString, randomNumber) {
var bcrypt = require('bcrypt-nodejs');
var randomDate = (new Date())
.getTime();
var randomFloat = Math.random();
return bcrypt.hashSync(
[randomString, randomDate, randomNumber, randomFloat].join(''),
bcrypt.genSaltSync()
)
.replace(/\W/g, '') + "_sound.mp3";
},
/** /**
* Gets the supervisor avatar filename * Gets the supervisor avatar filename
* @param {supervisorId} supervisorId * @param {supervisorId} supervisorId
...@@ -108,9 +121,21 @@ module.exports.pictogram = { ...@@ -108,9 +121,21 @@ module.exports.pictogram = {
'SUPERVISOR_CUSTOM_PICTO', 'SUPERVISOR_CUSTOM_PICTO',
supervisorId supervisorId
); );
},
/**
* Gets the supervisor custom picto filename
* @param {supervisorId} supervisorId supervisorId
* @return {string} fileName
*/
getSupervisorCustomPictoSoundFilename: function (supervisorId) {
return sails.config.pictogram.paths._getRandomSoundFileName(
'SUPERVISOR_CUSTOM_PICTO',
supervisorId
);
} }
}, },
// TODO: errores should have a code (number) and a name (string) like "TokenExpired", "UserNotFound"... // TODO: errores should have a code (number) and a name (string) like "TokenExpired", "UserNotFound"...
error_codes: { error_codes: {
'DUPLICATED_PICTO': 1, 'DUPLICATED_PICTO': 1,
......
...@@ -105,6 +105,7 @@ module.exports.policies = { ...@@ -105,6 +105,7 @@ module.exports.policies = {
login: true, login: true,
create: ['tokenAuth', 'isSupAdmin'], create: ['tokenAuth', 'isSupAdmin'],
upload: ['tokenAuth'], upload: ['tokenAuth'],
upload_sound: ['tokenAuth', 'isSupervisorOfStudent'],
add_picto: ['tokenAuth', 'isSupervisorOfStudent'], add_picto: ['tokenAuth', 'isSupervisorOfStudent'],
subscribe: ['tokenAuth'], subscribe: ['tokenAuth'],
unsubscribe: true, unsubscribe: true,
......
...@@ -59,6 +59,13 @@ module.exports.routes = { ...@@ -59,6 +59,13 @@ module.exports.routes = {
'GET /office/get/:id': 'OfficeController.get', 'GET /office/get/:id': 'OfficeController.get',
'GET /office/get/:id/supervisors': 'OfficeController.supervisors', 'GET /office/get/:id/supervisors': 'OfficeController.supervisors',
'GET /picto/:lang/pic_categories/:id_cat': 'PictoController.categories',
'GET /picto/:lang/pic_fromcategory/:id_cat': 'PictoController.fromcategory',
'GET /picto/:lang/pic_fromSymbolStx/page/:page/limit/:limit': 'PictoController.fromSymbolStx',
'GET /picto/:lang/pic_fromArasaac/page/:page/limit/:limit': 'PictoController.fromArasaac',
'GET /picto/:lang/pic_fromCatSubcat/category/:id_cat/page/:page/limit/:limit': 'PictoController.fromCatSubcat',
'GET /picto/:lang/:id_sup/pic_fromSearch/:text/category/:id_cat/source/:source': 'PictoController.fromSearch',
'POST /picto/upload': 'PictoController.upload', 'POST /picto/upload': 'PictoController.upload',
'POST /picto/tag': 'PictoController.add_tag', 'POST /picto/tag': 'PictoController.add_tag',
'POST /picto/exp': 'PictoController.change_exp', 'POST /picto/exp': 'PictoController.change_exp',
...@@ -74,6 +81,7 @@ module.exports.routes = { ...@@ -74,6 +81,7 @@ module.exports.routes = {
'GET /stu/:id_stu/tutors': 'StudentController.tutors', 'GET /stu/:id_stu/tutors': 'StudentController.tutors',
'POST /stu/:id_stu/sup/:id_sup': 'StudentController.link_supervisor', 'POST /stu/:id_stu/sup/:id_sup': 'StudentController.link_supervisor',
'GET /stu/:id_stu/pictos': 'StudentController.pictos', 'GET /stu/:id_stu/pictos': 'StudentController.pictos',
'GET /stu/:id_stu/methods': 'StudentController.methods', 'GET /stu/:id_stu/methods': 'StudentController.methods',
'GET /stu/:id_stu/lasttries': 'StudentController.lasttries', 'GET /stu/:id_stu/lasttries': 'StudentController.lasttries',
'GET /stu/:id_stu/tries': 'StudentController.tries', 'GET /stu/:id_stu/tries': 'StudentController.tries',
...@@ -87,6 +95,7 @@ module.exports.routes = { ...@@ -87,6 +95,7 @@ module.exports.routes = {
'POST /stu/login': 'StudentController.login', 'POST /stu/login': 'StudentController.login',
'POST /stu': 'StudentController.create', 'POST /stu': 'StudentController.create',
'POST /stu/upload': 'StudentController.upload', 'POST /stu/upload': 'StudentController.upload',
'POST /stu/:id_sup/upload/:id_picto': 'StudentController.upload_sound',
'POST /stu/:id_stu/picto/:id_picto': 'StudentController.add_picto', 'POST /stu/:id_stu/picto/:id_picto': 'StudentController.add_picto',
'POST /stu/subscribe': 'StudentController.subscribe', 'POST /stu/subscribe': 'StudentController.subscribe',
'POST /stu/unsubscribe': 'StudentController.unsubscribe', 'POST /stu/unsubscribe': 'StudentController.unsubscribe',
...@@ -104,12 +113,7 @@ module.exports.routes = { ...@@ -104,12 +113,7 @@ module.exports.routes = {
'GET /sup/all': 'SupervisorController.list', 'GET /sup/all': 'SupervisorController.list',
'GET /sup/:id/students': 'SupervisorController.students', 'GET /sup/:id/students': 'SupervisorController.students',
'GET /sup/:id/pictos': 'SupervisorController.pictos', 'GET /sup/:id/pictos': 'SupervisorController.pictos',
'GET /sup/:id/pic_categories/:id_cat': 'PictoController.categories',
'GET /sup/:id/pic_fromcategory/:id_cat': 'PictoController.fromcategory',
'GET /sup/:id/pic_fromSymbolStx/page/:page/limit/:limit': 'PictoController.fromSymbolStx',
'GET /sup/:id/pic_fromArasaac/page/:page/limit/:limit': 'PictoController.fromArasaac',
'GET /sup/:id/pic_fromCatSubcat/category/:id_cat/page/:page/limit/:limit': 'PictoController.fromCatSubcat',
'GET /sup/:id/pic_fromSearch/:text/category/:id_cat/source/:source': 'PictoController.fromSearch',
'GET /sup/email/:email': 'SupervisorController.getByEmail', 'GET /sup/email/:email': 'SupervisorController.getByEmail',
'GET /sup/changepass/:email': 'SupervisorController.request_change_password', 'GET /sup/changepass/:email': 'SupervisorController.request_change_password',
'GET /sup/arasaac_license/:id': 'SupervisorController.accept_arasaac', 'GET /sup/arasaac_license/:id': 'SupervisorController.accept_arasaac',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment