--- /dev/null
+/**
+ * Patron App
+ *
+ * Search, checkout, items out, holds, bills, edit, etc.
+ */
+
+angular.module('egPatronRegApp', ['ui.bootstrap','ngRoute','egCoreMod'])
+
+
+.config(function($routeProvider, $locationProvider, $compileProvider) {
+ $locationProvider.html5Mode(true);
+ $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); // grid export
+
+ var resolver = {delay :
+ ['egStartup', function(egStartup) {return egStartup.go()}]}
+
+ $routeProvider.when('/circ/patron/register', {
+ template: '<eg-legacy-frame url="reg_url"></eg-legacy-frame>',
+ controller: 'PatronRegCtrl',
+ resolve : resolver
+ });
+
+ $routeProvider.when('/circ/patron/register/stage/:stage_username', {
+ template: '<eg-legacy-frame url="reg_url"></eg-legacy-frame>',
+ controller: 'PatronRegCtrl',
+ resolve : resolver
+ });
+
+ $routeProvider.when('/circ/patron/register/edit/:edit_id', {
+ template: '<eg-legacy-frame url="reg_url"></eg-legacy-frame>',
+ controller: 'PatronRegCtrl',
+ resolve : resolver
+ });
+
+ $routeProvider.when('/circ/patron/register/clone/:clone_id', {
+ template: '<eg-legacy-frame url="reg_url"></eg-legacy-frame>',
+ controller: 'PatronRegCtrl',
+ resolve : resolver
+ });
+
+ $routeProvider.otherwise({redirectTo : '/circ/patron/register'});
+})
+
+
+/**
+ * */
+.controller('PatronRegCtrl',
+ ['$scope','$routeParams','$location','$filter','egCore',
+function($scope , $routeParams , $location , $filter , egCore) {
+
+
+ var url = $location.absUrl().replace(/\/staff.*/, '/actor/user/register');
+
+ // since we don't store auth cookies, pass the cookie via URL
+ url += '?ses=' + egCore.auth.token();
+
+ if ($routeParams.stage_username) {
+ url += '&stage=' + encodeURIComponent($routeParams.stage_username);
+ }
+
+ if ($routeParams.edit_id) {
+ url += '&usr=' + encodeURIComponent($routeParams.edit_id);
+ }
+
+ if ($routeParams.clone_id) {
+ url += '&clone=' + encodeURIComponent($routeParams.clone_id);
+ }
+
+ console.log('URL = ' + url);
+ $scope.reg_url = url;
+}])
+
--- /dev/null
+angular.module('egCoreMod')
+
+/*
+ * Iframe container for legacy interfaces
+ */
+.directive('egLegacyFrame', function() {
+ return {
+ restrict : 'AE',
+ scope : {
+ url : '='
+ },
+
+ template : '<iframe src="{{url}}" class="eg-legacy-frame" '
+ + 'style="height:{{height}}px"></iframe>',
+
+ controller : ['$scope','$window', function($scope, $window) {
+
+ // Set the iframe height to just under the window height.
+ // leave room for the navbar, padding, margins, etc.
+ $scope.height = $window.outerHeight - 250;
+ }]
+ }
+})
+
+