Hello community,

here is the log from the commit of package python-halite for openSUSE:Factory 
checked in at 2014-05-15 19:15:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-halite (Old)
 and      /work/SRC/openSUSE:Factory/.python-halite.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-halite"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-halite/python-halite.changes      
2014-04-09 13:15:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-halite.new/python-halite.changes 
2014-05-15 19:15:47.000000000 +0200
@@ -1,0 +2,14 @@
+Wed May 14 17:52:20 UTC 2014 - [email protected]
+
+- Updated to 0.1.17
+- New Features:
+  - Add event source kill switch
+  - Improve command error handling
+  - Add salt service
+- Bug Fixes:
+  - Fix bug with command panel
+  - Tweak fetchGrains logic so that job completion (prior to HTTP returns) are 
handled
+  - Make sure text files don't have exec bit set
+  - Update spec (thanks to Erik Johnson)
+
+-------------------------------------------------------------------

Old:
----
  halite-0.1.16.tar.gz

New:
----
  halite-0.1.17.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-halite.spec ++++++
--- /var/tmp/diff_new_pack.wzDQEt/_old  2014-05-15 19:15:48.000000000 +0200
+++ /var/tmp/diff_new_pack.wzDQEt/_new  2014-05-15 19:15:48.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-halite
-Version:        0.1.16
+Version:        0.1.17
 Release:        1%{?dist}
 Summary:        Halite the salt Web UI
 License:        Apache-2.0
@@ -54,12 +54,6 @@
 %install
 python setup.py install --prefix=%{_prefix} --root=%{buildroot}
 %fdupes %{buildroot}%{_prefix}
