chimney (burning the logs) and combo box fixes
This commit is contained in:
		
							parent
							
								
									0d67c0d10c
								
							
						
					
					
						commit
						419fd60f75
					
				| @ -5,10 +5,12 @@ app.controller('loginCtrl', [ | |||||||
|   var vm = this; |   var vm = this; | ||||||
| 
 | 
 | ||||||
|   vm.independentIssuer = false; |   vm.independentIssuer = false; | ||||||
|   vm.oauth3 = Oauth3.oauth3 = Oauth3.oauth3 || Oauth3.create(location); |   // TODO reuse most recent issuer?
 | ||||||
|  |   vm.newOauth3 = Oauth3.create(location); | ||||||
|   vm.timers = {}; |   vm.timers = {}; | ||||||
|   vm.defaultIssuer = 'provider.' + location.host.replace(/^cloud\./, ''); |   vm.defaultIssuer = 'provider.' + location.host.replace(/^cloud\./, ''); | ||||||
| 
 | 
 | ||||||
|  |   vm.Auth = Auth; | ||||||
|   vm.session = Auth.session; |   vm.session = Auth.session; | ||||||
|   vm.sessions = Auth.sessions; |   vm.sessions = Auth.sessions; | ||||||
| 
 | 
 | ||||||
| @ -50,19 +52,16 @@ app.controller('loginCtrl', [ | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return Oauth3.discover(url, { client_uri: Oauth3.clientUri(location) }).then(function (deets) { |     return Oauth3.discover(url, { client_uri: Oauth3.clientUri(location) }).then(function (deets) { | ||||||
|       console.log('discover', url); |  | ||||||
|       console.log(deets); |  | ||||||
|       vm.currentIssuer = url; |       vm.currentIssuer = url; | ||||||
|       vm.issuerName = url; |       vm.issuerName = url; | ||||||
| 
 | 
 | ||||||
|       return vm.oauth3.setIdentityProvider(url).then(function (deets) { |       return vm.newOauth3.setIdentityProvider(url).then(function (deets) { | ||||||
|         vm.oauth3.setResourceProvider(url); |         vm.newOauth3.setResourceProvider(url); | ||||||
|         vm.spinner = false; |         vm.spinner = false; | ||||||
|         // TODO add icon and name to directives
 |         // TODO add icon and name to directives
 | ||||||
|         console.log(deets); |  | ||||||
|       }); |       }); | ||||||
|     }, function () { |     }, function () { | ||||||
|       console.log('oauth3 timeout: No dice, no change'); |       console.log("oauth3 discover timeout: No dice, no change for '" + url + "'"); | ||||||
|       vm.spinner = false; |       vm.spinner = false; | ||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
| @ -77,7 +76,7 @@ app.controller('loginCtrl', [ | |||||||
|   vm.setAudience = function (url) { |   vm.setAudience = function (url) { | ||||||
|     url = url || vm.audienceUrl; |     url = url || vm.audienceUrl; | ||||||
|     vm.audienceName = url; |     vm.audienceName = url; | ||||||
|     vm.oauth3.setResourceProvider(url); |     vm.newOauth3.setResourceProvider(url); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   vm.selectSession = function (session) { |   vm.selectSession = function (session) { | ||||||
| @ -85,7 +84,6 @@ app.controller('loginCtrl', [ | |||||||
|     vm.session = session; |     vm.session = session; | ||||||
|     return Auth.select(session).then(function (oauth3) { |     return Auth.select(session).then(function (oauth3) { | ||||||
|       vm.xauth = false; |       vm.xauth = false; | ||||||
|       vm.oauth3 = oauth3; |  | ||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
| @ -100,11 +98,10 @@ app.controller('loginCtrl', [ | |||||||
|   vm.auth = function () { |   vm.auth = function () { | ||||||
|     var subject = vm.currentSubject; |     var subject = vm.currentSubject; | ||||||
|     var issuer = vm.issuerName; |     var issuer = vm.issuerName; | ||||||
|     return vm.oauth3.authenticate({ |     return vm.newOauth3.authenticate({ | ||||||
|       subject: subject |       subject: subject | ||||||
|     , scope: [ 'domains@oauth3.org', 'domains', 'dns@oauth3.org', 'dns', 'www@daplie.com' ] |     , scope: [ 'domains@oauth3.org', 'domains', 'dns@oauth3.org', 'dns', 'www@daplie.com' ] | ||||||
|     }).then(function (session) { |     }).then(function (session) { | ||||||
|       console.log('vm.auth session.issuer', session.issuer); |  | ||||||
|       session.subject = subject; |       session.subject = subject; | ||||||
|       session.issuer = issuer; |       session.issuer = issuer; | ||||||
|       Auth.add(session); |       Auth.add(session); | ||||||
| @ -114,8 +111,8 @@ app.controller('loginCtrl', [ | |||||||
|         $location.path('/' + $rootScope.redirectedURL); |         $location.path('/' + $rootScope.redirectedURL); | ||||||
|       } |       } | ||||||
|     }, function (err) { |     }, function (err) { | ||||||
|       console.log('auth error'); |       console.error('auth error'); | ||||||
|       console.log(err); |       console.error(err); | ||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -20,7 +20,8 @@ function handleFiles(ev) { | |||||||
|   vm.unzip = vm.isZip; |   vm.unzip = vm.isZip; | ||||||
|   vm.stripZip = vm.isZip; |   vm.stripZip = vm.isZip; | ||||||
|   $scope.$digest(); |   $scope.$digest(); | ||||||
|   console.log('vm.currentFiles', vm.currentFiles); |   console.log('[handleFiles] vm.currentFiles:'); | ||||||
|  |   console.log(vm.currentFiles); | ||||||
| } | } | ||||||
| window.document.body.addEventListener('change', handleFiles); | window.document.body.addEventListener('change', handleFiles); | ||||||
| 
 | 
 | ||||||
| @ -98,12 +99,12 @@ app.controller('websiteCtrl', [ | |||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   vm.selectDomain = function (domain) { |   vm.selectDomain = function (domain) { | ||||||
|     vm.domain = domain; |     vm.domain = domain; //vm.selectedDomain.description;
 | ||||||
|     vm.newDomain = domain.domain; |     vm.newDomain = vm.domain.domain; | ||||||
| 
 | 
 | ||||||
|     return Auth.api('dns.list', { }).then(function (records) { |     return Auth.api('dns.list', { }).then(function (records) { | ||||||
|       records = records.filter(function (r) { |       records = records.filter(function (r) { | ||||||
|         return /^A(AAA)?$/i.test(r.type) && ((r.sld + '.' + r.tld) === domain || r.zone === domain.domain); |         return /^A(AAA)?$/i.test(r.type) && ((r.sld + '.' + r.tld) === vm.domain.domain || r.zone === vm.domain.domain); | ||||||
|       }); |       }); | ||||||
|       vm.records = records; |       vm.records = records; | ||||||
|       records.forEach(function (record) { |       records.forEach(function (record) { | ||||||
| @ -114,7 +115,8 @@ app.controller('websiteCtrl', [ | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|       console.log('dns records', records); |       console.log('[selectDomain] dns records:'); | ||||||
|  |       console.log(records); | ||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
| @ -128,8 +130,8 @@ app.controller('websiteCtrl', [ | |||||||
|     vm.record = { sub: sub, host: (sub ? sub + '.' : '') + vm.domain.domain }; |     vm.record = { sub: sub, host: (sub ? sub + '.' : '') + vm.domain.domain }; | ||||||
|     vm.currentHost = vm.record.host; |     vm.currentHost = vm.record.host; | ||||||
| 
 | 
 | ||||||
|     console.log('vm.record', vm.record); |     console.log('[setRecord] vm.record:'); | ||||||
|     console.log('vm.currentHost', vm.currentHost); |     console.log(vm.record); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   vm.selectRecord = function (record) { |   vm.selectRecord = function (record) { | ||||||
| @ -160,9 +162,6 @@ app.controller('websiteCtrl', [ | |||||||
| 
 | 
 | ||||||
|   vm.Sites = {}; |   vm.Sites = {}; | ||||||
|   vm.Sites.create = function () { |   vm.Sites.create = function () { | ||||||
|     console.log('##### Auth.oauth3'); |  | ||||||
|     console.log(Auth.oauth3); |  | ||||||
| 
 |  | ||||||
|     var pkg = Auth.oauth3.pkg('www@daplie.com'); |     var pkg = Auth.oauth3.pkg('www@daplie.com'); | ||||||
|     var parts; |     var parts; | ||||||
|     var sub; |     var sub; | ||||||
| @ -217,31 +216,19 @@ app.controller('websiteCtrl', [ | |||||||
|       var sess; |       var sess; | ||||||
|       var prom; |       var prom; | ||||||
|       var def; |       var def; | ||||||
|       console.log('[pkg www] request domain'); |  | ||||||
|       console.log(result.data); |  | ||||||
| 
 |  | ||||||
|       console.log('[pkg www] vm.domain.session:'); |  | ||||||
|       console.log(vm.domain.session); |  | ||||||
| 
 |  | ||||||
|       console.log(vm.currentHost, vm.domain.domain); |  | ||||||
|       console.log(vm._isSubDomain(vm.currentHost, vm.domain.domain)); |  | ||||||
| 
 | 
 | ||||||
|       // can validate automatically
 |       // can validate automatically
 | ||||||
|       if (vm.domain.session && vm._isSubDomain(vm.currentHost, vm.domain.domain)) { |       if (vm.domain.session && vm._isSubDomain(vm.currentHost, vm.domain.domain)) { | ||||||
|         // this should always succeed
 |         // this should always succeed
 | ||||||
|         Auth.sessions.some(function (session) { |         Auth.sessions.some(function (session) { | ||||||
|           console.log('#', session.token.sub + '@' + session.token.iss); |  | ||||||
|           if (vm.domain.session === (session.token.sub + '@' + session.token.iss)) { |           if (vm.domain.session === (session.token.sub + '@' + session.token.iss)) { | ||||||
|             console.log('=', session.token.sub + '@' + session.token.iss); |  | ||||||
|             sess = session; |             sess = session; | ||||||
|             return session; |             return session; | ||||||
|           } |           } | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|         if (sess) { |         if (sess) { | ||||||
|           console.log('[pkg www] session selected', sess); |  | ||||||
|           prom = Auth.get(sess).then(function (oauth3) { |           prom = Auth.get(sess).then(function (oauth3) { | ||||||
|             console.log('[pkg www] instance selected', oauth3); |  | ||||||
|             return oauth3.api('dns.set', { sld: sld, tld: tld, sub: ('' + result.data.prefix), type: 'TXT', ttl: 300, value: result.data.challenge }); |             return oauth3.api('dns.set', { sld: sld, tld: tld, sub: ('' + result.data.prefix), type: 'TXT', ttl: 300, value: result.data.challenge }); | ||||||
|           }); |           }); | ||||||
|         } |         } | ||||||
| @ -260,10 +247,7 @@ app.controller('websiteCtrl', [ | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       return prom.then(function () { |       return prom.then(function () { | ||||||
|         console.log('[pkg www] after pkg'); |  | ||||||
|         console.log(pkg); |  | ||||||
|         return pkg.claim(domainReq).then(function (result) { |         return pkg.claim(domainReq).then(function (result) { | ||||||
|           console.log('[pkg www] claim', result); |  | ||||||
|           return vm._createWebsite(pkg); |           return vm._createWebsite(pkg); | ||||||
|         }); |         }); | ||||||
|       }); |       }); | ||||||
| @ -310,7 +294,6 @@ app.controller('websiteCtrl', [ | |||||||
| 
 | 
 | ||||||
|     return $q.all(Auth.sessions.map(function (session) { |     return $q.all(Auth.sessions.map(function (session) { | ||||||
| 
 | 
 | ||||||
|       console.log('[www] select'); |  | ||||||
|       return Auth.get(session).then(function (oauth3) { |       return Auth.get(session).then(function (oauth3) { | ||||||
|         var pkg = oauth3.pkg('www@daplie.com'); |         var pkg = oauth3.pkg('www@daplie.com'); | ||||||
| 
 | 
 | ||||||
| @ -330,7 +313,7 @@ app.controller('websiteCtrl', [ | |||||||
|         }); |         }); | ||||||
|       }); |       }); | ||||||
|     })).then(function () { |     })).then(function () { | ||||||
|       console.log('[www] sites'); |       console.log('[listSites] sites:'); | ||||||
|       console.log(sites); |       console.log(sites); | ||||||
|       vm.sites = sites; |       vm.sites = sites; | ||||||
|     }); |     }); | ||||||
| @ -338,7 +321,8 @@ app.controller('websiteCtrl', [ | |||||||
| 
 | 
 | ||||||
|   //vm.getDomains();
 |   //vm.getDomains();
 | ||||||
|   Auth.api('domains.list', {}).then(function (els) { |   Auth.api('domains.list', {}).then(function (els) { | ||||||
|     console.log('domains.list els', els); |     console.log('[init] domains.list els:'); | ||||||
|  |     console.log(els); | ||||||
|     vm.domains = els; |     vm.domains = els; | ||||||
|     $scope.domain = vm.domains; |     $scope.domain = vm.domains; | ||||||
|   }); |   }); | ||||||
| @ -351,9 +335,9 @@ app.controller('websiteCtrl', [ | |||||||
|     }, 0); |     }, 0); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   $scope.$watch('vm.selectedDomain', function(domainSelected) { |   $scope.$watch('vm.selectedDomain', function (domainSelected) { | ||||||
|     if (domainSelected !== undefined) { |     if (domainSelected !== undefined) { | ||||||
|       vm.selectDomain(vm.selectedDomain.title); |       vm.selectDomain(vm.selectedDomain.description); | ||||||
|     } |     } | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -25,8 +25,6 @@ app.factory('Auth', [ | |||||||
|       var obj = JSON.parse(localStorage.getItem(dapSessions) || 'null') || {}; |       var obj = JSON.parse(localStorage.getItem(dapSessions) || 'null') || {}; | ||||||
|       var dapName = 'dap-' + session.subject + '|' + session.issuer; |       var dapName = 'dap-' + session.subject + '|' + session.issuer; | ||||||
| 
 | 
 | ||||||
|       console.log('add session', session); |  | ||||||
| 
 |  | ||||||
|       /* |       /* | ||||||
|       Object.keys(Auth.session).forEach(function (key) { |       Object.keys(Auth.session).forEach(function (key) { | ||||||
|         delete Auth.session[key]; |         delete Auth.session[key]; | ||||||
| @ -64,9 +62,17 @@ app.factory('Auth', [ | |||||||
| 
 | 
 | ||||||
|         Auth.sessions.push(session); |         Auth.sessions.push(session); | ||||||
|       }); |       }); | ||||||
|  | 
 | ||||||
|  |       if (Auth.session) { | ||||||
|  |         Auth.select(Auth.session); | ||||||
|  |       } | ||||||
|       return Auth.session; |       return Auth.session; | ||||||
|     } |     } | ||||||
|   , get: function (session) { |   , get: function (session) { | ||||||
|  |       if (!session) { | ||||||
|  |         return $q.resolve(null); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       if (!session.issuer) { |       if (!session.issuer) { | ||||||
|         throw new Error("session doesn't have an issuer"); |         throw new Error("session doesn't have an issuer"); | ||||||
|       } |       } | ||||||
| @ -83,20 +89,12 @@ app.factory('Auth', [ | |||||||
|         , audience: session.audience || session.issuer |         , audience: session.audience || session.issuer | ||||||
|         , session: session |         , session: session | ||||||
|         }).then(function () { |         }).then(function () { | ||||||
|           console.log('a Auth._oauth3s[name]', Auth._oauth3s[name]); |  | ||||||
|           console.log('_resourceProviderDirectives', Auth._oauth3s[name]._resourceProviderDirectives); |  | ||||||
|           return sess; |           return sess; | ||||||
|         }); |         }); | ||||||
|       } else { |       } else { | ||||||
|         console.log('b Auth._oauth3s[name]', Auth._oauth3s[name]); |  | ||||||
|         console.log('_resourceProviderDirectives', Auth._oauth3s[name]._resourceProviderDirectives); |  | ||||||
|         promise = Oauth3.PromiseA.resolve(Auth._oauth3s[name]); |         promise = Oauth3.PromiseA.resolve(Auth._oauth3s[name]); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       console.log('session.issuer:', session.issuer); |  | ||||||
|       console.log('session.subject:', session.subject); |  | ||||||
|       console.log('session:', session); |  | ||||||
| 
 |  | ||||||
|       return promise; |       return promise; | ||||||
|     } |     } | ||||||
|   , select: function (session) { |   , select: function (session) { | ||||||
|  | |||||||
| @ -18,20 +18,20 @@ | |||||||
|       </form> |       </form> | ||||||
|       <ul class="nav navbar-nav navbar-right"> |       <ul class="nav navbar-nav navbar-right"> | ||||||
|         <li class="dropdown"> |         <li class="dropdown"> | ||||||
|           <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span ng-bind="vm.session.subject">me@example.com</span> |           <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span ng-bind="vm.Auth.session.subject">me@example.com</span> | ||||||
|             <i class="fa fa-user" aria-hidden="true"></i> <span class="caret"></span> |             <i class="fa fa-user" aria-hidden="true"></i> <span class="caret"></span> | ||||||
|             <br><small ng-bind="vm.session.issuer">example.com</small></a> |             <br><small ng-bind="vm.Auth.session.issuer">example.com</small></a> | ||||||
|           <ul class="dropdown-menu"> |           <ul class="dropdown-menu"> | ||||||
|             <li><a href="feed.html" target="_blank">Preview My Public Site</a></li> |             <li><a href="feed.html" target="_blank">Preview My Public Site</a></li> | ||||||
|             <li><a href="#!/account-settings">Account Settings</a></li> |             <li><a href="#!/account-settings">Account Settings</a></li> | ||||||
| 
 | 
 | ||||||
|             <li role="separator" class="divider"></li> |             <li role="separator" class="divider"></li> | ||||||
| 
 | 
 | ||||||
|             <li ng-if="vm.sessions.length">Switch User</li> |             <li ng-if="vm.Auth.sessions.length">Switch User</li> | ||||||
|             <li ng-repeat="session in vm.sessions track by $index"><a ng-click="vm.selectSession(session);"><span ng-bind="session.subject">me@example.com</span> <i class="fa fa-user" aria-hidden="true"></i> |             <li ng-repeat="session in vm.Auth.sessions track by $index"><a ng-click="vm.selectSession(session);"><span ng-bind="session.subject">me@example.com</span> <i class="fa fa-user" aria-hidden="true"></i> | ||||||
|               <br><small ng-bind="session.issuer">example.com</small></a></li> |               <br><small ng-bind="session.issuer">example.com</small></a></li> | ||||||
| 
 | 
 | ||||||
|             <li ng-if="vm.sessions.length" role="separator" class="divider"></li> |             <li ng-if="vm.Auth.sessions.length" role="separator" class="divider"></li> | ||||||
| 
 | 
 | ||||||
|             <li>Add User <i class="fa fa-cog" aria-hidden="true" ng-click="vm.toggleAdvanced()"></i> |             <li>Add User <i class="fa fa-cog" aria-hidden="true" ng-click="vm.toggleAdvanced()"></i> | ||||||
|               <br><input class="input" type="text" ng-model="vm.newSubject" ng-change="vm.setSubject()" /> |               <br><input class="input" type="text" ng-model="vm.newSubject" ng-change="vm.setSubject()" /> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <section class="col-md-offset-4 col-md-4 login-container" ng-init="vm.initListLoggedInProfiles()"> | <section class="col-md-offset-4 col-md-4 login-container" ng-init="vm.initListLoggedInProfiles()"> | ||||||
|   <form> |   <form> | ||||||
|     <h4 class="text-center">Sign in</h4> |     <h4 class="text-center">Sign in</h4> | ||||||
|     <a href="#!/home" class="current-user-container" ng-repeat="profile in vm.sessions track by $index" ng-click="vm.selectSession(profile);"> |     <a href="#!/home" class="current-user-container" ng-repeat="profile in vm.Auth.sessions track by $index" ng-click="vm.selectSession(profile);"> | ||||||
|       <div class="current-user-split"><i class="fa fa-user"></i></div> |       <div class="current-user-split"><i class="fa fa-user"></i></div> | ||||||
|       <div class="current-user-text">Resume with {{ profile.email }}</div> |       <div class="current-user-text">Resume with {{ profile.email }}</div> | ||||||
|     </a> |     </a> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user