diff --git a/app/admin_components/adf-admins/views/df-admin-details.html b/app/admin_components/adf-admins/views/df-admin-details.html
index 618cc88c..59f0cd17 100644
--- a/app/admin_components/adf-admins/views/df-admin-details.html
+++ b/app/admin_components/adf-admins/views/df-admin-details.html
@@ -31,7 +31,7 @@
+
diff --git a/app/admin_components/adf-application/dreamfactory-application.js b/app/admin_components/adf-application/dreamfactory-application.js
index 3bd44a2f..b4c175a6 100644
--- a/app/admin_components/adf-application/dreamfactory-application.js
+++ b/app/admin_components/adf-application/dreamfactory-application.js
@@ -543,9 +543,9 @@ angular.module('dfApplication', ['dfUtility', 'dfUserManagement', 'ngResource'])
},
// save data to server and update app obj
- saveApiData: function (api, options) {
+ saveApiData: function (api, options, force) {
- if (dfApplicationObj.apis.hasOwnProperty(api)) {
+ if (dfApplicationObj.apis.hasOwnProperty(api) || !!force) {
return _saveApiData(api, options);
}
diff --git a/app/admin_components/adf-etl/dreamfactory-etl.js b/app/admin_components/adf-etl/dreamfactory-etl.js
new file mode 100644
index 00000000..2f93bd85
--- /dev/null
+++ b/app/admin_components/adf-etl/dreamfactory-etl.js
@@ -0,0 +1,35 @@
+'use strict';
+
+angular.module('dfETL', ['ngRoute'])
+ .constant('MOD_PACKAGE_MANAGER_ROUTER_PATH', '/etl')
+ .constant('MOD_PACKAGE_MANAGER_ASSET_PATH', 'admin_components/adf-etl/')
+ .config(['$routeProvider', 'MOD_PACKAGE_MANAGER_ROUTER_PATH', 'MOD_PACKAGE_MANAGER_ASSET_PATH',
+ function ($routeProvider, MOD_PACKAGE_MANAGER_ROUTER_PATH, MOD_PACKAGE_MANAGER_ASSET_PATH) {
+ $routeProvider
+ .when(MOD_PACKAGE_MANAGER_ROUTER_PATH, {
+ templateUrl: MOD_PACKAGE_MANAGER_ASSET_PATH + 'views/main.html',
+ controller: 'ETLCtrl',
+ });
+ }])
+
+ .run([function () {
+
+ }])
+
+ .controller('ETLCtrl', ['UserDataService', '$http', function (UserDataService, $http) {
+
+ // When the user comes to this page, we will make an api call to updates.dreamfactory.com
+ // with their email address. This is only for the hosted environment.
+
+ var data = {
+ email: UserDataService.getCurrentUser().email,
+ };
+
+ var req = {
+ method: 'POST',
+ url: 'https://dashboard.dreamfactory.com/api/etl',
+ data: JSON.stringify(data)
+ };
+
+ $http(req).then();
+ }])
diff --git a/app/admin_components/adf-etl/views/main.html b/app/admin_components/adf-etl/views/main.html
new file mode 100644
index 00000000..be7dbf4d
--- /dev/null
+++ b/app/admin_components/adf-etl/views/main.html
@@ -0,0 +1,9 @@
+
+
+
Coming Soon!
+
+
We're currently working on an exciting new ETL feature, and would love to learn more about your ETL challenges to help us shape the feature capabilities. Contact us at code@dreamfactory.com to setup a 30 minute call.
+
+
In return for your time we'll send you a box of DreamFactory swag!
+
+
diff --git a/app/admin_components/adf-home/dreamfactory-home.js b/app/admin_components/adf-home/dreamfactory-home.js
index 4b89f0fd..1c720461 100644
--- a/app/admin_components/adf-home/dreamfactory-home.js
+++ b/app/admin_components/adf-home/dreamfactory-home.js
@@ -19,7 +19,7 @@
'use strict';
-angular.module('dfHome', ['ngRoute', 'dfUtility', 'dfApplication', 'dfHelp'])
+angular.module('dfHome', ['ngRoute', 'dfUtility', 'dfApplication', 'dfHelp', 'ngCookies'])
.constant('MOD_HOME_ROUTER_PATH', '/home')
.constant('MOD_HOME_ASSET_PATH', 'admin_components/adf-home/')
@@ -41,8 +41,8 @@ angular.module('dfHome', ['ngRoute', 'dfUtility', 'dfApplication', 'dfHelp'])
}])
- .controller('HomeCtrl', ['$q', '$scope', '$sce', 'dfApplicationData', 'SystemConfigDataService',
- function($q, $scope, $sce, dfApplicationData, SystemConfigDataService){
+ .controller('HomeCtrl', ['$q', '$scope', '$sce', 'dfApplicationData', 'SystemConfigDataService','$cookies',
+ function($q, $scope, $sce, dfApplicationData, SystemConfigDataService, $cookies){
$scope.trustUrl = function (url) {
return $sce.trustAsResourceUrl(url);
@@ -100,4 +100,15 @@ angular.module('dfHome', ['ngRoute', 'dfUtility', 'dfApplication', 'dfHelp'])
link.label = link.name;
}
});
+
+ var removeWizardCookie = function() {
+ $cookies.remove("Wizard");
+ }
+
+ // Although by removing the Wizard Cookie, the modal should open on button click
+ // we will also manually fire up the modal to double check it is truly being opened
+ $scope.openWizardModal = function() {
+ removeWizardCookie();
+ $('#wizardModal').modal('show');
+ }
}])
diff --git a/app/admin_components/adf-home/views/main.html b/app/admin_components/adf-home/views/main.html
index 3bcb4189..3c698174 100644
--- a/app/admin_components/adf-home/views/main.html
+++ b/app/admin_components/adf-home/views/main.html
@@ -2,14 +2,25 @@
diff --git a/app/admin_components/adf-profile/dreamfactory-profile.js b/app/admin_components/adf-profile/dreamfactory-profile.js
index c095b4ad..1507a0d1 100644
--- a/app/admin_components/adf-profile/dreamfactory-profile.js
+++ b/app/admin_components/adf-profile/dreamfactory-profile.js
@@ -35,10 +35,12 @@ angular.module('dfProfile', ['ngRoute', 'dfUtility', 'dfUserManagement', 'dfAppl
}).then(
function (result) {
$scope.user = result.data;
- if($scope.user.adldap || $scope.user.oauth_provider) {
+
+ if($scope.user.adldap || $scope.user.oauth_provider || $scope.user.integrateio_id) {
angular.element('#set-password-section').hide();
angular.element('#set-security-question-section').hide();
}
+
},
function (error) {
var messageOptions = {
diff --git a/app/admin_components/adf-profile/views/df-edit-profile.html b/app/admin_components/adf-profile/views/df-edit-profile.html
index fe6b483a..3c0da8c5 100644
--- a/app/admin_components/adf-profile/views/df-edit-profile.html
+++ b/app/admin_components/adf-profile/views/df-edit-profile.html
@@ -18,7 +18,7 @@