show error messages when refreshing nodes
[sface.git] / sface / screens / mainscreen.py
index 43e3e31..0452161 100644 (file)
@@ -355,21 +355,29 @@ class SliceWidget(QWidget):
         else:
             self.setStatus("<font color='red'>Slice submit failed: %s</font>" % (faultString))
 
-        # no need to do that anymore
-        # QTimer.singleShot(1000, self.refresh)
         self.updateView()
         self.parent().signalAll("rspecUpdated")
 
     def refreshResourcesFinished(self):
         self.disconnect(self.process, SIGNAL('finished()'), self.refreshResourcesFinished)
 
-        self.setStatus("Refreshing slice RSpec.")
-        self.connect(self.process, SIGNAL('finished()'), self.refreshRSpecFinished)
-        self.process.retrieveRspec()
+        faultString = self.process.getFaultString()
+        if not faultString:
+            self.setStatus("Refreshing slice RSpec.")
+            self.connect(self.process, SIGNAL('finished()'), self.refreshRSpecFinished)
+            self.process.retrieveRspec()
+        else:
+            self.setStatus("<font color='red'>Resources refresh failed: %s</font>" % (faultString))
 
     def refreshRSpecFinished(self):
         self.disconnect(self.process, SIGNAL('finished()'), self.refreshRSpecFinished)
-        self.setStatus("<font color='green'>Slice data refreshed.</font>", timeout=5000)
+
+        faultString = self.process.getFaultString()
+        if not faultString:
+            self.setStatus("<font color='green'>Slice data refreshed.</font>", timeout=5000)
+        else:
+            self.setStatus("<font color='red'>Slice refresh failed: %s</font>" % (faultString))
+
         self.updateView()
         self.parent().signalAll("rspecUpdated")