188 lines
6.5 KiB
JavaScript
188 lines
6.5 KiB
JavaScript
/**
|
|
* Created by Denis on 19/06/2014.
|
|
*/
|
|
define(['jquery', 'backbone'],
|
|
function($, Backbone){
|
|
|
|
var Profile = {
|
|
|
|
_loadme:function(){
|
|
if(this.isConnected()) {
|
|
if (this.data.type == null)
|
|
this.loadProfile();
|
|
}
|
|
return this;
|
|
},
|
|
|
|
dataloaded: false,
|
|
|
|
data: {
|
|
"name": null,
|
|
"email": null,
|
|
"gender":null,
|
|
"tema": 'b',
|
|
"risRic": '10',
|
|
"type": null
|
|
},
|
|
|
|
isConnected: function(){
|
|
return this.getKeySave() != "null" &&
|
|
this.getKeySave() != null &&
|
|
this.getKeySave() != "undefined" &&
|
|
this.getKeySave() != undefined;
|
|
},
|
|
|
|
loadProfile:function(successFn) {
|
|
this.internalLoadProfile(this.getKeySave(), successFn);
|
|
},
|
|
|
|
internalLoadProfile:function(keyStore, successFn){
|
|
if(this.dataloaded)
|
|
return;
|
|
//var keyStore = this.getKeySave();
|
|
var self = this;
|
|
var retBool = false;
|
|
var resp = $.ajax({
|
|
url: myManifest.Settings.DefaultURL + "/api/profile/" + keyStore,
|
|
//dataType: "json",
|
|
async: false,
|
|
type: 'GET'
|
|
}).responseText;
|
|
|
|
var response = JSON.parse(resp);
|
|
if(response.length > 0)
|
|
{
|
|
self.dataloaded = true;
|
|
self.setKeySave(keyStore);
|
|
self.data.name = response[0].Name;
|
|
self.data.gender = response[0].Gender;
|
|
self.data.tema = response[0].TemaUI;
|
|
self.data.risRic = response[0].RisultatiRicerca;
|
|
self.data.type = response[0].TipoAccesso;
|
|
retBool = true;
|
|
}
|
|
if(successFn)
|
|
successFn(retBool);
|
|
},
|
|
|
|
getKeySave: function(){
|
|
return window.localStorage.getItem("KeySave");
|
|
},
|
|
setKeySave: function(val){
|
|
window.localStorage.setItem("KeySave", val);
|
|
},
|
|
|
|
isGPlusConnected: function(){
|
|
if(this.data.type == "gplus")
|
|
return true;
|
|
return false;
|
|
},
|
|
isFbConnected: function(){
|
|
if(this.data.type == "fb")
|
|
return true;
|
|
return false;
|
|
},
|
|
|
|
addRicettaBloccoNote: function(ricetta_id, successFn) {
|
|
var sendobj = {
|
|
"ricetta_id": ricetta_id,
|
|
"keyStore": this.getKeySave()
|
|
};
|
|
|
|
$.ajax({
|
|
url: myManifest.Settings.DefaultURL + "/api/profile/ricetta",
|
|
//dataType: "json",
|
|
type: 'POST',
|
|
data: { dataPair: JSON.stringify(sendobj) },
|
|
success: function(msg){
|
|
if(successFn)
|
|
successFn(msg);
|
|
}
|
|
});
|
|
},
|
|
|
|
removeRicettaBloccoNote: function(ricetta_id, successFn) {
|
|
$.ajax({
|
|
url: myManifest.Settings.DefaultURL + "/api/profile/" + this.getKeySave() + "/ricetta/" + ricetta_id,
|
|
//dataType: "json",
|
|
type: 'DELETE',
|
|
success: function(msg){
|
|
if(successFn)
|
|
successFn(msg);
|
|
}
|
|
});
|
|
},
|
|
|
|
existRicettaBloccoNote: function(ricettaID, successFn){
|
|
$.ajax({
|
|
url: myManifest.Settings.DefaultURL + "/api/profile/" + this.getKeySave() + "/ricetta/" + ricettaID,
|
|
//dataType: "json",
|
|
type: 'GET',
|
|
success: function(msg){
|
|
if(successFn)
|
|
successFn(msg);
|
|
}
|
|
});
|
|
},
|
|
|
|
createProfile: function(keyStore, typeProfile, name, email,gender, successFn) {
|
|
this.data.type = typeProfile;
|
|
this.data.name = name;
|
|
this.data.email = email;
|
|
this.data.gender = gender;
|
|
this.setKeySave(keyStore);
|
|
|
|
window.localStorage.removeItem("risRic");
|
|
window.localStorage.removeItem("tema");
|
|
|
|
var sendobj = {
|
|
"keyStore": this.getKeySave(),
|
|
"name": this.data.name,
|
|
"email": this.data.email,
|
|
"gender": this.data.gender,
|
|
"tema": this.data.tema,
|
|
"risRic": this.data.risRic,
|
|
"type": this.data.type
|
|
};
|
|
|
|
$.ajax({
|
|
url: myManifest.Settings.DefaultURL + "/api/profile",
|
|
//dataType: "json",
|
|
type: 'POST',
|
|
data: { dataPair: JSON.stringify(sendobj) },
|
|
success: function(msg){
|
|
if(successFn)
|
|
successFn(msg);
|
|
}
|
|
});
|
|
},
|
|
|
|
updateProfile: function(successFn) {
|
|
if(this.isConnected()) {
|
|
var sendobj = {
|
|
"keyStore": this.getKeySave(),
|
|
"tema": this.data.tema,
|
|
"risRic": this.data.risRic,
|
|
"type": this.data.type
|
|
};
|
|
|
|
$.ajax({
|
|
url: myManifest.Settings.DefaultURL + "/api/profile",
|
|
//dataType: "json",
|
|
type: 'PUT',
|
|
data: { dataPair: JSON.stringify(sendobj) },
|
|
success: function (msg) {
|
|
if (successFn)
|
|
successFn(msg);
|
|
}
|
|
});
|
|
}
|
|
else
|
|
{
|
|
window.localStorage.setItem("risRic", this.data.risRic);
|
|
window.localStorage.setItem("tema", this.data.tema);
|
|
}
|
|
}
|
|
};
|
|
return Profile._loadme();
|
|
}); |