-# quick fix for rpmlint
-# upstream issue:
-# https://github.com/saltstack/lattice/issues/15
-chmod a-x %{buildroot}%{python_sitelib}/halite/lattice/lib/angular/i18n/*.js
-chmod a-x %{buildroot}%{python_sitelib}/halite/lattice/lib/angular/*.js
-chmod a-x %{buildroot}%{python_sitelib}/halite/lattice/lib/angular/*.js.map
 
 %files
 %defattr(-,root,root)

++++++ halite-0.1.16.tar.gz -> halite-0.1.17.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/PKG-INFO new/halite-0.1.17/PKG-INFO
--- old/halite-0.1.16/PKG-INFO  2014-04-07 16:29:08.000000000 +0200
+++ new/halite-0.1.17/PKG-INFO  2014-05-14 16:42:57.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: halite
-Version: 0.1.16
+Version: 0.1.17
 Summary: SaltStack Web UI
 Home-page: https://github.com/saltstack/halite
 Author: SaltStack Inc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/appConfigSrvc.js 
new/halite-0.1.17/halite/lattice/app/appConfigSrvc.js
--- old/halite-0.1.16/halite/lattice/app/appConfigSrvc.js       2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/appConfigSrvc.js       2014-05-14 
16:18:53.000000000 +0200
@@ -4,8 +4,8 @@
 
   configuration = {
     baseUrl: "",
-    date: "2014-04-07",
-    version: "0.1.16",
+    date: "2014-05-15",
+    version: "0.1.17",
     views: {
       home: {
         label: "home",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/main.html 
new/halite-0.1.17/halite/lattice/app/main.html
--- old/halite-0.1.16/halite/lattice/app/main.html      2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/main.html      2014-05-14 
16:18:53.000000000 +0200
@@ -68,6 +68,7 @@
     <script src="/static/app/util/highstateCheckSrvc.js" 
type="text/javascript"></script>
     <script src="/static/app/util/jobSrvc.js" type="text/javascript"></script>
     <script src="/static/app/util/saltApiSrvc.js" 
type="text/javascript"></script>
+    <script src="/static/app/util/saltSrvc.js" type="text/javascript"></script>
     <script src="/static/app/view/base.js" type="text/javascript"></script>
     <script src="/static/app/view/console.js" type="text/javascript"></script>
     <script src="/static/app/view/home.js" type="text/javascript"></script>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/main.js 
new/halite-0.1.17/halite/lattice/app/main.js
--- old/halite-0.1.16/halite/lattice/app/main.js        2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/main.js        2014-05-14 
16:18:53.000000000 +0200
@@ -2,7 +2,7 @@
 (function() {
   var mainApp;
 
-  mainApp = angular.module("MainApp", ['ngRoute', 'ngCookies', 'ngAnimate', 
'appConfigSrvc', 'appPrefSrvc', 'appDataSrvc', 'appStoreSrvc', 'appUtilSrvc', 
'appFltr', 'appDrtv', 'saltApiSrvc', 'demoSrvc', 'errorReportingSrvc', 
'highstateCheckSrvc', 'eventSrvc', 'jobSrvc']);
+  mainApp = angular.module("MainApp", ['ngRoute', 'ngCookies', 'ngAnimate', 
'appConfigSrvc', 'appPrefSrvc', 'appDataSrvc', 'appStoreSrvc', 'appUtilSrvc', 
'appFltr', 'appDrtv', 'saltApiSrvc', 'demoSrvc', 'errorReportingSrvc', 
'highstateCheckSrvc', 'eventSrvc', 'jobSrvc', 'saltSrvc', 'fetchActivesSrvc']);
 
   mainApp.constant('MainConstants', {
     name: 'Halite',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/navbar.html 
new/halite-0.1.17/halite/lattice/app/navbar.html
--- old/halite-0.1.16/halite/lattice/app/navbar.html    2014-04-02 
04:53:54.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/navbar.html    2014-05-14 
16:15:22.000000000 +0200
@@ -22,8 +22,8 @@
           <span ng-style="{color:'red'}" ng-cloak 
ng-show="loginFormError()">{{loginFormError()}}  </span>
         </div>
         <div class="form-group">
-          <input class="span2" type="text" placeholder="Username" 
ng-model="login.username" name="username" required>
-          <input class="span2" type="password" placeholder="Password" 
ng-model="login.password" name="password" required>
+          <input class="span2" type="text" placeholder="Username" 
ng-model="login.username" name="username" required ss-autofill-workaround>
+          <input class="span2" type="password" placeholder="Password" 
ng-model="login.password" name="password" required ss-autofill-workaround>
           <button type="submit" class="btn btn-default btn-sm" 
id="login-button" ng-click="loginUser()" 
ng-disabled="loginForm.$invalid">Login</button>
         </div>
       </form>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/appDrtv.js 
new/halite-0.1.17/halite/lattice/app/util/appDrtv.js
--- old/halite-0.1.16/halite/lattice/app/util/appDrtv.js        2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/util/appDrtv.js        2014-05-14 
16:18:53.000000000 +0200
@@ -10,6 +10,55 @@
 
   appDrtv = angular.module("appDrtv", []);
 
+  appDrtv.directive('ssInputName', [
+    '$interpolate', function($interpolate) {
+      var ddo;
+      ddo = {
+        restrict: 'A',
+        require: ['?ngModel', '^?form'],
+        link: function($scope, elm, attrs, ctrls) {
+          var ex, formCtrl, modelCtrl, nameTransformed;
+          ex = $interpolate(elm.attr(attrs.$attr.ssInputName));
+          nameTransformed = ex($scope);
+          modelCtrl = ctrls[0];
+          modelCtrl.$name = nameTransformed;
+          elm.attr("name", nameTransformed);
+          formCtrl = ctrls[1];
+          formCtrl.$addControl(modelCtrl);
+          return true;
+        }
+      };
+      return ddo;
+    }
+  ]);
+
+
+  /*
+  Workaround so that model values are updated after autofill.
+  Please look at https://github.com/angular/angular.js/issues/1460 for
+  more details.
+   */
+
+  appDrtv.directive("ssAutofillWorkaround", [
+    "$timeout", function($timeout) {
+      var ddo;
+      ddo = {
+        restrict: 'A',
+        require: 'ngModel',
+        link: function(scope, attrs, element, modelController) {
+          $timeout(function() {
+            var preFilledValue;
+            preFilledValue = element.$$element[0].value;
+            if (modelController.$pristine && (preFilledValue != null) && 
preFilledValue !== '') {
+              return modelController.$setViewValue(preFilledValue);
+            }
+          }, 1000);
+        }
+      };
+      return ddo;
+    }
+  ]);
+
   appDrtv.directive("ssProgress", function() {
     var ddo;
     ddo = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/halite-0.1.16/halite/lattice/app/util/fetchActivesSrvc.js 
new/halite-0.1.17/halite/lattice/app/util/fetchActivesSrvc.js
--- old/halite-0.1.16/halite/lattice/app/util/fetchActivesSrvc.js       
2014-04-07 15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/util/fetchActivesSrvc.js       
2014-05-14 16:18:53.000000000 +0200
@@ -1,21 +1,69 @@
 // Generated by CoffeeScript 1.7.1
 (function() {
-  angular.module("fetchActivesSrvc", ['appConfigSrvc', 'appUtilSrvc', 
'saltApiSrvc']).factory("FetchActives", [
-    'AppData', 'Itemizer', 'SaltApiSrvc', '$q', function(AppData, Itemizer, 
SaltApiSrvc, $q) {
-      var minions, servicer;
-      if (AppData.get('minions') == null) {
-        AppData.set('minions', new Itemizer());
-      }
-      minions = AppData.get('minions');
+  angular.module("fetchActivesSrvc", ['appConfigSrvc', 'appUtilSrvc', 
'saltApiSrvc', 'jobSrvc']).factory("FetchActives", [
+    'AppData', 'Itemizer', 'SaltApiSrvc', '$q', 'JobDelegate', 
function(AppData, Itemizer, SaltApiSrvc, $q, JobDelegate) {
+      var servicer;
       servicer = {
-        fetchActives: function($scope, success, error) {
-          var cmd;
+        setActives: function(activeMinions) {
+          var inactiveMinions, mid, minion, _i, _j, _len, _len1;
+          inactiveMinions = _.difference(AppData.getMinions().keys(), 
activeMinions);
+          for (_i = 0, _len = activeMinions.length; _i < _len; _i++) {
+            mid = activeMinions[_i];
+            minion = JobDelegate.snagMinion(mid);
+            minion.activize();
+          }
+          for (_j = 0, _len1 = inactiveMinions.length; _j < _len1; _j++) {
+            mid = inactiveMinions[_j];
+            minion = JobDelegate.snagMinion(mid);
+            minion.unlinkJobs();
+            minion.deactivize();
+          }
+        },
+        assignActives: function(job) {
+          var mid, result, _i, _len, _ref, _ref1;
+          _ref = job.results.items();
+          for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+            _ref1 = _ref[_i], mid = _ref1.key, result = _ref1.val;
+            if (!result.fail) {
+              this.setActives(result["return"]);
+            }
+          }
+        },
+        fetchActives: function($scope, salt) {
+          var cmd, defer;
+          defer = $q.defer();
           cmd = {
             mode: "async",
             fun: "runner.manage.present"
           };
-          $scope.fetchActivesCmd = cmd;
-          return SaltApiSrvc.run($scope, [cmd]);
+          SaltApiSrvc.run($scope, [cmd]).success((function(_this) {
+            return function(data, status, headers, config) {
+              var job, result, _ref;
+              result = (_ref = data["return"]) != null ? _ref[0] : void 0;
+              if (result) {
+                job = JobDelegate.startRun(result, cmd);
+                if (job.done) {
+                  _this.assignActives(job);
+                  defer.resolve({
+                    'success': true
+                  });
+                  return;
+                }
+                job.commit($q).then(function(donejob) {
+                  _this.assignActives(donejob);
+                  defer.resolve({
+                    'success': true
+                  });
+                });
+              }
+            };
+          })(this)).error(function(error) {
+            salt.fetchActivesFailed();
+            defer.reject({
+              'success': false
+            });
+          });
+          return defer.promise;
         }
       };
       return servicer;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/jobSrvc.js 
new/halite-0.1.17/halite/lattice/app/util/jobSrvc.js
--- old/halite-0.1.16/halite/lattice/app/util/jobSrvc.js        2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/util/jobSrvc.js        2014-05-14 
16:18:53.000000000 +0200
@@ -7,7 +7,11 @@
  */
 
 (function() {
-  angular.module("jobSrvc", ['appUtilSrvc']).factory("JobDelegate", [
+  var jobSrvc;
+
+  jobSrvc = angular.module("jobSrvc", ['appUtilSrvc']);
+
+  jobSrvc.factory("JobDelegate", [
     'AppData', 'Itemizer', 'Wheeler', 'Jobber', 'Minioner', 'Runner', 
function(AppData, Itemizer, Wheeler, Jobber, Minioner, Runner) {
       var events, servicer;
       if (AppData.get('events') == null) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/saltApiSrvc.js 
new/halite-0.1.17/halite/lattice/app/util/saltApiSrvc.js
--- old/halite-0.1.16/halite/lattice/app/util/saltApiSrvc.js    2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/util/saltApiSrvc.js    2014-05-14 
16:18:53.000000000 +0200
@@ -25,7 +25,7 @@
 (function() {
   var saltApiSrvc;
 
-  saltApiSrvc = angular.module("saltApiSrvc", ['appConfigSrvc', 'appPrefSrvc', 
'appStoreSrvc']);
+  saltApiSrvc = angular.module("saltApiSrvc", ['appConfigSrvc', 'appPrefSrvc', 
'appStoreSrvc', 'errorReportingSrvc']);
 
   saltApiSrvc.factory("SaltApiSrvc", [
     '$http', 'Configuration', 'AppPref', 'SessionStore', function($http, 
Configuration, AppPref, SessionStore) {
@@ -178,8 +178,8 @@
    */
 
   saltApiSrvc.factory("SaltApiEvtSrvc", [
-    '$rootScope', '$http', 'AppPref', 'SessionStore', '$q', 
function($rootScope, $http, AppPref, SessionStore, $q) {
-      var base, defer, onError, onMessage, onOpen, saltApi, servicer, sse;
+    '$rootScope', '$http', 'AppPref', 'SessionStore', '$q', 'ErrorReporter', 
function($rootScope, $http, AppPref, SessionStore, $q, ErrorReporter) {
+      var base, counter, defer, onError, onMessage, onOpen, saltApi, servicer, 
sse;
       saltApi = AppPref.get('saltApi');
       if (saltApi.scheme || saltApi.host || saltApi.port) {
         if (!saltApi.scheme) {
@@ -199,7 +199,16 @@
       $http.defaults.useXDomain = true;
       defer = null;
       sse = null;
+      counter = 0;
       onError = function(event) {
+        var retries;
+        counter = counter + 1;
+        retries = AppPref.get('SseRetries') || 50;
+        if (counter > retries) {
+          ErrorReporter.addAlert('danger', "Event Stream Connection Lost! 
Please check server connection and refresh the page.");
+          servicer.close();
+          $rootScope.$apply();
+        }
         if (defer != null) {
           console.log("SSE Open Error");
           $rootScope.$apply(defer.reject("SSE Errored"));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/saltSrvc.js 
new/halite-0.1.17/halite/lattice/app/util/saltSrvc.js
--- old/halite-0.1.16/halite/lattice/app/util/saltSrvc.js       1970-01-01 
01:00:00.000000000 +0100
+++ new/halite-0.1.17/halite/lattice/app/util/saltSrvc.js       2014-05-14 
16:18:53.000000000 +0200
@@ -0,0 +1,45 @@
+// Generated by CoffeeScript 1.7.1
+
+/*
+Salt Service
+
+Exposes Salt's data model.
+
+Queries salt for minions at boot time.
+ */
+
+(function() {
+  angular.module("saltSrvc", ["saltApiSrvc", "appDataSrvc"]).factory("Salt", [
+    'FetchActives', 'AppData', function(FetchActives, AppData) {
+      var servicer;
+      servicer = {
+        boot: (function(_this) {
+          return function(successCallback, errorCallback) {
+            FetchActives.fetchActives({}, _this).then(function(status) {
+              return successCallback(servicer);
+            }, function(status) {
+              return errorCallback(_this);
+            });
+          };
+        })(this),
+        getMinions: (function(_this) {
+          return function() {
+            return AppData.getMinions();
+          };
+        })(this),
+        getJobs: (function(_this) {
+          return function() {
+            return AppData.getJobs();
+          };
+        })(this),
+        getCommands: (function(_this) {
+          return function() {
+            return AppData.getCommands();
+          };
+        })(this)
+      };
+      return servicer;
+    }
+  ]);
+
+}).call(this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/view/base.js 
new/halite-0.1.17/halite/lattice/app/view/base.js
--- old/halite-0.1.16/halite/lattice/app/view/base.js   2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/view/base.js   2014-05-14 
16:18:53.000000000 +0200
@@ -5,10 +5,16 @@
   mainApp = angular.module("MainApp");
 
   mainApp.controller('BaseController', [
-    '$scope', '$location', '$route', '$q', '$filter', '$templateCache', 
'$timeout', 'Configuration', 'AppData', 'AppPref', 'Item', 'Itemizer', 
'Minioner', 'Resulter', 'Jobber', 'ArgInfo', 'Runner', 'Wheeler', 'Commander', 
'Pagerage', 'SaltApiSrvc', 'SaltApiEvtSrvc', 'SessionStore', 'ErrorReporter', 
'HighstateCheck', 'EventDelegate', 'JobDelegate', '$filter', function($scope, 
$location, $route, $q, $filter, $templateCache, $timeout, Configuration, 
AppData, AppPref, Item, Itemizer, Minioner, Resulter, Jobber, ArgInfo, Runner, 
Wheeler, Commander, Pagerage, SaltApiSrvc, SaltApiEvtSrvc, SessionStore, 
ErrorReporter, HighstateCheck, EventDelegate, JobDelegate) {
+    '$scope', '$location', '$route', '$q', '$filter', '$templateCache', 
'$timeout', 'Configuration', 'AppData', 'AppPref', 'Item', 'Itemizer', 
'Minioner', 'Resulter', 'Jobber', 'ArgInfo', 'Runner', 'Wheeler', 'Commander', 
'Pagerage', 'SaltApiSrvc', 'SaltApiEvtSrvc', 'SessionStore', 'ErrorReporter', 
'HighstateCheck', 'EventDelegate', 'JobDelegate', 'FetchActives', 'Salt', 
'$filter', function($scope, $location, $route, $q, $filter, $templateCache, 
$timeout, Configuration, AppData, AppPref, Item, Itemizer, Minioner, Resulter, 
Jobber, ArgInfo, Runner, Wheeler, Commander, Pagerage, SaltApiSrvc, 
SaltApiEvtSrvc, SessionStore, ErrorReporter, HighstateCheck, EventDelegate, 
JobDelegate, FetchActives, Salt) {
       $scope.getAppData = function() {
         return AppData;
       };
+      $scope.getSalt = function() {
+        return Salt;
+      };
+      $scope.getFetchActives = function() {
+        return FetchActives;
+      };
       $scope.getCommands = function() {
         return AppData.getCommands();
       };
@@ -118,6 +124,11 @@
           result = (_ref = data["return"]) != null ? _ref[0] : void 0;
           if (result) {
             job = JobDelegate.startRun(result, cmd);
+            if (job.done) {
+              $scope.assignActives(job);
+              $scope.$broadcast("Marshall");
+              return;
+            }
             job.commit($q).then(function(donejob) {
               $scope.assignActives(donejob);
               return $scope.$broadcast("Marshall");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/view/console.js 
new/halite-0.1.17/halite/lattice/app/view/console.js
--- old/halite-0.1.16/halite/lattice/app/view/console.js        2014-04-07 
15:52:25.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/app/view/console.js        2014-05-14 
16:18:53.000000000 +0200
@@ -266,6 +266,36 @@
             return this.parameters.pop();
           }
         },
+        buildArgs: function() {
+
+          /*
+          Build the arg array to be consumed by the server
+           */
+          var arg, i, item, j, offset, reqArgsLen, ret, _i, _j, _len, _len1, 
_ref, _ref1;
+          ret = [];
+          reqArgsLen = 0;
+          if ($scope.command.requiredArgs != null) {
+            reqArgsLen = $scope.command.requiredArgs.length;
+            _ref = $scope.command.requiredArgs;
+            for (j = _i = 0, _len = _ref.length; _i < _len; j = ++_i) {
+              item = _ref[j];
+              ret.push(this.cmd.arg[j]);
+            }
+          }
+          if ($scope.defaultVals != null) {
+            _ref1 = $scope.defaultVals;
+            for (i = _j = 0, _len1 = _ref1.length; _j < _len1; i = ++_j) {
+              arg = _ref1[i];
+              offset = reqArgsLen + i;
+              if (this.cmd.arg[offset] != null) {
+                ret.push(this.cmd.arg[offset]);
+              } else {
+                ret.push(arg);
+              }
+            }
+          }
+          return ret;
+        },
         getArgs: function() {
           var arg;
           return (function() {
@@ -288,7 +318,7 @@
               {
                 fun: this.cmd.fun,
                 mode: this.cmd.mode,
-                arg: this.getArgs()
+                arg: this.buildArgs()
               }
             ];
           } else {
@@ -297,7 +327,7 @@
                 fun: this.cmd.fun,
                 mode: this.cmd.mode,
                 tgt: this.cmd.tgt !== "" ? this.cmd.tgt : "",
-                arg: this.getArgs(),
+                arg: this.buildArgs(),
                 expr_form: this.cmd.expr_form
               }
             ];
@@ -415,6 +445,7 @@
           }
           return true;
         }).error(function(data, status, headers, config) {
+          ErrorReporter.addAlert('warning', data.error);
           return $scope.commanding = false;
         });
       };
@@ -491,7 +522,7 @@
       $scope.commandArgs = [];
       $scope.fillCommandArgs = function() {
         $scope.commandArgs = [];
-        $scope.command.cmd.arg = [""];
+        $scope.command.cmd.arg = [null];
         _.each($scope.command.requiredArgs, function(arg) {
           return $scope.commandArgs.push(new ArgInfo(arg, true));
         });
@@ -546,6 +577,7 @@
                 }
                 return _results;
               })();
+              defaults.reverse();
               defaults_vals = (function() {
                 var _i, _len, _ref1, _results;
                 _ref1 = info.defaults;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/halite-0.1.16/halite/lattice/lib/angular/angular-csp.css 
new/halite-0.1.17/halite/lattice/lib/angular/angular-csp.css
--- old/halite-0.1.16/halite/lattice/lib/angular/angular-csp.css        
2014-04-02 04:53:54.000000000 +0200
+++ new/halite-0.1.17/halite/lattice/lib/angular/angular-csp.css        
1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-/* Include this file in your html if you are using the CSP mode. */
-
-@charset "UTF-8";
-
-[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
-.ng-cloak, .x-ng-cloak,
-.ng-hide {
-  display: none !important;
-}
-
-ng\:form {
-  display: block;
-}
-
-/* The styles below ensure that the CSS transition will ALWAYS
- * animate and close. A nasty bug occurs with CSS transitions where
- * when the active class isn't set, or if the active class doesn't
- * contain any styles to transition to, then, if ngAnimate is used,
- * it will appear as if the webpage is broken due to the forever hanging
- * animations. The clip (!ie) and zoom (ie) CSS properties are used
- * since they trigger a transition without making the browser
- * animate anything and they're both highly underused CSS properties */
-.ng-animate-start { clip:rect(0, auto, auto, 0); -ms-zoom:1.0001; }
-.ng-animate-active { clip:rect(-1px, auto, auto, 0); -ms-zoom:1; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite/server_bottle.py 
new/halite-0.1.17/halite/server_bottle.py
--- old/halite-0.1.16/halite/server_bottle.py   2014-04-02 04:53:54.000000000 
+0200
+++ new/halite-0.1.17/halite/server_bottle.py   2014-05-14 16:15:22.000000000 
+0200
@@ -237,6 +237,9 @@
         client = salt.client.api.APIClient(opts)
         try:
             results = [client.run(tokenify(cmd, token)) for cmd in cmds]
+            if not results[0]:
+                bottle.response.status = 404
+                return {'error': 'Failed to run command: {0} on target: 
{1}'.format(str(cmds[0]['fun']), str(cmds[0]['tgt']))}
         except EauthAuthenticationError as ex:
             bottle.abort(code=401, text=repr(ex))
         except Exception as ex:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite.egg-info/PKG-INFO 
new/halite-0.1.17/halite.egg-info/PKG-INFO
--- old/halite-0.1.16/halite.egg-info/PKG-INFO  2014-04-07 16:29:08.000000000 
+0200
+++ new/halite-0.1.17/halite.egg-info/PKG-INFO  2014-05-14 16:42:55.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: halite
-Version: 0.1.16
+Version: 0.1.17
 Summary: SaltStack Web UI
 Home-page: https://github.com/saltstack/halite
 Author: SaltStack Inc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/halite.egg-info/SOURCES.txt 
new/halite-0.1.17/halite.egg-info/SOURCES.txt
--- old/halite-0.1.16/halite.egg-info/SOURCES.txt       2014-04-07 
16:29:08.000000000 +0200
+++ new/halite-0.1.17/halite.egg-info/SOURCES.txt       2014-05-14 
16:42:56.000000000 +0200
@@ -33,6 +33,7 @@
 halite/lattice/app/util/highstateCheckSrvc.js
 halite/lattice/app/util/jobSrvc.js
 halite/lattice/app/util/saltApiSrvc.js
+halite/lattice/app/util/saltSrvc.js
 halite/lattice/app/view/base.js
 halite/lattice/app/view/console.html
 halite/lattice/app/view/console.js
@@ -44,7 +45,6 @@
 halite/lattice/lib/angular/angular-animate.min.js.map
 halite/lattice/lib/angular/angular-cookies.min.js
 halite/lattice/lib/angular/angular-cookies.min.js.map
-halite/lattice/lib/angular/angular-csp.css
 halite/lattice/lib/angular/angular-loader.js
 halite/lattice/lib/angular/angular-loader.min.js
 halite/lattice/lib/angular/angular-loader.min.js.map
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/halite-0.1.16/setup.py new/halite-0.1.17/setup.py
--- old/halite-0.1.16/setup.py  2014-04-07 15:49:24.000000000 +0200
+++ new/halite-0.1.17/setup.py  2014-05-14 16:15:22.000000000 +0200
@@ -32,7 +32,7 @@
 pkg_files = ['lattice/{0}'.format(x) for x in pkg_files]
 setup(
     name = 'halite',
-    version = '0.1.16',
+    version = '0.1.17',
     description = 'SaltStack Web UI',
     url = 'https://github.com/saltstack/halite',
     author='SaltStack Inc',

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to