implemented edit user profile, with images from camera and gallery

This commit is contained in:
arnaucode
2017-01-29 20:54:21 +01:00
parent 70db3f88b9
commit 884a1959ef
19 changed files with 11329 additions and 7 deletions

View File

@@ -6,14 +6,15 @@
// 'starter.controllers' is found in controllers.js
var urlapi = "http://localhost:3000/api/";
//var urlapi = "http://localhost:3000/api/";
//var urlapi="https://collectivecar.paas.primustech.io/api/";
//var urlapi="http://147.83.7.158:3000/api/";
var urlapi="http://147.83.7.158:3000/api/";
angular.module('starter', [
'ionic',
'ngMaterial',
'ngCordova',
'pascalprecht.translate',
'app.login',
'app.signup',
@@ -29,6 +30,7 @@ angular.module('starter', [
'app.askPackage',*/
'app.users',
'app.user',
'app.editUser',
'app.notifications',
'app.settings',
'app.help'
@@ -151,6 +153,15 @@ angular.module('starter', [
}
}
})
.state('app.editUser', {
url: '/editUser',
views: {
'menuContent': {
templateUrl: 'templates/editUser.html',
controller: 'EditUserCtrl'
}
}
})
.state('app.notifications', {
url: '/notifications',
views: {

71
www/js/editUser.js Normal file
View File

@@ -0,0 +1,71 @@
angular.module('app.editUser', ['pascalprecht.translate'])
.controller('EditUserCtrl', function($scope, $stateParams, $http, $filter,
$ionicModal, $cordovaCamera, $ionicLoading) {
$scope.storageuser = JSON.parse(localStorage.getItem("cim_app_userdata"));
$scope.user=$scope.storageuser;
$scope.selectAvatar = function(){
console.log("img");
var options = {
quality: 100,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.sourceType,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 100,
targetHeight: 100,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: false,
correctOrientation:true
};
$cordovaCamera.getPicture(options).then(function(imageData) {
$scope.user.avatar = "data:image/jpeg;base64," + imageData;
}, function(err) {
console.log(err);
});
};
$scope.selectFaircoinPublicKey = function(){
console.log("img");
var options = {
quality: 100,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 100,
targetHeight: 100,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: false,
correctOrientation:true
};
$cordovaCamera.getPicture(options).then(function(imageData) {
$scope.user.faircoin = "data:image/jpeg;base64," + imageData;
}, function(err) {
console.log(err);
});
};
$scope.update=function(){
$http({
url: urlapi + 'users',
method: "PUT",
data: $scope.user
})
.then(function(data) {
// success
console.log("data: ");
console.log(data.data);
localStorage.setItem("cim_app_userdata", JSON.stringify(data.data));
window.location="#/app/users/" + data.data._id;
},
function(data) { // optional
// failed
$ionicLoading.show({
template: 'Error on update',
noBackdrop: true,
duration: 2000
});
});
};
});

View File

@@ -1,17 +1,27 @@
angular.module('app.user', ['pascalprecht.translate'])
.controller('UserCtrl', function($scope, $stateParams, $http, $filter, $ionicModal) {
.controller('UserCtrl', function($scope, $stateParams, $http,
$ionicLoading, $filter, $ionicModal) {
$scope.storageuser = JSON.parse(localStorage.getItem("cim_app_userdata"));
$scope.user={};
$http.get(urlapi + 'users/id/'+$stateParams.userid)
$scope.doRefresh = function(){
$http.get(urlapi + 'users/id/'+$stateParams.userid)
.then(function(data, status, headers,config){
console.log('data success');
console.log(data); // for browser console
$scope.user = data.data; // for UI
if($scope.storageuser._id==$scope.user._id)
{
localStorage.setItem("cim_app_userdata", JSON.stringify(data.data));
}
$scope.$broadcast('scroll.refreshComplete');//refresher stop
},function(data, status, headers,config){
console.log('data error');
$scope.$broadcast('scroll.refreshComplete');//refresher stop
});
};
$scope.doRefresh();