fixed errors

This commit is contained in:
David Baldwynn 2015-07-28 15:44:06 -07:00
parent 5abbebb117
commit 2ed3023af9
4 changed files with 105 additions and 102 deletions

View file

@ -1,7 +1,7 @@
{ {
"name": "MedForm", "name": "MedForm",
"description": "PDF generated form builder", "description": "PDF generated form builder",
"version": "0.0.2", "version": "0.0.3",
"homepage": "https://github.com/whitef0x0/medform", "homepage": "https://github.com/whitef0x0/medform",
"authors": [ "authors": [
"David Baldwynn <polydaic@gmail.com>" "David Baldwynn <polydaic@gmail.com>"
@ -11,7 +11,7 @@
"appPath": "public/modules", "appPath": "public/modules",
"dependencies": { "dependencies": {
"bootstrap": "~3", "bootstrap": "~3",
"angular": "1.3.17", "angular": "~1.3.17",
"angular-resource": "~1.2", "angular-resource": "~1.2",
"angular-animate": "~1.2", "angular-animate": "~1.2",
"angular-mocks": "~1.2", "angular-mocks": "~1.2",

View file

@ -57,13 +57,19 @@ angular.module(ApplicationConfiguration.applicationModuleName).run(['$rootScope'
$rootScope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState) { $rootScope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState) {
$state.previous = fromState; $state.previous = fromState;
//Redirect home to listForms if user is authenticated //Redirect to listForms if user is authenticated
if(toState.name === 'home'){ if(toState.name === 'home' || toState.name === 'signin' || toState.name === 'resendVerifyEmail' || toState.name === 'verify' || toState.name === 'signup' || toState.name === 'signup-success'){
if(Auth.isAuthenticated()){ if(Auth.isAuthenticated()){
event.preventDefault(); // stop current execution event.preventDefault(); // stop current execution
$state.go('listForms'); // go to login $state.go('listForms'); // go to listForms page
} }
} }
//Redirect to 'home' route if user is not authenticated
else if(toState.name !== 'access_denied' && !Auth.isAuthenticated() ){
event.preventDefault(); // stop current execution
$state.go('home'); // go to listForms page
}
}); });
} }
@ -79,17 +85,14 @@ angular.module(ApplicationConfiguration.applicationModuleName).run(['$rootScope'
Auth.ensureHasCurrentUser(User); Auth.ensureHasCurrentUser(User);
user = Auth.currentUser; user = Auth.currentUser;
if(user){ if(user){
authenticator = new Authorizer(user); authenticator = new Authorizer(user);
// console.log('Permissions'); if( (permissions !== null) && !authenticator.canAccess(permissions) ){
// console.log(permissions); event.preventDefault();
console.log('access denied')
if( (permissions !== null) && !authenticator.canAccess(permissions) ){ $state.go('access_denied');
event.preventDefault(); }
console.log('access denied')
$state.go('access_denied');
}
} }
}); });
}]); }]);
@ -142,12 +145,12 @@ angular.module('core').config(['$stateProvider', '$urlRouterProvider',
angular.module('core').controller('HeaderController', ['$rootScope','$scope','Menus', '$state', 'Auth', 'User', angular.module('core').controller('HeaderController', ['$rootScope','$scope','Menus', '$state', 'Auth', 'User',
function ($rootScope, $scope, Menus, $state, Auth, User) { function ($rootScope, $scope, Menus, $state, Auth, User) {
$scope.user = $rootScope.user = Auth.ensureHasCurrentUser(User); $scope.user = $rootScope.user = Auth.ensureHasCurrentUser(User);
$scope.authentication = $rootScope.authentication = Auth; $scope.authentication = $rootScope.authentication = Auth;
if(!$scope.user.username){ // if(!$scope.user || !$scope.user.username){
$scope.user = $rootScope.user = User.getCurrent(); // $scope.user = $rootScope.user = User.getCurrent();
$scope.authentication.currentUser = $rootScope.authentication.currentUser = $scope.user; // $scope.authentication.currentUser = $rootScope.authentication.currentUser = $scope.user;
} // }
$rootScope.languages = $scope.languages = ['english', 'french', 'spanish']; $rootScope.languages = $scope.languages = ['english', 'french', 'spanish'];
$scope.isCollapsed = false; $scope.isCollapsed = false;
@ -158,10 +161,10 @@ angular.module('core').controller('HeaderController', ['$rootScope','$scope','Me
var promise = User.logout(); var promise = User.logout();
promise.then(function() { promise.then(function() {
Auth.logout(); Auth.logout();
// Auth.ensureHasCurrentUser(null); Auth.ensureHasCurrentUser(User);
$rootScope.user = null; $scope.user = $rootScope.user = null;
$state.go('home'); $state.go('home');
}, },
function(reason) { function(reason) {
console.log('Logout Failed: ' + reason); console.log('Logout Failed: ' + reason);
}); });
@ -191,14 +194,6 @@ angular.module('core').controller('HeaderController', ['$rootScope','$scope','Me
angular.module('core').controller('HomeController', ['$rootScope', '$scope', 'User', 'Auth', '$state', angular.module('core').controller('HomeController', ['$rootScope', '$scope', 'User', 'Auth', '$state',
function($rootScope, $scope, User, Auth, $state) { function($rootScope, $scope, User, Auth, $state) {
$scope = $rootScope; $scope = $rootScope;
$scope.user = Auth.ensureHasCurrentUser(User);
$scope.authentication = Auth;
// if($scope.authentication.isAuthenticated()){
// $state.go('listForms');
// }
} }
]); ]);
'use strict'; 'use strict';
@ -425,6 +420,9 @@ angular.module('forms').config(['$stateProvider',
state('listForms', { state('listForms', {
url: '/forms', url: '/forms',
templateUrl: 'modules/forms/views/list-forms.client.view.html', templateUrl: 'modules/forms/views/list-forms.client.view.html',
data: {
permissions: [ 'editForm' ]
}
}). }).
state('viewForm', { state('viewForm', {
url: '/forms/:formId/admin', url: '/forms/:formId/admin',
@ -482,17 +480,21 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
$scope = $rootScope; $scope = $rootScope;
$scope.myform = CurrentForm.getForm(); $scope.myform = CurrentForm.getForm();
$scope.saveInProgress = false; $rootScope.saveInProgress = false;
$scope.viewSubmissions = false; $scope.viewSubmissions = false;
$rootScope.showCreateModal = false; $rootScope.showCreateModal = false;
$scope.table = { $scope.table = {
masterChecker: true, masterChecker: false,
rows: [] rows: []
}; };
// Return all user's Forms // Return all user's Forms
$scope.findAll = function() { $scope.findAll = function() {
$scope.myforms = Forms.query(); if(!$scope.myforms){
Forms.query(function(_forms){
$scope.myforms = _forms;
});
}
}; };
// Find a specific Form // Find a specific Form
@ -690,7 +692,7 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
// Update existing Form // Update existing Form
$scope.update = $rootScope.update = function(cb) { $scope.update = $rootScope.update = function(cb) {
if(!$rootScope.saveInProgress){ if(!$rootScope.saveInProgress && $rootScope.finishedRender){
$rootScope.saveInProgress = true; $rootScope.saveInProgress = true;
console.log('begin updating form'); console.log('begin updating form');
@ -734,6 +736,8 @@ angular.module('forms').directive('autoSaveForm', ['$rootScope', '$timeout', fun
// }, // },
link: function($scope, $element, $attrs, $ctrls) { link: function($scope, $element, $attrs, $ctrls) {
$rootScope.finishedRender = false;
if($rootScope.watchCount === undefined){ if($rootScope.watchCount === undefined){
$rootScope.watchCount = 0; $rootScope.watchCount = 0;
} }
@ -753,15 +757,15 @@ angular.module('forms').directive('autoSaveForm', ['$rootScope', '$timeout', fun
var $formCtrl = $ctrls[0]; var $formCtrl = $ctrls[0];
var savePromise = null; var savePromise = null;
$scope.finishedRender = false; // $scope.finishedRender = false;
var expression = $attrs.autoSaveForm || 'true'; var expression = $attrs.autoSaveForm || 'true';
$scope.$on('ngRepeatStarted', function(ngRepeatFinishedEvent) { $scope.$on('ngRepeatStarted', function(ngRepeatFinishedEvent) {
// $scope.finishedRender = false; $rootScope.finishedRender = false;
$rootScope.watchCount = 0; $rootScope.watchCount = 0;
}); });
$scope.$on('ngRepeatFinished', function(ngRepeatFinishedEvent) { $scope.$on('ngRepeatFinished', function(ngRepeatFinishedEvent) {
$scope.finishedRender = true; $rootScope.finishedRender = true;
}); });
$scope.$watch('myform.form_fields', function(newValue, oldValue) { $scope.$watch('myform.form_fields', function(newValue, oldValue) {
@ -773,13 +777,13 @@ angular.module('forms').directive('autoSaveForm', ['$rootScope', '$timeout', fun
// console.log('\n\n----------\n$dirty: '+( $formCtrl.$dirty ) ); // console.log('\n\n----------\n$dirty: '+( $formCtrl.$dirty ) );
// console.log('form_fields changed: '+difference(oldValue,newValue).length ); // console.log('form_fields changed: '+difference(oldValue,newValue).length );
// console.log('$valid: '+$formCtrl.$valid); // console.log('$valid: '+$formCtrl.$valid);
// console.log('finishedRender: '+$scope.finishedRender); // console.log('finishedRender: '+$rootScope.finishedRender);
console.log('saveInProgress: '+$rootScope.saveInProgress); // console.log('saveInProgress: '+$rootScope.saveInProgress);
if($scope.finishedRender && ($formCtrl.$dirty || difference(oldValue,newValue).length !== 0) && !$rootScope.saveInProgress) { if($rootScope.finishedRender && ($formCtrl.$dirty || difference(oldValue,newValue).length !== 0) && !$rootScope.saveInProgress) {
$rootScope.watchCount++; $rootScope.watchCount++;
if($rootScope.watchCount === 1) { // if($rootScope.watchCount === 1) {
if(savePromise) { if(savePromise) {
$timeout.cancel(savePromise); $timeout.cancel(savePromise);
@ -791,11 +795,12 @@ angular.module('forms').directive('autoSaveForm', ['$rootScope', '$timeout', fun
$rootScope[$attrs.autoSaveCallback]( $rootScope[$attrs.autoSaveCallback](
function(err){ function(err){
if(!err){ if(!err){
console.log('Form data persisted -- setting pristine flag'); console.log('\n\nForm data persisted -- setting pristine flag');
console.log('\n\n---------\nUpdate form CLIENT'); // console.log('\n\n---------\nUpdate form CLIENT');
console.log(Date.now()); // console.log(Date.now());
$rootScope.watchCount = 0; $rootScope.watchCount = 0;
$formCtrl.$setPristine(); $formCtrl.$setPristine();
// $rootScope.saveInProgress = false;
}else{ }else{
console.log('Error form data NOT persisted'); console.log('Error form data NOT persisted');
console.log(err); console.log(err);
@ -804,7 +809,7 @@ angular.module('forms').directive('autoSaveForm', ['$rootScope', '$timeout', fun
}); });
} // }
}else{ }else{
return; return;
} }
@ -1231,13 +1236,14 @@ angular.module('forms').directive('onFinishRender', function ($rootScope, $timeo
if (scope.$first === true) { if (scope.$first === true) {
$timeout(function () { $timeout(function () {
$rootScope.$broadcast('ngRepeatStarted'); $rootScope.$broadcast('ngRepeatStarted');
}, 500); });
} }
if (scope.$last === true) { if (scope.$last === true) {
console.log(element);
$timeout(function () { $timeout(function () {
// console.log('ngRepeatFinished') console.log('ngRepeatFinished')
$rootScope.$broadcast('ngRepeatFinished'); $rootScope.$broadcast('ngRepeatFinished');
}, 500); });
} }
} }
}; };
@ -1373,26 +1379,26 @@ angular.module('forms').service('FormFields', [
name : 'legal', name : 'legal',
value : 'Legal' value : 'Legal'
}, },
{ // {
name : 'file', // name : 'file',
value : 'File Upload' // value : 'File Upload'
}, // },
{ // {
name : 'rating', // name : 'rating',
value : 'Rating' // value : 'Rating'
}, // },
{ // {
name : 'link', // name : 'link',
value : 'Link' // value : 'Link'
}, // },
{ // {
name : 'scale', // name : 'scale',
value : 'Opinion Scale' // value : 'Opinion Scale'
}, // },
{ // {
name : 'stripe', // name : 'stripe',
value : 'Payment' // value : 'Payment'
}, // },
{ {
name : 'statement', name : 'statement',
value : 'Statement' value : 'Statement'
@ -1494,7 +1500,7 @@ angular.module('users').config(['$httpProvider',
$httpProvider.interceptors.push(function($q, $location) { $httpProvider.interceptors.push(function($q, $location) {
return { return {
responseError: function(response) { responseError: function(response) {
console.log($location.path()); // console.log($location.path());
if( response.config.url !== '/users/me' && $location.path() !== '/users/me' && response.config){ if( response.config.url !== '/users/me' && $location.path() !== '/users/me' && response.config){
console.log('intercepted rejection of ', response.config.url, response.status); console.log('intercepted rejection of ', response.config.url, response.status);
@ -1618,21 +1624,18 @@ angular.module('users').controller('AuthenticationController', ['$scope', '$loca
$scope.credentials = {}; $scope.credentials = {};
$scope.error = null; $scope.error = null;
// If user is signed in then redirect back home
if ($scope.authentication.isAuthenticated()) $state.go('home');
$scope.signin = function() { $scope.signin = function() {
Auth.currentUser = User.login($scope.credentials).then( User.login($scope.credentials).then(
function(response) { function(response) {
console.log(response)
Auth.login(response); Auth.login(response);
$scope.user = $rootScope.user = Auth.ensureHasCurrentUser(User); $scope.user = $rootScope.user = Auth.ensureHasCurrentUser(User);
if($state.previous.name !== 'home' && $state.previous.name !== 'verify' && $state.previous.name !== ''){ if($state.previous.name !== 'home' && $state.previous.name !== 'verify' && $state.previous.name !== ''){
$state.go($state.previous.name); $state.go($state.previous.name);
}else{ }else{
$state.go('home'); $state.go('listForms');
} }
}, },
function(error) { function(error) {
$rootScope.user = Auth.ensureHasCurrentUser(User); $rootScope.user = Auth.ensureHasCurrentUser(User);
@ -1842,7 +1845,7 @@ angular.module('users').factory('Auth', function($window) {
ensureHasCurrentUser: function(User) { ensureHasCurrentUser: function(User) {
if (service.currentUser && service.currentUser.displayName) { if (service.currentUser && service.currentUser.displayName) {
console.log('Using local current user.'); console.log('Using local current user.');
// console.log(service.currentUser); console.log(service.currentUser);
return service.currentUser; return service.currentUser;
} }
else if ($window.user){ else if ($window.user){

File diff suppressed because one or more lines are too long

View file

@ -35,26 +35,26 @@ angular.module('forms').service('FormFields', [
name : 'legal', name : 'legal',
value : 'Legal' value : 'Legal'
}, },
{ // {
name : 'file', // name : 'file',
value : 'File Upload' // value : 'File Upload'
}, // },
{ // {
name : 'rating', // name : 'rating',
value : 'Rating' // value : 'Rating'
}, // },
{ // {
name : 'link', // name : 'link',
value : 'Link' // value : 'Link'
}, // },
{ // {
name : 'scale', // name : 'scale',
value : 'Opinion Scale' // value : 'Opinion Scale'
}, // },
{ // {
name : 'stripe', // name : 'stripe',
value : 'Payment' // value : 'Payment'
}, // },
{ {
name : 'statement', name : 'statement',
value : 'Statement' value : 'Statement'